Remote MCP Server with Bearer Auth

by huanshenyi
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

Cloudflare 上的远程 MCP 服务器

让我们在 Cloudflare Workers 上启动并运行一个远程 MCP 服务器,并完成 OAuth 登录!

本地开发

# 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-bearer-auth

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

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

要探索新的 MCP api,您可以使用MCP 检查器

  • 使用npx @modelcontextprotocol/inspector启动
  • 在检查器中,将传输类型切换为SSE ,并输入http://localhost:8787/sse作为要连接的 MCP 服务器的 URL。
  • 添加承载令牌并点击“连接”
  • 点击“列出工具”
  • 运行“getToken”工具,它应该返回您在检查器中设置的授权标头

将 Claude Desktop 连接到您的本地 MCP 服务器

"remote-example": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse", "--header", "Authorization: Bearer {token}" ] }

部署到 Cloudflare

npm run deploy

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

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

npx @modelcontextprotocol/inspector@latest

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

现在,您已从远程 MCP 客户端连接到 MCP 服务器。您可以像上面提到的那样传入一个 bearer token

将 Claude Desktop 连接到远程 MCP 服务器

TODO:我们需要支持mcp-remote代理的任意标头

调试

如果出现任何问题,重新启动 Claude 或尝试使用以下命令在命令行上直接连接到 MCP 服务器会有所帮助。

npx mcp-remote http://localhost:8787/sse

在极少数情况下,清除添加到~/.mcp-auth的文件可能会有所帮助

rm -rf ~/.mcp-auth
-
security - not tested
F
license - not found
-
quality - not tested

基于 Cloudflare Workers 的 MCP 服务器实现,支持 OAuth 登录和承载令牌身份验证,允许从 Claude Desktop 和 MCP Inspector 等 MCP 客户端进行安全连接。

  1. Develop locally
    1. Connect the MCP inspector to your server
      1. Connect Claude Desktop to your local MCP server
        1. Deploy to Cloudflare
          1. Call your newly deployed remote MCP server from a remote MCP client
            1. Connect Claude Desktop to your remote MCP server
              1. Debugging
                ID: 4e543ehreg