Remote MCP Server on Cloudflare
@Niell007
Overview
What is Remote MCP Server on Cloudflare?
A guide and template for deploying a remote MCP (Model Context Protocol) server on Cloudflare Workers with OAuth login. It is intended for developers who want to host MCP servers that can be accessed remotely by MCP clients like Claude Desktop.
How to use Remote MCP Server on Cloudflare?
Clone the repository, install dependencies, and run locally with npx nx dev remote-mcp-server. Connect the MCP Inspector by selecting SSE transport and entering http://localhost:8787/sse as the server URL. For Claude Desktop, configure the MCP server with npx mcp-remote http://localhost:8787/sse. Deploy to Cloudflare using npm run deploy after creating a KV namespace.
Key features of Remote MCP Server on Cloudflare
- Runs on Cloudflare Workers for global deployment.
- Includes OAuth login for authentication.
- Uses SSE (Server-Sent Events) transport.
- Supports local development with MCP Inspector.
- Integrates directly with Claude Desktop.
- Stores OAuth state in Cloudflare KV.
Use cases of Remote MCP Server on Cloudflare
- Host custom MCP tools securely on the internet.
- Let Claude Desktop call remote tools via OAuth login.
- Test MCP server logic locally before production deployment.
- Provide a public MCP endpoint for multiple clients.
FAQ from Remote MCP Server on Cloudflare
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 your browser.
What transport does the server use?
The server uses SSE (Server-Sent Events). Connect clients to /sse endpoint.
How do I connect Claude Desktop to my remote server?
Add a configuration entry to Claude's config file using npx mcp-remote https://your-worker.workers.dev/sse as the command and args.
How do I deploy to Cloudflare?
First create a KV namespace with npx wrangler kv namespace create OAUTH_KV, add the namespace ID to wrangler.jsonc, then run npm run deploy.
How can I debug connection issues?
Restart Claude, or test directly with npx mcp-remote http://localhost:8787/sse. If needed, clear cached auth files with rm -rf ~/.mcp-auth.