Building a Remote MCP Server on Cloudflare (Without Auth)
@gotalab
Overview
What is Building a Remote MCP Server on Cloudflare (Without Auth)?
This example deploys a remote MCP server that does not require authentication on Cloudflare Workers. It is intended for developers who want a quick, publicly accessible MCP server for testing or integration.
How to use Building a Remote MCP Server on Cloudflare (Without Auth)?
Deploy using the "Deploy to Workers" button or run npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless. After deployment, connect MCP clients (e.g., Cloudflare AI Playground or Claude Desktop via the mcp-remote proxy) to the SSE endpoint at remote-mcp-server-authless.<your-account>.workers.dev/sse.
Key features of Building a Remote MCP Server on Cloudflare (Without Auth)
- Deploy a remote MCP server without authentication
- Uses SSE transport at the
/sseendpoint - Easily customizable tools via
this.server.tool()insrc/index.ts - Connects directly to Cloudflare AI Playground
- Works with Claude Desktop via the
mcp-remoteproxy
Use cases of Building a Remote MCP Server on Cloudflare (Without Auth)
- Quickly deploying a public MCP server for prototyping
- Testing MCP tools without setting up authentication
- Integrating with Cloudflare AI Playground for remote MCP client usage
- Connecting local MCP clients like Claude Desktop to a serverless backend
FAQ from Building a Remote MCP Server on Cloudflare (Without Auth)
Does this MCP server require authentication?
No, it is specifically designed to be deployed without authentication for ease of use and testing.
How do I deploy the server?
You can deploy it using the "Deploy to Workers" button on GitHub or by running npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless.
What transport does the server use?
It uses SSE (Server-Sent Events) at the /sse endpoint.
Can I use this server with Claude Desktop?
Yes, by using the mcp-remote proxy and configuring Claude Desktop's mcpServers to point to the server’s URL.
Where can I customize the server’s tools?
Tools are defined inside the init() method of src/index.ts using this.server.tool(...).