远程MCP服务器部署

在Cloudflare Workers上部署支持API密钥认证的远程MCP服务器,提供安全的多协议工具访问服务。

  • by 123hi123
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 123hi123/remote-mcp-server-authless

使用说明

在Cloudflare上构建远程MCP服务器(使用API密钥验证)

此示例允许您在Cloudflare Workers上部署具有API密钥身份验证的远程MCP服务器。服务器现在需要有效的API密钥才能访问MCP工具,从而为您的部署提供更好的安全性。

开始:

这将把您的MCP服务器部署到以下URL: remote-mcp-server-authless.<your-account>.workers.dev/sse

或者,您可以使用下面的命令行在本地计算机上创建远程MCP服务器:

npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless

API密钥验证

MCP服务器现在包括API密钥验证。默认情况下,API密钥设置为 "password",但您可以通过以下方式进行自定义:

  1. 环境变量:设置 MCP_API_KEY 在Cloudflare Worker的环境变量中
  2. 牧马人配置:修改 vars.MCP_API_KEY 价值在 wrangler.jsonc

设置自定义API密钥

若要设置自定义API密钥,请更新 wrangler.jsonc 文件:

{
  "vars": {
    "MCP_API_KEY": "your-secure-api-key-here"
  }
}

身份验证方法

服务器通过多种方法接受API密钥:

  • 认证头: Authorization: Bearer your-api-key
  • X-API-Key集管: X-API-Key: your-api-key
  • 查询参数: ?api_key=your-api-key

自定义您的MCP服务器

添加您自己的 工具 在MCP服务器中,定义 init() 方法 src/index.ts 使用 this.server.tool(...).

连接到Cloudflare AI游乐场

您可以从Cloudflare AI Playground连接到您的MCP服务器,这是一个远程MCP客户端:

  1. 首选https://playground.ai.cloudflare.com/
  2. 输入您部署的MCP服务器URL(remote-mcp-server-authless.<your-account>.workers.dev/sse)
  3. 提示时提供API密钥
  4. 现在,您可以直接在操场上使用MCP工具!

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

您还可以使用以下命令从本地MCP客户端连接到远程MCP服务器 mcp远程代理.

要从Claude Desktop连接到MCP服务器,请按照以下步骤操作 Anthropic的快速入门 在Claude Desktop中,转到“设置”>“开发人员”>“编辑配置”。

使用此配置进行更新:

{
  "mcpServers": {
    "calculator": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/sse",  // or remote-mcp-server-authless.your-account.workers.dev/sse
        "password"  // Replace with your actual API key
      ]
    }
  }
}

备注:第三个论点 args 数组是您的API密钥。确保更换 "password" 使用您的实际API密钥。

重新启动Claude,您应该看到验证后工具可用。

健康检查

您可以通过访问根端点来检查服务器是否正在运行:

  • GET / 或 GET /health -返回服务器状态(无需身份验证)

安全功能

  • 所有MCP端点(/sse, /mcp)现在需要有效的API密钥身份验证
  • 支持多种身份验证方法,具有灵活性
  • 通过环境变量配置API密钥
  • 健康检查端点仍然可以公开访问