workers-mcp

MCP.Pizza Chef: cloudflare

workers-mcp is an MCP server package that enables seamless communication between Claude Desktop (and other MCP clients) and Cloudflare Workers. It provides CLI tooling and in-Worker logic to expose TypeScript methods from your Cloudflare Worker, allowing you to customize serverless functions as MCP endpoints. This setup leverages Cloudflare's global network for low-latency, scalable execution of your MCP server logic. It supports building remote MCP servers accessible from various clients, enhancing real-time AI workflows with serverless cloud functions.

Use This MCP server To

Expose Cloudflare Worker functions as MCP server endpoints Customize serverless logic for AI model interactions Connect Claude Desktop to Cloudflare Workers Build remote MCP servers on Cloudflare's edge network Run scalable, low-latency MCP servers globally Integrate custom TypeScript methods into MCP workflows

README

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<Env> {
  /**
   * 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.

image

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-worker

I suggest choosing a Hello World worker.

Step 2: Install workers-mcp

cd my-new-worker # I always forget this bit
npm install workers-mcp

Step 3: Run the setup command

npx workers-mcp setup

Note: 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

workers-mcp FAQ

How do I deploy workers-mcp on Cloudflare?
Use the provided CLI tooling to build and deploy your TypeScript MCP server code as a Cloudflare Worker on your account.
Can workers-mcp be used with MCP clients other than Claude Desktop?
Yes, it supports any MCP client that can connect to remote MCP servers, including Cursor and others.
Is workers-mcp suitable for building remote MCP servers?
Yes, it is designed to build remote MCP servers accessible from various clients via the mcp-remote protocol.
How does workers-mcp handle TypeScript methods?
It translates your Worker’s TypeScript methods into MCP server endpoints during a build step.
What are the latency benefits of using workers-mcp?
It runs on Cloudflare’s global PoPs, providing low-latency execution close to users worldwide.
Does workers-mcp support secure and scoped model interactions?
Yes, it inherits MCP’s principles for secure, scoped, and observable model interaction.
Can I customize the MCP server logic in workers-mcp?
Absolutely, you can tailor the Worker’s TypeScript methods to fit your specific MCP server needs.
Where can I find documentation to get started with workers-mcp?
Start at the Cloudflare Agents guide for remote MCP servers linked in the GitHub README.