Model Context Protocol (MCP) is a new, standardized protocol for managing context between large language models (LLMs) and external systems. In this repository, we provide an installer as well as an MCP Server for Cloudflare's API.
This lets you use Claude Desktop, or any MCP Client, to use natural language to accomplish things on your Cloudflare account, e.g.:
Please deploy me a new Worker with an example durable object.Can you tell me about the data in my D1 database named '...'?Can you copy all the entries from my KV namespace '...' into my R2 bucket '...'?
Open Claude Desktop and navigate to Settings -> Developer -> Edit Config. This opens the configuration file that controls which MCP servers Claude can access.
Replace the content with the following configuration. Once you restart Claude Desktop, a browser window will open showing your OAuth login page. Complete the authentication flow to grant Claude access to your MCP server. After you grant access, the tools will become available for you to use.
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-cloudflare-staging.r.workers.dev/sse"
]
}
}
}
Some features in this MCP server require a paid Cloudflare Workers plan:
- Observability: The prefixed
worker_logs_tools require a paid Workers plan to access these metrics
Ensure your Cloudflare account has the necessary subscription level for the features you intend to use.
worker_list: List all Workers in your accountworker_get_worker: Get a Worker's script content
worker_logs_by_worker_name: Analyze recent logs for a Cloudflare Worker by worker nameworker_logs_by_ray_id: Analyze recent logs across all workers for a specific request by Cloudflare Ray IDworker_logs_keys: Get available telemetry keys for a Cloudflare Worker
- workers-observability: The Workers Observability MCP server
- eslint-config: Eslint config used by all apps and packages.
- typescript-config: tsconfig used by all apps and packages.
- mcp-common: Shared common tools and scripts to help manage this repo.
For more details on development in this monorepo, take a look at apps/workers-observability
The project uses Vitest as the testing framework with MSW (Mock Service Worker) for API mocking.
To run all tests:
pnpm testTo run a specific test file:
pnpm test -- tests/tools/queues.test.tsTo run tests in watch mode (useful during development):
pnpm test:watchVisit https://www.npmjs.com/package/@cloudflare/mcp-server-cloudflare
Contributions are welcome! Please feel free to submit a Pull Request.