cloudflare/mcp is an MCP server that lets coding agents interact with Cloudflare's API through a standardized interface. It is used to automate Cloudflare account and service operations, with authentication handled through OAuth or API tokens. The catalogue entries provide instructions for using the server.
Borrowing it
Nothing to install: this file belongs to cloudflare/mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/cloudflare/mcp/main/AGENTS.mdgit clone --depth 1 https://github.com/cloudflare/mcpWrote 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/instructions/cloudflare/mcp/agents-md)<a href="https://agentmods.dev/instructions/cloudflare/mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/cloudflare/mcp/agents-md/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/instructions/cloudflare/mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/cloudflare/mcp/agents-md.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.09705 | $0.09705 |
| Opus 5.5 | $0.03882 | $0.03882 |
| Sonnet 5.5 | $0.01941 | $0.01941 |
| Haiku 4.5 | $0.00971 | $0.00971 |
Grade A, and why
mcp AGENTS.md scanned grade A with 0 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 373 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Project overview
cloudflare-mcp is a token-efficient Model Context Protocol (MCP) server that exposes the entire Cloudflare API (~2,500 endpoints) using Cloudflare's Code Mode pattern. Instead of registering thousands of MCP tools, it uses just two tools (search and execute) that let agents write JavaScript to query the OpenAPI spec and call APIs — fitting all 2,500 endpoints into ~1,000 tokens.
Production URL: mcp.cloudflare.com
MCP specification compliance
When modifying MCP or OAuth functionality, always check the latest published MCP specification:
- Specification: https://modelcontextprotocol.io/specification/2026-07-28
- Authorization section: https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization
Repository structure
cloudflare-mcp/
├── src/
│ ├── index.ts # Worker entry point & OAuth routing
│ ├── mcp-handler.ts # Stateless MCP HTTP handler & deployment guards
│ ├── server.ts # MCP server setup & tool registration
│ ├── events/ # Stateless MCP Events mapping to ANS policies and Vega automations
│ ├── executor.ts # Code executor (Worker Loader API)
│ ├── spec-processor.ts # OpenAPI spec fetching & $ref resolution
│ ├── truncate.ts # Response truncation (~6K token limit)
│ ├── response-schema-check.ts # Validates a body against generated response schemas; value-free violations
│ ├── response-validation.ts # checkResponse(): sampling, trimming, waitUntil, mismatch events
│ ├── metrics.ts # Analytics Engine metrics (auth_user/tool_call)
│ ├── skills/
│ │ ├── types.ts # Skills extension wire + R2 manifest schemas (Zod)
│ │ ├── tar.ts # Minimal tar reader for the GitHub archive
│ │ ├── bundle.ts # Skill validation, frontmatter, digests
│ │ ├── sync.ts # Six-hourly incremental cloudflare/skills → R2 sync
│ │ └── handlers.ts # skills/list, skills/get, resources/* handlers
│ ├── api-permissions.ts # Connection kinds; authorize(): may a connection use an endpoint
│ ├── api-refusals.ts # Decides which Cloudflare answers are refusals; reviews execute responses
│ ├── scope-challenge.ts # Per-request insufficient_scope step-up challenge
│ ├── clients.ts # Known MCP clients that deviate from the spec, and their behavior
│ ├── generated/forge-mcp/ # Direct tools generated by forge (?codemode=false&experimentalForge=true); never edit by hand
│ ├── forge-tools/ # Forge tools service (worker.ts), call planning, Cloudflare policy
│ ├── auth/
│ │ ├── types.ts # Auth props schemas (Zod discriminated union)
│ │ ├── api-token-mode.ts # Prefix classification & external resolver
│ │ ├── cloudflare-identity.ts # Owner-aware Cloudflare API identity probes
│ │ ├── cloudflare-auth.ts # PKCE & OAuth utilities
│ │ ├── oauth-handler.ts # OAuth authorization flow
│ │ ├── refresh-admission-gate.ts # Best-effort per-grant KV refresh admission
│ │ ├── derived-oauth-scopes.ts # Canonical production OAuth scope API metadata
│ │ ├── scopes.ts # Consent templates and OAuth bootstrap scopes
│ │ └── workers-oauth-utils.ts # OAuth provider helpers
├── tests/ # Vitest suite (top-level, mirrors src/)
│ ├── setup/msw.ts # Global MSW server, the only outbound fetch mock
│ ├── helpers/ # KV/R2/spec fixtures, MCP and OAuth helpers
│ ├── auth/
│ ├── skills/
│ ├── worker.test.ts # Real worker end to end via exports.default.fetch
│ └── *.test.ts
├── scripts/
│ ├── seed-r2.ts # Seed OpenAPI spec to R2 bucket
│ ├── generate-tools.ts # Regenerate src/generated/forge-mcp with forge
│ ├── schema-mismatch-report.ts # Response schema mismatches by product, for teams
│ └── bench-response-validation.ts # Cost of response schema checks on the generated schemas
├── forge.json # The forge commit that generates src/generated/forge-mcp
├── .github/workflows/
│ ├── ci.yml # PR validation
│ ├── forge-tools.yml # Six-hourly regeneration PR for src/generated/forge-mcp
│ └── bonk.yml # AI code review
├── wrangler.jsonc # Workers config (dev/staging/prod)
├── wrangler.forge-tools.jsonc # Forge tools service config (dev/staging/prod)
├── .oxfmtrc.json # oxfmt formatter config
└── README.md
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 · +1 lines · +406 tokens per session bca4c4f6eda5
- 5d ago Changed · +19 lines · +1,193 tokens per session 4b6261326c28
- 6d ago Changed · +33 lines · +2,031 tokens per session 7dded5179f34
- 7d ago Changed · +33 lines · +1,261 tokens per session a704fc42b63f
- 13d ago Changed · +51 tokens per session c23087b590ef
- 14d ago Changed · +15 lines · +377 tokens per session 3dccd1223945
- 17d ago Changed · +17 lines · +712 tokens per session e3f746f52f77
- 18d ago Changed · +67 tokens per session d9b1f2f69195
- 19d ago Changed · +2 lines · +106 tokens per session f72f108bee9c
- 20d ago First seen · 253 lines · 3,501 tokens per session scan A 16d301c2be8a
mcp AGENTS.md is an instructions file published in the GitHub repository cloudflare/mcp (1,009 stars, last pushed today), licensed Apache-2.0. It adds 9,705 tokens to every session, about $0.0388 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.