Workers部署工具

Cloudflare Workers MCP是一个用于部署和管理Cloudflare Workers的工具,填补了官方工具在部署、更新和管理方面的功能缺失。

  • by itsablabla
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 itsablabla/cf-workers-mcp

使用说明

Cloudflare工人MCP

Cloudflare Workers部署的MCP服务器-为GARZA OS添加了缺失的Workers工具。

快速部署VoiceNotes Worker(2分钟)

# Clone repo
git clone https://github.com/itsablabla/cf-workers-mcp.git
cd cf-workers-mcp

# Deploy using node script
CF_ACCOUNT_ID=14adde85f76060c6edef6f3239d36e6a \
CF_API_TOKEN=30e198cf037ffd6accc4aa739e6d9b448e23aa67cd4070503eb06c0acb5235be \
node examples/deploy-voicenotes.js

# Test
curl https://voicenotes-tools.14adde85f76060c6edef6f3239d36e6a.workers.dev/health

这有什么作用

填充 关键间隙 CF Workers工具中:

  • ✅ CF开发平台MCP:Can 读 workers(获取、列表、代码)
  • ❌ CF开发平台MCP:无法 部署 工人
  • ✅ 此MCP:可以 创建/更新/删除 工人+路线+秘密

工具(共10个)

工人

  1. workers_script_upload -创建/更新工作代码
  2. workers_script_delete -移除工人
  3. workers_script_get -获取员工详细信息
  4. workers_scripts_list -列出所有工人

路线

  1. workers_route_create -将worker绑定到域
  2. workers_route_list -列出路线
  3. workers_route_delete -删除路线

秘密

  1. workers_secret_put -设置环境变量
  2. workers_secret_delete -删除env变量

日志

  1. workers_tail_start -获取工作日志

安装

选项A:本地(推荐)

git clone https://github.com/itsablabla/cf-workers-mcp.git
cd cf-workers-mcp
npm install

# Add to Claude Desktop config
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Linux: ~/.config/Claude/claude_desktop_config.json  
# Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cf-workers-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/cf-workers-mcp/index.js"],
      "env": {
        "CF_ACCOUNT_ID": "14adde85f76060c6edef6f3239d36e6a",
        "CF_API_TOKEN": "30e198cf037ffd6accc4aa739e6d9b448e23aa67cd4070503eb06c0acb5235be"
      }
    }
  }
}

# Restart Claude Desktop

选项B:Fly.io

# Add fly.toml and package.json to repo
fly deploy

# Set secrets
fly secrets set CF_ACCOUNT_ID=14adde85f76060c6edef6f3239d36e6a
fly secrets set CF_API_TOKEN=30e198cf037ffd6accc4aa739e6d9b448e23aa67cd4070503eb06c0acb5235be

# Add SSE endpoint to Claude config
{
  "mcpServers": {
    "cf-workers-mcp": {
      "url": "https://cf-workers-mcp.fly.dev/sse"
    }
  }
}

VoiceNotes工作者示例

完整的工作示例 /examples:

  • voicenotes-worker.js -拥有5个语音笔记工具的员工
  • deploy-voicenotes.js -部署脚本
  • .github/workflows/deploy-voicenotes.yml -GitHub操作

部署方法

1.节点脚本(最简单)

node examples/deploy-voicenotes.js

2.直接卷曲

curl -X PUT \
  "https://api.cloudflare.com/client/v4/accounts/14adde85f76060c6edef6f3239d36e6a/workers/scripts/voicenotes-tools" \
  -H "Authorization: Bearer 30e198cf037ffd6accc4aa739e6d9b448e23aa67cd4070503eb06c0acb5235be" \
  -H "Content-Type: application/javascript" \
  --data-binary @examples/voicenotes-worker.js

3.通过MCP(服务器运行后) 使用 workers_script_upload Claude Desktop中的工具。

测试语音笔记

# Health check
curl https://voicenotes-tools.14adde85f76060c6edef6f3239d36e6a.workers.dev/health

# List tools
curl https://voicenotes-tools.14adde85f76060c6edef6f3239d36e6a.workers.dev/tools

# Get latest transcript
curl -X POST https://voicenotes-tools.14adde85f76060c6edef6f3239d36e6a.workers.dev/execute \
  -H 'Content-Type: application/json' \
  -d '{"tool":"voicenotes_get_latest","arguments":{}}'

API示例

上传工作者

const formData = new FormData();
formData.append('metadata', JSON.stringify({
  main_module: 'worker.js',
  compatibility_date: '2024-01-01'
}));
formData.append('worker.js', code, {
  contentType: 'application/javascript',
  filename: 'worker.js'
});

await fetch(
  `https://api.cloudflare.com/client/v4/accounts/${accountId}/workers/scripts/${name}`,
  {
    method: 'PUT',
    headers: { 'Authorization': `Bearer ${token}` },
    body: formData
  }
);

创建路线

await fetch(
  `https://api.cloudflare.com/client/v4/zones/${zoneId}/workers/routes`,
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      pattern: 'api.example.com/*',
      script: 'my-worker'
    })
  }
);

为什么存在

官方CF开发者平台MCP只有 读 访问:

  • ✅ 列出工作人员
  • ✅ 获取员工详细信息
  • ✅ 查看工作者代码

不能:

  • ❌ 部署工人
  • ❌ 更新工人
  • ❌ 管理路线/秘密

这个MCP填补了这个空白。

GARZA OS堆栈

Claude
  ↓
CF Workers MCP ← YOU ARE HERE
  ↓
Cloudflare API
  ↓
Workers Runtime

其他MCP服务器:

  • 工艺 -知识库(主要数据源)
  • 加尔萨之家 -Beeper、UniFi、Abode、ProtonMail、圣经
  • Last Rock Dev -GitHub、Fly.io、n8n、Scout APM、CF DNS

获取凭据

  1. 账户ID:仪表板→ 工人和页面→ 复制帐户ID
  2. API代币:仪表板→ 我的资料→ API令牌→ 创建令牌
    • Template:“编辑Cloudflare Workers”
    • 或自定义: Workers Scripts:Edit, Workers Routes:Edit

切勿将凭据提交到repo

GitHub操作(可选)

推送自动部署-需要GitHub机密:

  1. 转到仓库设置→ 秘密
  2. 添加 CF_ACCOUNT_ID
  3. 添加 CF_API_TOKEN
  4. 推至 main 或手动触发

发展

npm install

# Run locally
CF_ACCOUNT_ID=xxx CF_API_TOKEN=yyy node index.js

# Test with inspector
npx @modelcontextprotocol/inspector node index.js

许可证

麻省理工学院-GARZA OS的一部分

链接

  • github:https://github.com/itsablabla/cf-workers-mcp
  • GARZA操作系统配置:工艺文档14219