使用说明
项目简介
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 客户端使用。
安装步骤
-
创建 Cloudflare Worker: 如果您还没有 Cloudflare Worker,请使用 'create-cloudflare' CLI 创建一个新的 Worker 项目。推荐选择 "Hello World" 模板。
npx create-cloudflare@latest my-new-worker -
安装 'workers-mcp': 进入您的 Worker 项目目录,并安装 'workers-mcp' 包。
cd my-new-worker npm install workers-mcp -
运行 'setup' 命令: 运行 'workers-mcp setup' 命令,该命令将引导您完成 MCP 服务器的配置和安装过程。
npx workers-mcp setup如果遇到问题,可以运行 'npx workers-mcp help' 查看帮助信息。
-
部署 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'。 } } }
基本使用方法
-
定义工具函数: 在您的 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); } } -
部署 Worker: 运行 'npm run deploy' 命令将您的 Worker 部署到 Cloudflare Workers。
-
配置 MCP 客户端: 根据您的 MCP 客户端(例如 Claude Desktop)的指引,配置 MCP 服务器连接信息,填入上述 服务器配置 中生成的配置信息。
-
在 LLM 客户端中使用工具: 在 LLM 客户端中,您应该能够看到您定义的工具。您可以通过自然语言指示 LLM 客户端调用这些工具来完成相应的任务。
注意: 每次修改 Worker 代码并重新部署后,您可能需要重启 MCP 客户端才能使客户端识别到最新的工具列表。
信息
分类
开发者工具