使用说明

项目简介

Cloudflare Workers MCP (Model Context Protocol) 提供了一套工具,可以将您的 Cloudflare Worker 转换为一个 MCP 服务器。这使得您可以轻松地将自定义功能(例如调用外部 API、数据查询、图像生成等)集成到支持 MCP 协议的 LLM 客户端(如 Claude Desktop)中。通过这个工具包,您可以利用 Cloudflare Workers 的serverless能力,为您的 LLM 应用构建可扩展的后端服务。

主要功能点

  • 工具 (Tools) 注册和执行: 允许您在 Cloudflare Worker 中定义函数作为工具,并自动将这些工具注册到 MCP 服务器。LLM 客户端可以通过 MCP 协议调用这些工具,扩展 LLM 的能力。
  • 易于部署: 利用 Cloudflare Workers 平台,您可以快速部署和托管您的 MCP 服务器,无需复杂的服务器配置和维护。
  • 与 Claude Desktop 集成: 专门为与 Claude Desktop 等 MCP 客户端无缝集成而设计,提供开箱即用的配置和安装脚本。
  • 本地代理运行: 提供本地代理功能,方便您在本地开发和测试 MCP 服务器,无需每次修改都部署到 Cloudflare Workers。
  • 自动文档生成: 通过 JSDoc 注释,自动生成工具的文档,供 MCP 客户端使用。

安装步骤

  1. 创建 Cloudflare Worker: 如果您还没有 Cloudflare Worker,请使用 'create-cloudflare' CLI 创建一个新的 Worker 项目。推荐选择 "Hello World" 模板。

    npx create-cloudflare@latest my-new-worker
  2. 安装 'workers-mcp': 进入您的 Worker 项目目录,并安装 'workers-mcp' 包。

    cd my-new-worker
    npm install workers-mcp
  3. 运行 'setup' 命令: 运行 'workers-mcp setup' 命令,该命令将引导您完成 MCP 服务器的配置和安装过程。

    npx workers-mcp setup

    如果遇到问题,可以运行 'npx workers-mcp help' 查看帮助信息。

  4. 部署 Worker: 修改您的 Worker 代码后,只需运行 'npm run deploy' 即可更新您的 Cloudflare Worker 和 Claude 的配置信息。

服务器配置

对于 MCP 客户端(例如 Claude Desktop),您需要配置 MCP 服务器的连接信息。以下是一个配置示例,通常在客户端的配置文件(例如 'claude_desktop_config.json')中进行配置。

{
  "mcpServers": {
    "your-mcp-server-name": {  //  您为该 MCP 服务器自定义的名称,在客户端中用于识别。
      "command": "/path/to/workers-mcp",  //  指向 'workers-mcp' CLI 工具的路径。通常在 'node_modules/.bin/workers-mcp' 或全局安装路径下。
      "args": [  //  传递给 'workers-mcp' CLI 的参数。
        "run",  //  运行本地代理服务器的命令。
        "your-mcp-server-name",  //  您为该 MCP 服务器自定义的名称,与配置中的 server name 保持一致。
        "https://your-server-url.workers.dev",  //  您的 Cloudflare Worker 的 URL,部署后由 Cloudflare 提供。
        "/path/to/your/project"  //  您的 Worker 项目的根目录的绝对路径。
      ],
      "env": {}  //  环境变量,如果需要可以设置,例如 'NODE_EXTRA_CA_CERTS'。
    }
  }
}

基本使用方法

  1. 定义工具函数: 在您的 Worker 代码 (例如 'src/index.ts') 中,定义您希望暴露给 LLM 客户端的工具函数。使用 JSDoc 注释描述函数的功能、参数和返回值。

    import { WorkerEntrypoint } from 'cloudflare:workers';
    import { ProxyToSelf } from 'workers-mcp';
    
    export default class MyWorker extends WorkerEntrypoint<Env> {
      /**
       * 生成一个随机数。
       * @return {string} 包含随机数的消息。
       */
      async getRandomNumber() {
        return 'Your random number is ${Math.random()}';
      }
    
      /**
       * @ignore
       **/
      async fetch(request: Request): Promise<Response> {
        return new ProxyToSelf(this).fetch(request);
      }
    }
  2. 部署 Worker: 运行 'npm run deploy' 命令将您的 Worker 部署到 Cloudflare Workers。

  3. 配置 MCP 客户端: 根据您的 MCP 客户端(例如 Claude Desktop)的指引,配置 MCP 服务器连接信息,填入上述 服务器配置 中生成的配置信息。

  4. 在 LLM 客户端中使用工具: 在 LLM 客户端中,您应该能够看到您定义的工具。您可以通过自然语言指示 LLM 客户端调用这些工具来完成相应的任务。

注意: 每次修改 Worker 代码并重新部署后,您可能需要重启 MCP 客户端才能使客户端识别到最新的工具列表。

信息

分类

开发者工具