远程MCP服务器

在Cloudflare Workers上部署远程MCP服务器,支持OAuth登录,并提供工具调用功能。

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

使用说明

Cloudflare上的远程MCP服务器

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

本地开发

# clone the repository
git clone git@github.com:cloudflare/ai.git

# install dependencies
cd ai
npm 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 Desktop连接到您的本地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