An MCP server deployed on Cloudflare Workers, featuring OAuth login and data storage via Cloudflare KV.
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
Allows AI models to interact with your Okta environment to manage and analyze resources, designed for IAM engineers, security teams, and administrators.
An MCP server for interacting with the ThingsPanel IoT platform.
Manage DigitalOcean resources and perform actions using the DigitalOcean API.
An MCP server for the Lodgify vacation rental API.
Provides AI assistants with controlled access to the Auth0 Management API for tenant management, enforcing security and least-privilege access.
Interact with the Brex API to manage financial data and resources.
Interact with your content on the Contentful platform
Interact with your AWS environment using natural language to query and manage resources. Requires local AWS credentials.
A server for interacting with the Alpaca trading API. Requires API credentials via environment variables.
Integrates with Microsoft SharePoint, allowing interaction with documents, folders, and other SharePoint resources.