概要
What is Remote MCP Server on Cloudflare?
A guide and template to set up a remote MCP (Model Context Protocol) server on Cloudflare Workers with OAuth login. It provides a complete setup for running an MCP server that can be connected to from local or remote MCP clients, including Claude Desktop.
How to use Remote MCP Server on Cloudflare?
Clone the repository, install dependencies with npm install, run locally with npx nx dev remote-mcp-server, then deploy using npm run deploy after creating an OAUTH_KV namespace via npx wrangler kv namespace create OAUTH_KV. Connect via MCP Inspector (SSE at /sse) or configure Claude Desktop with npx mcp-remote http(s)://.../sse.
Key features of Remote MCP Server on Cloudflare
- Deploy a remote MCP server on Cloudflare Workers
- OAuth login for secure access
- SSE transport for real-time communication
- Works with MCP Inspector and Claude Desktop
- Local development with hot-reload via Nx
Use cases of Remote MCP Server on Cloudflare
- Run an MCP server that is accessible over the internet
- Connect Claude Desktop to a remote MCP server
- Develop and test MCP tools locally before deploying
- Integrate custom tools with Cloudflare’s edge network
FAQ from Remote MCP Server on Cloudflare
How do I deploy the server to Cloudflare?
Run npx wrangler kv namespace create OAUTH_KV to create an OAuth KV namespace, add its ID to wrangler.jsonc, then run npm run deploy.
How do I connect Claude Desktop to my remote MCP server?
Update your Claude Desktop config file to use npx mcp-remote with the full workers.dev URL ending in /sse. Restart Claude to see the tools.
How can I debug connection issues?
Use npx mcp-remote http://localhost:8787/sse to test the connection directly. If problems persist, clear the ~/.mcp-auth directory with rm -rf ~/.mcp-auth.
What transport protocol does the server use?
The server uses Server-Sent Events (SSE) at the /sse endpoint for communication with MCP clients.
Where is OAuth data stored?
OAuth data is stored in a Cloudflare KV namespace (OAUTH_KV) that must be created before deployment.