Deploy a remote MCP server on Cloudflare Workers with OAuth login support, using Cloudflare KV for data storage.
Let's get a remote MCP server up-and-running on Cloudflare Workers complete with OAuth login!
# clone the repository
git clone https://github.com/cloudflare/ai.git
# Or if using ssh:
# git clone git@github.com:cloudflare/ai.git
# install dependencies
cd ai
# Note: using pnpm instead of just "npm"
pnpm install
# run locally
npx nx dev remote-mcp-server
You should be able to open http://localhost:8787/
in your browser
To explore your new MCP api, you can use the MCP Inspector.
npx @modelcontextprotocol/inspector
SSE
and enter http://localhost:8787/sse
as the URL of the MCP server to connect to, and click "Connect"The MCP inspector is great, but we really want to connect this to Claude! Follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config to find your configuration file.
Open the file in your text editor and replace it with this configuration:
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/sse"
]
}
}
}
This will run a local proxy and let Claude talk to your MCP server over HTTP
When you open Claude a browser window should open and allow you to login. You should see the tools available in the bottom right. Given the right prompt Claude should ask to call the tool.
npx wrangler kv namespace create OAUTH_KV
wrangler.jsonc
npm run deploy
Just like you did above in "Develop locally", run the MCP inspector:
npx @modelcontextprotocol/inspector@latest
Then enter the workers.dev
URL (ex: worker-name.account-name.workers.dev/sse
) of your Worker in the inspector as the URL of the MCP server to connect to, and click "Connect".
You've now connected to your MCP server from a remote MCP client.
Update the Claude configuration file to point to your workers.dev
URL (ex: worker-name.account-name.workers.dev/sse
) and restart Claude
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://worker-name.account-name.workers.dev/sse"
]
}
}
}
Should anything go wrong it can be helpful to restart Claude, or to try connecting directly to your MCP server on the command line with the following command.
npx mcp-remote http://localhost:8787/sse
In some rare cases it may help to clear the files added to ~/.mcp-auth
rm -rf ~/.mcp-auth
Provides full access to the Google Ads API v20. Requires OAuth2 or Service Account credentials for configuration.
Access Axiom logs through an MCP server. Requires an Axiom API token.
Query OpenAI models directly from Claude using MCP protocol
Administer Google Workspace using the GAM command-line tool.
Access Grafana resources like dashboards, datasources, Prometheus, Loki, and alerts.
A Model Context Protocol server built on Huawei Cloud services, providing secure and controlled cloud access for large AI models.
A remote MCP server deployable on Cloudflare Workers without authentication.
Deploy a remote, authentication-free MCP server on Cloudflare Workers or locally via npm.
Provides seamless access to the Binance exchange API. Requires Binance API credentials to be configured.
Access and manage AWS VPC Lattice resources and related documentation.