mcpField
R
Remote MCP Server on Cloudflare

Remote MCP Server on Cloudflare

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

关于 Remote MCP Server on Cloudflare

这是一个在 Cloudflare Workers 上开发和部署远程 MCP 服务的示例,包含 OAuth 登录流程。它为开发者说明本地测试方法,以及如何让 MCP 客户端连接已部署的 Worker。

主要功能

  1. 01本地开发说明
  2. 02OAuth 登录流程
  3. 03部署到 Cloudflare Workers
  4. 04连接 MCP Inspector
  5. 05连接 Claude Desktop

适用场景

  1. 01本地开发远程 MCP 服务
  2. 02使用 MCP Inspector 测试工具
  3. 03将 MCP 服务部署到 Workers
  4. 04让 Claude Desktop 连接 Worker

MCP 相关

项目提供带 SSE 端点的 MCP 服务示例,并说明如何在本地或部署后连接 MCP Inspector 和 Claude Desktop。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"remote-mcp-server-f": {
"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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。