Workers MCP

Workers MCP
官方

一个连接 Claude Desktop 和其他 MCP 客户端到 Cloudflare Workers 的软件包,从而可以通过模型上下文协议,使用自然语言访问自定义功能。

开发者工具
云平台
TypeScript
访问服务器

README

workers-mcp

从 Claude Desktop 连接到 Cloudflare Worker!

[!WARNING] 你应该从这里开始 —— 并构建一个远程 MCP 服务器

你可以使用 mcp-remote 从 Claude Desktop、Cursor 和其他客户端连接到远程 MCP 服务器。

什么是 workers-mcp

这个包提供了 CLI 工具和 Worker 内部逻辑,用于将 Claude Desktop(或任何 MCP 客户端)连接到你账户上的 Cloudflare Worker,以便你可以根据自己的需求进行定制。它通过一个构建步骤工作,可以将你的 Worker 的 TypeScript 方法转换成这样:

export class ExampleWorkerMCP extends WorkerEntrypoint<Env> {
  /**
   * 生成一个随机数。这个随机数非常随机,因为它必须一路到达
   * 你最近的 Cloudflare PoP 才能被计算出来,这... 类似于熔岩灯?
   *
   * @return {string} 包含一个超级随机数的消息
   * */
  async getRandomNumber() {
    return `Your random number is ${Math.random()}`
  }
  
  // ...等等
}

...转换为 MCP 工具,本地 Node.js 服务器可以将其暴露给 MCP 客户端。 Node.js 服务器充当代理,在本地处理 stdio 传输,并调用在 Cloudflare 上运行的 Worker 的相关方法。 这允许你将应用程序中的任何函数或 API,或 Cloudflare 开发者平台 中的任何服务,暴露回编码代理、Claude Desktop 或其他 MCP 客户端中的 LLM。

image

<sub>是的,我知道 Math.random() 在 Worker 上的工作方式与在本地机器上相同,但不要告诉 Claude</sub> 🤫

用法

步骤 1:生成一个新的 Worker

使用 create-cloudflare 生成一个新的 Worker。

npx create-cloudflare@latest my-new-worker

我建议选择一个 Hello World worker。

步骤 2:安装 workers-mcp

cd my-new-worker # 我总是忘记这一步
npm install workers-mcp

步骤 3:运行 setup 命令

npx workers-mcp setup

注意:如果出现问题,运行 npx workers-mcp help

步骤 4..♾️:迭代

更改 Worker 代码后,你只需要运行 npm run deploy 即可更新 Claude 关于你的函数的元数据和你的实时 Worker 实例。

但是,如果你更改了方法名称、参数,或者添加或删除了方法,Claude 将不会看到更新,直到你重新启动它。

你永远不需要重新运行 npx workers-mcp install:claude,但如果你想排除 Claude 配置作为错误的来源,这样做是安全的。

与其他 MCP 客户端一起使用

Cursor

要使你的 Cloudflare MCP 服务器在 Cursor 中工作,你需要将配置文件中的“command”和“args”组合成一个字符串,并使用类型“command”。

例如,如果你的配置文件如下所示:

{
  "mcpServers": {
    "your-mcp-server-name": {
      "command": "/path/to/workers-mcp",
      "args": [
        "run",
        "your-mcp-server-name",
        "https://your-server-url.workers.dev",
        "/path/to/your/project"
      ],
      "env": {}
    }
  }
}

在 Cursor 中,创建一个 MCP 服务器条目,其中:

  • 类型:command
  • 命令:/path/to/workers-mcp run your-mcp-server-name https://your-server-url.workers.dev /path/to/your/project

其他 MCP 客户端

对于 Windsurf 和其他 MCP 客户端,更新你的配置文件以包含你的 worker,以便你可以直接从客户端使用这些工具:

{
  "mcpServers": {
    "your-mcp-server-name": {
      "command": "/path/to/workers-mcp",
      "args": [
        "run",
        "your-mcp-server-name",
        "https://your-server-url.workers.dev",
        "/path/to/your/project"
      ],
      "env": {}
    }
  }
}

请确保将占位符替换为你实际的服务器名称、URL 和项目路径。

示例

请参阅 examples 目录,了解一些使用此功能的想法:

  • examples/01-hello-world 是在上述安装说明之后拍摄的快照
  • examples/02-image-generation 使用 Workers AI 运行 Flux 图像生成模型。 Claude 非常擅长提出提示,并且可以实际解释结果并决定尝试哪些新提示来实现你想要的结果。
  • TODO 浏览器渲染
  • TODO 持久对象

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript