workers-mcp
Talk to a Cloudflare Worker from Claude Desktop! for the Model Context Protocol. Enhance AI assistants with powerful integrations. TypeScript-based implementati
Documentation
`workers-mcp`
> Talk to a Cloudflare Worker from Claude Desktop!
> [!WARNING]
> You should start here instead — and build a remote MCP server
>
> You can connect to remote MCP servers from Claude Desktop, Cursor, and other clients using mcp-remote.
What is `workers-mcp`?
This package provides both the CLI tooling and the in-Worker logic to connect Claude Desktop (or any MCP Client) to a Cloudflare Worker on your account, so you can customise it to suit your needs. It works via a build step that can translate TypeScript methods of your Worker like this:
export class ExampleWorkerMCP extends WorkerEntrypoint {
/**
* Generates a random number. This is extra random because it had to travel all the way to
* your nearest Cloudflare PoP to be calculated which... something something lava lamps?
*
* @return {string} A message containing a super duper random number
* */
async getRandomNumber() {
return `Your random number is ${Math.random()}`
}
// ...etc
}...into MCP tools that a local Node.js server can expose to MCP clients. The Node.js server acts as a proxy, handling stdio transport locally, and calling the relevant method of your Worker running on Cloudflare. This allows you to expose any function or API in your app, or any service in Cloudflare's developer platform, back to a LLM in your coding agent, Claude Desktop or other MCP client.
> Yes, I know that `Math.random()` works the same on a Worker as it does on your local machine, but don't tell Claude 🤫
Usage
Step 1: Generate a new Worker
Use `create-cloudflare` to generate a new Worker.
npx create-cloudflare@latest my-new-workerI suggest choosing a `Hello World` worker.
Step 2: Install `workers-mcp`
cd my-new-worker # I always forget this bit
npm install workers-mcpStep 3: Run the `setup` command
npx workers-mcp setupNote: if something goes wrong, run `npx workers-mcp help`
Step 4..♾️: Iterating
After changing your Worker code, you only need to run `npm run deploy` to update both Claude's metadata about your function and your live Worker instance.
However, if you change the names of your methods, or their parameters, or add or remove methods, Claude will not see the updates until you restart it.
You shouldn't ever need to rerun `npx workers-mcp install:claude`, but it's safe to do so if you want to rule out Claude config as a source of errors.
Using with Other MCP Clients
Cursor
To get your Cloudflare MCP server working in Cursor, you need to combine the 'command' and 'args' from your config file into a single string and use type 'command'.
For example, if your config file looks like:
{
"mcpServers": {
"your-mcp-server-name": {
"command": "/path/to/workers-mcp",
"args": [
"run",
"your-mcp-server-name",
"https://your-server-url.workers.dev",
"/path/to/your/project"
],
"env": {}
}
}
}In Cursor, create an MCP server entry with:
- type: `command`
- command: `/path/to/workers-mcp run your-mcp-server-name https://your-server-url.workers.dev /path/to/your/project`
Other MCP Clients
For Windsurf and other MCP clients, update your configuration file to include your worker so you could use the tools directly from the client:
{
"mcpServers": {
"your-mcp-server-name": {
"command": "/path/to/workers-mcp",
"args": [
"run",
"your-mcp-server-name",
"https://your-server-url.workers.dev",
"/path/to/your/project"
],
"env": {}
}
}
}Make sure to replace the placeholders with your actual server name, URL, and project path.
Examples
See the `examples` directory for a few ideas of what to use this for:
- `examples/01-hello-world` is a snapshot taken after the installation instructions above
- `examples/02-image-generation` uses Workers AI to run the Flux image generation model. Claude is really good at suggesting prompts and can actually interpret the outcome and decide what new prompts to try to achieve the outcome you want.
- TODO Browser Rendering
- TODO Durable Objects
Frequently asked questions
What is workers-mcp?
workers-mcp is Talk to a Cloudflare Worker from Claude Desktop! for the Model Context Protocol. Enhance AI assistants with powerful integrations. TypeScript-based implementati
How do I install workers-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is workers-mcp open source?
Yes — it is hosted on GitHub at https://github.com/cloudflare/workers-mcp and has 603 stars.
Related MCP tools
Agent-MCP is a framework for creating multi-agent systems that enables coordinated, efficient AI collaboration through the Model Context Protocol (MCP).
🚀MCP server for accessing RedNote(XiaoHongShu, xhs). TypeScript-based implementation. Trusted by 800+ developers. Trusted by 800+ developers.
AI agent expert in PostgreSQL for the Model Context Protocol. Enhance AI assistants with powerful integrations. TypeScript-based implementation.
A framework for writing MCP (Model Context Protocol) servers in Typescript Trusted by 800+ developers. Trusted by 800+ developers.
A Unified MCP Server Management App TypeScript-based implementation. Trusted by 800+ developers. Trusted by 800+ developers.
Allow AI to wade through complex OpenAPIs using Simple Language for the Model Context Protocol. Enhance AI assistants with powerful integrations.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP