Remote MCP Server on Cloudflare
@jongan69
Overview
What is Remote MCP Server on Cloudflare?
This project provides a template to run a remote MCP (Model Context Protocol) server on Cloudflare Workers, complete with OAuth login for authentication. It is intended for developers who want to expose MCP tools over the internet with a secure login flow.
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. Deploy to Cloudflare using npm run deploy after creating a KV namespace with npx wrangler kv namespace create OAUTH_KV and configuring it in wrangler.jsonc.
Key features of Remote MCP Server on Cloudflare
- Runs on Cloudflare Workers with OAuth login.
- Uses SSE (Server-Sent Events) transport for MCP.
- Works with MCP Inspector for testing tools.
- Connects to Claude Desktop via
mcp-remote. - Simple deployment with
npm run deploy.
Use cases of Remote MCP Server on Cloudflare
- Hosting custom MCP tools accessible from any MCP client.
- Providing a remote math tool that Claude Desktop can invoke.
- Building and testing MCP servers locally before deploying globally.
FAQ from Remote MCP Server on Cloudflare
How do I run the MCP server locally?
Run npx nx dev remote-mcp-server from the project root, then open http://localhost:8787/ in your browser.
How do I test the server with MCP Inspector?
Start the inspector with npx @modelcontextprotocol/inspector, set Transport Type to SSE, enter http://localhost:8787/sse as the URL, and log in with any email/password.
How do I deploy the server to Cloudflare?
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 do I connect Claude Desktop to the server?
Edit Claude Desktop's config file to add an MCP server entry using npx mcp-remote with the SSE URL (local or remote). Restart Claude and log in via the browser window.
What should I do if something goes wrong?
Restart Claude or test the server directly with npx mcp-remote http://localhost:8787/sse. If needed, clear the OAuth files in ~/.mcp-auth with rm -rf ~/.mcp-auth.