remote-mcp-server

remote-mcp-server

3.3

This document provides a guide to setting up a remote Model Context Protocol (MCP) server on Cloudflare Workers, including local development, connection to MCP Inspector, and integration with Claude Desktop.

The Remote MCP Server on Cloudflare guide details the process of setting up a Model Context Protocol server using Cloudflare Workers. It includes steps for local development, connecting to the MCP Inspector for API exploration, and integrating with Claude Desktop for enhanced functionality. The guide also covers deployment to Cloudflare and provides troubleshooting tips. The MCP server facilitates communication between different platforms and tools, allowing for seamless integration and tool invocation. By following the guide, users can set up a robust MCP server environment that supports OAuth login and remote client connections.

Features

  • Local Development: Instructions for setting up and running the MCP server locally using npm and nx.
  • MCP Inspector Connection: Steps to connect the MCP Inspector to the server for API exploration and tool invocation.
  • Claude Desktop Integration: Configuration guidance for connecting Claude Desktop to the local and remote MCP server.
  • Cloudflare Deployment: Instructions for deploying the MCP server to Cloudflare Workers with OAuth login support.
  • Debugging Tips: Provides troubleshooting steps for common issues, including command-line connection and authentication file management.

Usage with Different Platforms

local_development

bash
# clone the repository
git clone git@github.com:cloudflare/ai.git

# install dependencies
cd ai
npm install

# run locally
npx nx dev remote-mcp-server

mcp_inspector_connection

bash
npx @modelcontextprotocol/inspector

claude_desktop_local


{
  "mcpServers": {
    "math": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/sse"
      ]
    }
  }
}

cloudflare_deployment

bash
npx wrangler kv namespace create OAUTH_KV
# Follow the guidance to add the kv namespace ID to `wrangler.jsonc`
npm run deploy

claude_desktop_remote


{
  "mcpServers": {
    "math": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://worker-name.account-name.workers.dev/sse"
      ]
    }
  }
}