mcpField
R
Remote MCP Server on Cloudflare

Remote MCP Server on Cloudflare

本地服务
github.com/cmsparks云与基础设施084 周前更新

关于 Remote MCP Server on Cloudflare

这是一个在 Cloudflare Workers 上部署远程 MCP 服务并配置 OAuth 登录的示例,面向构建和测试 MCP 服务的开发者。项目提供本地运行及连接 MCP Inspector 和 Claude Desktop 的指引。

主要功能

  1. 01在 Cloudflare Workers 本地运行
  2. 02OAuth 登录流程
  3. 03使用 Wrangler 部署
  4. 04连接 MCP Inspector 和 Claude Desktop

适用场景

  1. 01在 Workers 上试做远程 MCP 服务
  2. 02通过 MCP Inspector 测试工具
  3. 03让 Claude Desktop 连接本地或已部署服务

MCP 相关

项目实现远程 MCP 服务,并说明如何通过 SSE 让 MCP Inspector 和 Claude Desktop 使用 mcp-remote 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"remote-mcp-server-2": {
"command": "npx",
"args": [
"-y",
"nx"
]
}
}
}
启动命令npx -y nx

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmnx

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Cloudflare 上的远程 MCP 服务

让我们在 Cloudflare Workers 上运行一个远程 MCP 服务,并配置 OAuth 登录!

本地开发

# clone the repository
git clone [email protected]:cloudflare/ai.git

# install dependencies
cd ai
npm install

# run locally
npx nx dev remote-mcp-server

你应该可以在浏览器中打开 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,现在可以列出并调用所有已定义的工具!
MCP Inspector 的上述配置
MCP Inspector 在调用工具后的界面

将 Claude Desktop 连接到本地 MCP 服务

MCP Inspector 很好用,但我们真正想做的是将它连接到 Claude!按照 Anthropic 的快速入门指南,然后在 Claude Desktop 中前往 Settings > Developer > Edit Config,找到配置文件。

在文本编辑器中打开该文件,并将其替换为以下配置:

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

这会运行一个本地代理,让 Claude 通过 HTTP 与你的 MCP 服务通信。

打开 Claude 时,应该会弹出一个浏览器窗口,让你登录。你应该能在右下角看到可用工具。提供合适的提示词后,Claude 应该会请求调用该工具。

点击锤子图标可显示可用工具列表
Claude 通过调用 MCP add 工具回答提示词“我的计算器好像丢了,而且手指也不够用了。你能用数学工具把 23 和 19 相加吗?”

部署到 Cloudflare

  1. npx wrangler@latest kv namespace create remote-mcp-server-oauth-kv
  2. 按照说明将 kv 命名空间 ID 添加到 wrangler.jsonc
  3. 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。