远程MCP服务器

在Cloudflare Workers上部署远程MCP服务器,支持OAuth登录和工具调用。

  • by BenjaMITM
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 BenjaMITM/remote-mcp-server-prod

使用说明

云上远程MCP服务器(位于Cloudflare)

让我们在Cloudflare Workers上部署并运行一个带有OAuth登录功能的远程MCP服务器!

本地开发

# clone the repository
git clone https://github.com/cloudflare/ai.git
# Or if using ssh:
# git clone git@github.com:cloudflare/ai.git

# install dependencies
cd ai
# Note: using pnpm instead of just "npm"
pnpm install

# run locally
npx nx dev remote-mcp-server

你应该能够打开 http://localhost:8787/ 在你的浏览器中

将MCP检查器连接到您的服务器

要探索您的新MCP API,您可以使用 MCP 检查器根据上面的信息,执行如下指令:您是一个专业的翻译,负责把中文内容翻译成中文内容,请帮我翻译一下原文内容

  • 用以下内容开始 npx @modelcontextprotocol/inspector
  • 在检查器中,将传输类型切换为 SSE 并输入 http://localhost:8787/sse 作为要连接的MCP服务器的URL,并点击“连接”
  • 您将导航到一个(模拟)用户名/密码登录界面。输入任意电子邮件和密码进行登录。
  • 你应该会被重定向回MCP检查器,现在你可以列出并调用任何已定义的工具了!

将Claude桌面版连接到您的本地MCP服务器

MCP检查器很不错,但我们真的很想把它和Claude连接起来!关注 Anthropic的快速入门指南 在Claude Desktop中,进入设置 > 开发者 > 编辑配置,以找到您的配置文件。

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

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

这将运行一个本地代理,让Claude通过HTTP与您的MCP服务器进行通信

当你打开Claude时,一个浏览器窗口应该会弹出,允许你登录。你应该在右下角看到可用的工具。在给定正确的提示后,Claude应该会询问是否要调用该工具。

部署到Cloudflare

  1. npx wrangler kv namespace create OAUTH_KV
  2. 按照指引添加kv命名空间ID到 wrangler.jsonc
  3. npm run deploy

从远程MCP客户端调用您新部署的远程MCP服务器

就像你在上面“本地开发”中所做的那样,运行MCP检查器:

npx @modelcontextprotocol/inspector@latest

然后输入 workers.dev URL(例如: worker-name.account-name.workers.dev/sse在检查器中将您的Worker的URL设置为要连接的MCP服务器的URL,然后点击“连接”。

你已从远程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