项目简介

该项目 'cloudflare-remote-mcp-server' 是一个基于 Cloudflare Workers 构建的远程 MCP (Model Context Protocol) 服务器的示例实现。它展示了如何快速搭建一个运行在 Cloudflare 边缘计算平台上的 MCP 服务器,并集成了 OAuth 登录认证,为 LLM 客户端提供安全的上下文服务。

主要功能点

  • 资源管理 (Resources): 虽然示例中没有显式展示资源管理功能,但 Cloudflare Workers 平台本身提供了 KV 存储等能力,可以用于扩展实现资源托管和数据访问。
  • 工具注册与执行 (Tools): 实现了简单的 'add' 工具,演示了 MCP 服务器如何注册工具并供 LLM 客户端调用执行。
  • Prompt 模板 (Prompts): 示例中未直接涉及 Prompt 模板功能,但框架具备扩展 Prompt 管理能力的基础。
  • OAuth 身份验证: 集成了 OAuth 登录认证,为 MCP 服务器提供基本的安全访问控制。
  • SSE 传输协议: 默认使用 SSE (Server-Sent Events) 作为 MCP 客户端与服务器之间的通信协议。
  • Cloudflare Workers 部署: 易于部署到 Cloudflare Workers 平台,利用 Cloudflare 的全球边缘网络提供服务。

安装步骤

  1. 克隆仓库

    git clone https://github.com/cloudflare/ai.git
    cd ai
  2. 安装依赖

    npm install
  3. 本地开发运行

    npx nx dev remote-mcp-server

    运行成功后,可在浏览器中打开 'http://localhost:8787/'。

  4. 部署到 Cloudflare

    • 创建 KV 命名空间:
      npx wrangler kv namespace create OAUTH_KV
      按照提示将 KV 命名空间 ID 添加到 'wrangler.jsonc' 文件中。
    • 部署应用:
      npm run deploy
      部署成功后,会得到一个 'workers.dev' 的 URL,例如 'your-worker-name.account-name.workers.dev'。

服务器配置

MCP 客户端(如 Claude Desktop)需要配置 MCP 服务器的连接信息。以下是连接到 本地运行 的 MCP 服务器的配置示例 (JSON 格式):

{
  "mcpServers": {
    "math": { // server name,可以自定义
      "command": "npx", // 启动命令,这里使用 npx 运行 mcp-remote 代理客户端
      "args": [
        "mcp-remote", // 代理客户端名称
        "http://localhost:8787/sse" // MCP 服务器 SSE 端点 URL,本地开发时使用 localhost
      ]
    }
  }
}

以下是连接到 远程部署 的 MCP 服务器的配置示例 (JSON 格式):

{
  "mcpServers": {
    "math": { // server name,可以自定义
      "command": "npx", // 启动命令,这里使用 npx 运行 mcp-remote 代理客户端
      "args": [
        "mcp-remote", // 代理客户端名称
        "https://your-worker-name.account-name.workers.dev/sse" // MCP 服务器 SSE 端点 URL,部署后使用 workers.dev URL
      ]
    }
  }
}

参数注释:

  • 'server name': MCP 服务器的名称,可以自定义,用于在客户端中标识不同的 MCP 服务器连接。
  • 'command': 启动 MCP 客户端代理的命令,通常为 'npx'。'mcp-remote' 是一个通用的 MCP 远程客户端代理工具,用于桥接本地 MCP 客户端和远程 MCP 服务器。
  • 'args': 传递给 'mcp-remote' 客户端代理的参数,其中最重要的是 MCP 服务器的 SSE 端点 URL。

基本使用方法

  1. 启动 MCP Inspector 或配置 Claude Desktop: 按照仓库 README 文档中的指引,启动 MCP Inspector 或配置 Claude Desktop 连接到本地或远程部署的 MCP 服务器。
  2. OAuth 登录: 首次连接时,会跳转到 OAuth 登录页面,输入任意邮箱和密码即可登录(示例项目使用 Mock 登录)。
  3. 调用工具: 登录成功后,在 MCP Inspector 或 Claude Desktop 中,可以使用注册的 'add' 工具。例如,在 Claude 中,可以使用类似 '使用 math 工具计算 23 加 19' 的 Prompt 来调用 'add' 工具。

调试

如果遇到问题,可以参考 README 文档中的 "Debugging" 部分,尝试重启 Claude、清除本地认证文件或使用 'npx mcp-remote' 命令直接连接 MCP 服务器进行调试。

信息

分类

开发者工具