Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add fortrabbit/agent-skills --skill fortrabbit-api-accessgit clone --depth 1 https://github.com/fortrabbit/agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fortrabbit/agent-skills/fortrabbit-api-access)<a href="https://agentmods.dev/skills/fortrabbit/agent-skills/fortrabbit-api-access"><img src="https://agentmods.dev/badge/skills/fortrabbit/agent-skills/fortrabbit-api-access/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/fortrabbit/agent-skills/fortrabbit-api-access"><img src="https://agentmods.dev/badge/skills/fortrabbit/agent-skills/fortrabbit-api-access.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00223 | $0.04080 |
| Opus 5 | $0.00112 | $0.02040 |
| Sonnet 5 | $0.00045 | $0.00816 |
| Haiku 4.5 | $0.00022 | $0.00408 |
Grade C, and why
fortrabbit-api-access scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Harvests environment variableshighData exfiltration
Enumerating or grepping the environment for keys collects credentials unrelated to what the mod says it does.
printenv FORTRABBIT_API_TOKEN Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`curl` is used for REST examples. Designed for Claude Code; works with any How it starts
The opening of the file, as written. The whole thing — 342 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You connect an agent to fortrabbit so it can use the MCP server (/mcp) or
the Public API (/v1) on the user's behalf.
There are two ways in. Pick by what the user is connecting:
| Situation | Path |
|---|---|
| An MCP client (Claude Code, Codex, Cursor) needs the fortrabbit MCP server | OAuth install — Step 1. No token, no secret handling. |
A script, CI job, or curl needs the /v1 REST API |
Public API token — Step 3. |
| An MCP client with no OAuth support | Public API token — Step 3, configured as a Bearer header. |
| The MCP server has no tool for the operation | frbit CLI — Step 5. Fall back to a token and curl only if the CLI cannot be installed. |
Default to OAuth. Only reach for a token when OAuth cannot apply.
Step 1 — Install the MCP server via OAuth (preferred)
One command. The client opens a browser, the user approves, and the client stores the credentials itself. The agent never sees, handles, or stores a token in this flow.
Claude Code:
claude mcp add --transport http fortrabbit https://mcp.fortrabbit.com/mcp
OpenAI Codex — Codex does not publish a Client ID Metadata Document, so it must be given the client ID explicitly:
codex mcp add fortrabbit --url https://mcp.fortrabbit.com/mcp --oauth-client-id https://api.fortrabbit.com/.well-known/oauth-client/codex
After running it, tell the user to complete the browser approval, then verify by
calling the get_you tool — it returns the account the connection authenticates
as.
What happens under the hood (useful for diagnosing, not for reimplementing):
- The first unauthenticated request gets a
401carryingWWW-Authenticate: Bearer resource_metadata="https://api.fortrabbit.com/.well-known/oauth-protected-resource/mcp". The client follows that to the discovery documents and starts the flow. - Authorization code + PKCE (
S256), no client secret, singlemcpscope. - The server issues a short-lived opaque
frbit-mcp-at-access token (1 hour) and a rotatingfrbit-mcp-rt-refresh token. The client refreshes silently. - There is no dynamic client registration. Clients identify themselves with
a Client ID Metadata Document. Do not look for or configure a
registration_endpoint— its absence is deliberate.
Never try to mint, read, or hand-edit frbit-mcp-at- / frbit-mcp-rt-
tokens. They are opaque, short-lived, and managed by the client. If auth
breaks, re-run the install command rather than manufacturing a credential.
To disconnect, remove the server in the client (e.g. claude mcp remove fortrabbit). That drops the credentials the client stored, but does not
revoke the grant server-side. Server-side revocation
(DELETE /you/connected-apps/{publicId}) is session-authenticated — it needs a
logged-in browser session and is not reachable with an API token, so neither an
agent nor curl can perform it. Direct the user to do it in the dashboard.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed · +42 lines · +65 tokens per session 4756bcdbfdc7
- 8d ago First seen · 300 lines · 158 tokens per session scan C 51412f78083d
fortrabbit-api-access is a skill published in the GitHub repository fortrabbit/agent-skills (4 stars, last pushed 5d ago), licensed MIT. It adds 223 tokens to every session and 4,080 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it C with 2 findings (harvests environment variables, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
pinme-uniwebpay
Use when generating, modifying, or reviewing PinMe Worker (Cloudflare Worker TypeScript) code that accepts payments through UniwebPay — payment links, products/prices, checkout sessions, payment status reads, refunds, subscriptions, or handling UniwebPay webhooks with @uniwebpay/sdk in a PinMe project.
pinme-auth
Use when a PinMe project (Worker TypeScript) needs to integrate user authentication — creating email/password users, verifying idtokens, querying user info, or listing users via Identity Platform auth proxy APIs.
pinme-llm
Use this skill when a PinMe project (Worker TypeScript) needs to call OpenRouter-backed LLM APIs, including models, chat/completions, streaming, or OpenRouter web search. Guides AI to generate correct Worker TS code.
pinme-email
Use this skill when a PinMe project (Worker TypeScript) needs to integrate email sending (sendemail). Guides AI to generate correct Worker TS code.
doris-debug-deployment
Use for Doris FE/BE startup failures, port conflicts, prioritynetworks misrouting, metadir corruption, and ADD/DROP BACKEND issues.
express-production
Production-ready Express.js development covering middleware architecture, error handling, security hardening, testing strategies, and deployment patterns.