关于 Remote MCP Server on Cloudflare
用于在 Cloudflare Workers 上运行远程 MCP 服务的示例项目,包含 OAuth 登录。提供本地开发与部署指引,以及连接 MCP Inspector 和 Claude Desktop 的步骤。
主要功能
- 01在 Cloudflare Workers 上运行远程 MCP 服务
- 02OAuth 登录流程
- 03本地开发配置
- 04使用 Wrangler 部署
- 05MCP Inspector 连接指引
适用场景
- 01使用 MCP Inspector 在本地测试服务
- 02将 Claude Desktop 连接到本地服务
- 03部署到 Workers 供远程客户端连接
MCP 相关
该项目通过 SSE 运行 MCP 服务,并说明如何让 MCP Inspector 和 Claude Desktop 连接本地服务或已部署的 Workers 端点。示例包含 OAuth 登录。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。