关于 Remote MCP Server on Cloudflare
Remote MCP Server on Cloudflare 是在 Cloudflare Workers 上运行远程 MCP 服务并配置 OAuth 登录的示例。项目说明了本地开发、部署,以及通过 MCP Inspector 和 Claude Desktop 连接客户端的步骤。
主要功能
- 01在 Cloudflare Workers 上运行 MCP 服务
- 02OAuth 登录流程
- 03本地开发与部署步骤
- 04通过 MCP Inspector 或 Claude Desktop 连接
适用场景
- 01在本地开发和测试 MCP 服务
- 02将远程服务部署到 Cloudflare Workers
- 03将 Claude Desktop 连接到远程服务
MCP 相关
它演示如何托管带有 SSE 端点和 OAuth 登录的远程 MCP 服务,并连接 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cloudflare 上的远程 MCP 服务
让我们在 Cloudflare Workers 上启动并运行远程 MCP 服务,并配好 OAuth 登录!
本地开发
# clone the repository
git clone [email protected]:cloudflare/ai.git
# navigate to this example
cd ai/demos/remote-mcp-server
# install dependencies
npm install
# run locally
npm run dev
你应该能够在浏览器中打开 http://localhost:8787/
将 MCP Inspector 连接到你的服务
要探索新建的 MCP API,可以使用 MCP Inspector。
- 使用
npx @modelcontextprotocol/inspector启动它 - 在 Inspector 中,将 Transport Type 切换为
SSE,输入http://localhost:8787/sse作为要连接的 MCP 服务 URL,然后点击“Connect” - 你将进入一个(模拟的)用户名/密码登录页面。输入任意邮箱和密码即可登录。
- 你应该会被重定向回 MCP Inspector,现在可以列出并调用所有已定义的工具!
将 Claude Desktop 连接到本地 MCP 服务
MCP Inspector 很好用,但我们真正想做的是将它连接到 Claude!请按照 [Anthropic 的快速入门](<https://modelcontextprotocol.io/quickstart/user),并在 Claude Desktop 中前往“设置” > “开发者” > “编辑配置”,找到你的配置文件。
在文本编辑器中打开该文件,并将其替换为以下配置:
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/sse"
]
}
}
}
这会运行一个本地代理,让 Claude 通过 HTTP 与你的 MCP 服务通信。
打开 Claude 时,浏览器窗口应该会打开并允许你登录。你应该能在右下角看到可用工具。使用合适的提示词时,Claude 应该会请求调用该工具。
部署到 Cloudflare
npx wrangler@latest kv namespace create remote-mcp-server-oauth-kv- 按照说明将 kv 命名空间 ID 添加到
wrangler.jsonc npm run deploy
从远程 MCP 客户端调用新部署的远程 MCP 服务
和上面“本地开发”中的操作一样,运行 MCP Inspector:
npx @modelcontextprotocol/inspector@latest
然后在 Inspector 中输入你的 Worker 的 workers.dev URL(例如:worker-name.account-name.workers.dev/sse),作为要连接的 MCP 服务 URL,并点击“Connect”。
现在,你已通过远程 MCP 客户端连接到 MCP 服务。
将 Claude Desktop 连接到远程 MCP 服务
更新 Claude 配置文件,使其指向你的 workers.dev URL(例如:worker-name.account-name.workers.dev/sse),然后重启 Claude。
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://worker-name.account-name.workers.dev/sse"
]
}
}
}
调试
如果遇到问题,重启 Claude 可能会有所帮助;也可以尝试使用以下命令,在命令行中直接连接到 MCP 服务。
npx mcp-remote http://localhost:8787/sse
在少数情况下,清除添加到 ~/.mcp-auth 的文件可能会有所帮助。
rm -rf ~/.mcp-auth
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。