mcpField
R
Remote MCP Server on Cloudflare

Remote MCP Server on Cloudflare

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

关于 Remote MCP Server on Cloudflare

这是一个在 Cloudflare Workers 上部署远程 MCP 服务的示例,包含 OAuth 登录。项目面向开发者,说明本地测试、部署以及连接 MCP Inspector 和 Claude Desktop 的方法。

主要功能

  1. 01部署到 Cloudflare Workers
  2. 02OAuth 登录流程
  3. 03本地开发与部署步骤
  4. 04面向 MCP 客户端的 SSE 端点
  5. 05配置 MCP Inspector 和 Claude Desktop

适用场景

  1. 01在 Cloudflare Workers 上搭建远程 MCP 服务原型
  2. 02使用 MCP Inspector 测试服务工具
  3. 03让 Claude Desktop 连接本地或已部署的服务

MCP 相关

通过 SSE 向 MCP 客户端提供远程 MCP 服务,并包含 OAuth 登录。文档介绍了从 MCP Inspector 和 Claude Desktop 进行连接的方法。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"remote-mcp-server-shahedamin": {
"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 工具,回答提示词“我的计算器好像丢了,手指也数完了。你能用 math 工具把 23 和 19 相加吗?”

部署到 Cloudflare

  1. npx wrangler kv namespace create 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。