Remote MCP Server on Cloudflare
@fjrdomingues
Overview
What is Remote MCP Server on Cloudflare?
A guide to get a remote MCP server running on Cloudflare Workers with OAuth login, enabling secure tool execution over HTTP. It is intended for developers who want to deploy and test MCP servers on Cloudflare’s edge.
How to use Remote MCP Server on Cloudflare?
Clone the repository, install dependencies with npm install, and run locally with npx nx dev remote-mcp-server. For deployment, create a KV namespace via npx wrangler kv namespace create OAUTH_KV, add its ID to wrangler.jsonc, then run npm run deploy. Connect clients such as the MCP Inspector (via SSE at /sse) or Claude Desktop (using a proxy with npx mcp-remote and the server’s URL).
Key features of Remote MCP Server on Cloudflare
- Local development with hot reload (
npx nx dev) - OAuth login for secure access
- SSE (Server-Sent Events) transport
- Deploy to Cloudflare Workers edge
- Connect via MCP Inspector or Claude Desktop
- Uses Cloudflare KV for OAuth state
Use cases of Remote MCP Server on Cloudflare
- Run a remote math tool accessible from Claude Desktop
- Test an MCP server locally with the MCP Inspector
- Deploy a production MCP server on Cloudflare Workers
- Integrate a custom tool with Claude via a remote proxy
FAQ from Remote MCP Server on Cloudflare
What transport protocol does the server use?
The server uses SSE (Server-Sent Events) transport, accessed at the /sse endpoint.
How do I run the server locally?
Clone the repo, run npm install, then npx nx dev remote-mcp-server. Open http://localhost:8787/ in a browser.
How do I deploy the server to Cloudflare?
Create a KV namespace with npx wrangler kv namespace create OAUTH_KV, add its ID to wrangler.jsonc, then run npm run deploy.
How do I connect Claude Desktop to the server?
In Claude Desktop’s config, add a server entry using npx mcp-remote as the command with the server’s /sse URL (e.g., https://worker-name.account-name.workers.dev/sse).
What should I do if something goes wrong?
Restart Claude, or try connecting directly with npx mcp-remote <URL>. In rare cases, clear the files in ~/.mcp-auth using rm -rf ~/.mcp-auth.