Workers MCP Server 概念验证项目

本项目 'geelen_workers-mcp-server' 是一个 概念验证 (Proof-of-Concept) 的 MCP 服务器实现,它运行在 Cloudflare Workers 环境中,旨在演示如何通过 Cloudflare Workers 将云服务能力以 MCP 协议暴露给 Claude Desktop 等 MCP 客户端。

主要功能点:

  • 工具 (Tools) 注册与调用: 允许开发者在 Cloudflare Worker 中定义函数(Tools),并通过 MCP 协议让 Claude Desktop 等客户端发现和调用这些函数。
  • Cloudflare Workers 集成: 利用 Cloudflare Workers 的 serverless 函数能力,可以方便地访问 Cloudflare 的各种服务和第三方 API。
  • 示例工具: 仓库提供了随机数生成、网页截图、发送邮件等示例工具,展示了如何扩展 Claude Desktop 的功能。
  • 本地代理 (Local Proxy) 支持: 提供本地代理服务器,方便开发者在本地开发和测试 MCP 服务器,无需频繁部署到 Cloudflare Workers。
  • 自动文档生成: 通过 JSDoc 注释和工具,自动生成工具列表文档 ('docs.json'),简化了 MCP 服务器的能力声明过程。

安装步骤:

  1. 安装 Claude Desktop: 访问 https://claude.ai/download 下载并安装 Claude Desktop 客户端。
  2. 克隆仓库: 将本仓库 'geelen_workers-mcp-server' 克隆到本地。
    git clone https://github.com/MCP-Mirror/geelen_workers-mcp-server.git
    cd geelen_workers-mcp-server
  3. 安装依赖: 使用 'pnpm' 安装项目依赖。如果未安装 'pnpm',请先安装 https://pnpm.io/installation
    pnpm install
  4. 检查 'wrangler.json': 根据你的 Cloudflare 账户配置,检查 'wrangler.json' 文件中的配置是否正确。特别是 'Email Routing' 和 'Browser Rendering' 的配置,如果未启用相关服务,请注释掉 'wrangler.json' 中对应的配置,避免部署失败。
  5. 部署 Cloudflare Worker: 使用 'pnpm' 部署 Cloudflare Worker。确保你已安装 Wrangler CLI 并已登录 Cloudflare 账户。
    pnpm deploy:worker
  6. 生成并上传密钥: 运行以下命令生成开发密钥并上传到 Cloudflare Workers。此步骤只需执行一次。
    npx workers-mcp secret generate && npx workers-mcp secret upload
  7. 安装 MCP 服务器到 Claude Desktop: 运行以下命令安装 MCP 服务器。'<server-alias>' 是你为该服务器起的别名,'<worker-url>' 是上一步部署的 Cloudflare Worker 的 URL。
    npx workers-mcp install <server-alias> <worker-url>
    例如:
    npx workers-mcp install my-worker-mcp https://your-worker-url.workers.dev
  8. 重启 Claude Desktop: 安装完成后,必须重启 Claude Desktop 才能使配置生效。

服务器配置 (JSON):

MCP 客户端 (如 Claude Desktop) 需要以下配置信息来连接到 MCP 服务器。此配置通常由 'workers-mcp install' 命令自动完成,以下为配置示例和说明:

{
  "mcpServers": {
    "<server-alias>": { // 你在安装步骤 7 中指定的服务器别名,例如 "my-worker-mcp"
      "command": "<absolute-path-to>/node", // Node.js 可执行文件的绝对路径,通常不需要修改
      "args": [
        "<project-dir>/node_modules/tsx/dist/cli.mjs", // tsx 命令行工具路径,用于运行 TypeScript 代码,通常不需要修改
        "<project-dir>/scripts/local-proxy.ts", // 本地代理脚本路径,用于连接到远程 Cloudflare Worker,通常不需要修改
        "<server-alias>", // 服务器别名,与外层 key 保持一致
        "<worker-url>", // 你部署的 Cloudflare Worker 的 URL,例如 "https://your-worker-url.workers.dev"
        "ExampleWorkerMCP" // Worker 入口点类名,本示例中为 "ExampleWorkerMCP"
      ]
    }
  }
}

请注意: 以上配置是 本地代理 的配置,用于开发和测试阶段。 Claude Desktop 实际上连接的是本地代理服务器,本地代理服务器再转发请求到远程 Cloudflare Worker。 直接连接 Cloudflare Worker 的配置方式可能需要修改 'scripts/local-proxy.ts' 和 'scripts/install.ts' 文件,并调整 Claude Desktop 的配置。

基本使用方法:

  1. 启动 Claude Desktop 客户端。
  2. 如果安装配置正确,Claude Desktop 应该能够检测到新安装的 MCP 服务器。
  3. 在 Claude Desktop 中,你可以通过自然语言指令,指示 Claude 调用 MCP 服务器提供的工具。例如,你可以指示 Claude "截取 example.com 的网页" 或 "发送邮件给 [email protected]"。
  4. Claude 会根据你的指令,调用 MCP 服务器提供的 'takeScreenshot' 或 'sendEmail' 等工具,并返回结果。

注意:

  • 本项目是一个概念验证项目,可能存在一些限制和不足之处。
  • README 中 "NOTE: This has now been superseded by the Workers MCP package. Go there instead." 表明此仓库已被 'geelen/workers-mcp' 仓库取代,建议关注和使用新的仓库以获得更完善的功能和更新。
  • 仓库的 'Limitations' 和 'Future ideas' 部分列出了一些已知问题和未来改进方向,可以参考。

信息

分类

开发者工具