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”工具,该工具应返回您在检查器中设置的Authorization标头
将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
然后输入 workers.dev URL(例如: worker-name.account-name.workers.dev/sse)将检查器中的Worker设置为要连接的MCP服务器的URL,然后单击“连接”。
现在,您已从远程MCP客户端连接到MCP服务器。您可以传递如上所述的不记名代币
将Claude Desktop连接到远程MCP服务器
TODO:我们需要支持任意标头 mcp-remote 代理
调试
如果出现任何问题,重启Claude或尝试直接连接到您的 MCP服务器在命令行上使用以下命令。
npx mcp-remote http://localhost:8787/sse在某些罕见的情况下,清除添加到的文件可能会有所帮助 ~/.mcp-auth
rm -rf ~/.mcp-auth