Overview
What is Building a Remote MCP Server on Cloudflare (Without Auth)?
A deployment template and guide for running a remote MCP server on Cloudflare Workers with no authentication required. It is intended for developers who want to quickly expose MCP tools over SSE without building auth logic.
How to use Building a Remote MCP Server on Cloudflare (Without Auth)?
Click the "Deploy to Workers" button in the README to deploy instantly, or run npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless locally. After deployment, connect MCP clients (e.g., Cloudflare AI Playground or Claude Desktop) using the server’s SSE URL.
Key features of Building a Remote MCP Server on Cloudflare (Without Auth)
- Deploy a remote MCP server on Cloudflare Workers
- No authentication required for connections
- Add custom tools via
this.server.tool(...)insrc/index.ts - Integrates with Cloudflare AI Playground as a remote MCP client
- Works with local MCP clients through the
mcp-remoteproxy
Use cases of Building a Remote MCP Server on Cloudflare (Without Auth)
- Rapidly prototype MCP tools accessible over the internet
- Connect MCP tools to Cloudflare’s AI Playground for testing
- Expose tools to Claude Desktop without running a local MCP server
- Build serverless MCP endpoints for demo or internal use
FAQ from Building a Remote MCP Server on Cloudflare (Without Auth)
How do I deploy the server?
Use the "Deploy to Workers" button or the npm create cloudflare command shown in the README.
How do I add custom tools?
Define each tool inside the init() method of src/index.ts using this.server.tool(...).
How can I connect from Cloudflare AI Playground?
Go to https://playground.ai.cloudflare.com/, enter your deployed MCP server’s SSE URL, and start using the tools.
How can I use the server with Claude Desktop?
Install the mcp-remote proxy (npx mcp-remote) and add a configuration entry to Claude Desktop pointing to the server’s SSE URL.
Does the server require any authentication?
No, this example is designed without authentication. Use it only in scenarios where auth is not needed.