关于 Cloudflare MCP Pro
Cloudflare MCP Pro 是通过本地 stdio 服务向 MCP 客户端开放 Cloudflare REST API v4 操作的项目。它整合 DNS、Workers、存储、安全等服务的工具,并为修改操作提供确认预览。
主要功能
- 01Cloudflare REST API v4 操作
- 02DNS、Workers 和存储工具
- 03安全、邮件与分析工具
- 04修改操作需人工确认
- 05分页和 API 错误处理
适用场景
- 01检查和管理 DNS 记录
- 02部署或管理 Workers 资源
- 03查看 Cloudflare 安全设置
- 04应用更改前预览操作
MCP 相关
本地 stdio MCP 服务提供 69 种 Cloudflare 账户和区域操作工具。修改类工具会先返回预览,传入 confirm: true 后才执行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y cloudflare-mcp-proCLOUDFLARE_API_TOKEN密钥Cloudflare API token from dash.cloudflare.com/profile/api-tokensCLOUDFLARE_ACCOUNT_IDDefault account ID used when a tool needs an account and you don't pass account_idCLOUDFLARE_API_BASEOverride the API base URL (defaults to https://api.cloudflare.com/client/v4)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
69收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Cloudflare MCP Pro ☁️
Cloudflare REST API v4 的 MCP 服务——涵盖 DNS、Zones、Workers、KV、R2、D1、Pages、Queues、Tunnels、SSL、WAF、Email Routing、Logpush 和 Workers AI 的 69 个工具,通过 API 令牌进行身份验证,运行于单个本地 stdio 服务中。
与 Cloudflare 官方提供的方案(13 个独立的远程、基于 OAuth 的服务)不同,cloudflare-mcp-pro 通过 stdio 在本地运行,使用单个 API 令牌进行身份验证,并将最常用的 Cloudflare 操作整合到一个服务中,工具名称统一采用 verb_object 格式——非常适合 Claude Code、CI 和脚本自动化。
功能
- DNS — 列出/创建/更新/删除记录、DNSSEC、导出 BIND 区域文件
- 区域 — 列出/获取/创建/删除,设置(SSL 模式、HTTPS、最低 TLS 版本等)、清理缓存、GraphQL 分析
- Workers — 部署(ES 模块)、路由、机密、cron 触发器、列出/获取/删除
- KV / R2 / D1 — 命名空间 + 键的增删改查、存储桶管理、数据库 + SQL 查询
- Pages / Queues / Tunnels — 列出/获取项目、队列管理、隧道检查
- 安全 — WAF 规则集、IP/ASN/国家访问规则、页面规则、SSL 证书包、自定义主机名(SaaS)、Turnstile 小组件
- 电子邮件路由 — 规则 + 目标地址
- Logpush — 列出/创建作业(按区域或账户范围)
- Workers AI — 模型目录 + 推理(文本生成、嵌入、分类)
- 人工审批关卡 — 每个变更工具都需要
confirm: true;没有此参数时,工具会返回不会执行操作的预览(并隐藏机密),而不会执行操作(见下文) - MCP 注释 — 每个工具都带有只读/破坏性/幂等提示,客户端可据此拦截危险操作
- 自动分页 — 列表工具中的
fetch_all: true会遍历所有页面 - 单个 API 令牌认证、自动重试 + 速率限制(429/5xx)处理,以及可执行的错误消息
安装
npm install
npm run build
发布后也可直接运行:
npx -y cloudflare-mcp-pro
配置
将 .env.example 复制为 .env,并填写:
| 变量 | 必需 | 描述 |
|---|---|---|
CLOUDFLARE_API_TOKEN | ✅ | 来自 https://dash.cloudflare.com/profile/api-tokens 的 API 令牌 |
CLOUDFLARE_ACCOUNT_ID | 可选 | 工具未收到 account_id 时使用的默认账户 ID |
CLOUDFLARE_API_BASE | 可选 | 覆盖 API 基础 URL |
令牌范围取决于你的使用场景,例如:Zone:Read、DNS:Edit、Workers Scripts:Edit、Workers KV Storage:Edit、Workers R2 Storage:Edit、D1:Edit、Pages:Edit、Account Analytics:Read。运行 verify_token 工具以确认令牌有效。
测试
运行自动化测试套件(不访问网络 — fetch 已模拟):
npm test
测试涵盖人工审批关卡、机密隐藏、安全验证(十六进制 ID、路径段编码、模型 ID 允许列表、清理操作互斥、分析数据小时对齐)、API 客户端(查询序列化、429 重试、错误映射、分页 + 上限、GraphQL 非 JSON 防护)以及 Zod→JSON-Schema 转换器。
使用 MCP inspector 进行交互式测试:
npx @modelcontextprotocol/inspector dist/index.js
添加到 Claude Code
在 .claude/settings.json → mcpServers 中:
{
"mcpServers": {
"cloudflare-mcp-pro": {
"command": "node",
"args": ["projects/cloudflare-mcp-pro/dist/index.js"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-token",
"CLOUDFLARE_ACCOUNT_ID": "your-account-id"
}
}
}
}
添加到 Claude Desktop
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cloudflare-mcp-pro": {
"command": "node",
"args": ["/absolute/path/projects/cloudflare-mcp-pro/dist/index.js"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-token",
"CLOUDFLARE_ACCOUNT_ID": "your-account-id"
}
}
}
}
人工审批关卡
所有变更工具(任何 create_*、update_*、delete_*、deploy_*、put_*、edit_*、purge_cache、query_d1、run_ai 等)均由服务端进行拦截。只读工具(list_*、get_*、verify_token、export_dns_records、分析工具)不会被拦截。
- 调用变更工具时若未提供
confirm: true,会返回confirmation_required预览,说明工具、风险级别以及参数(已隐藏机密)——不会执行操作。 - 人工批准后,使用
"confirm": true再次调用同一工具,即可实际执行操作。
无论 MCP 客户端为何,该关卡都会在服务端强制执行,并与 MCP annotations(destructiveHint)协同工作,在 Claude Code 等兼容客户端中提示人工审批。机密值(例如 Worker 机密 text)会在预览中隐藏,且绝不会出现在错误消息中。
// 1) preview (no confirm) → nothing happens
delete_zone { "zone_id": "..." }
// → { "status": "confirmation_required", "risk": "DESTRUCTIVE — ...", ... }
// 2) after human approval
delete_zone { "zone_id": "...", "confirm": true } // actually deletes
工具(69)
列表工具接受 fetch_all: true 以继续获取分页结果。修改类工具接受 confirm: true(参见上方的门控说明)。每个工具都会声明 MCP 注解(readOnlyHint / destructiveHint / idempotentHint)。
账户 — verify_token、list_accounts
区域与设置 — list_zones、get_zone、create_zone、delete_zone、purge_cache、get_zone_analytics、get_zone_setting、update_zone_setting
DNS — list_dns_records、create_dns_record、update_dns_record、delete_dns_record、get_dnssec、edit_dnssec、export_dns_records
Workers — list_workers、get_worker、deploy_worker、delete_worker、list_worker_routes、create_worker_route、delete_worker_route、put_worker_secret、delete_worker_secret、update_worker_cron
KV — list_kv_namespaces、create_kv_namespace、kv_list_keys、kv_get、kv_put、kv_delete
R2 — list_r2_buckets、create_r2_bucket、delete_r2_bucket
D1 — list_d1_databases、create_d1_database、query_d1
Pages — list_pages_projects、get_pages_project
WAF 与防火墙 — list_firewall_rulesets、get_ruleset、list_access_rules、create_access_rule、delete_access_rule
页面规则 — list_page_rules、create_page_rule、delete_page_rule
SSL/TLS — list_certificate_packs、get_ssl_verification、order_certificate_pack
自定义主机名(SaaS) — list_custom_hostnames、create_custom_hostname、delete_custom_hostname
Email Routing — list_email_rules、create_email_rule、list_email_destinations
队列 — list_queues、create_queue、delete_queue
隧道 — list_tunnels、get_tunnel
Turnstile — list_turnstile_widgets、create_turnstile_widget
Workers AI — list_ai_models、run_ai
Logpush — list_logpush_jobs、create_logpush_job
作者
Helbert Paranhos / Strat Academy — stratacademy.com.br
- GitHub: @helbertparanhos
- Instagram:@helbertparanhos
- YouTube:@stratacademy
- LinkedIn:helbert-paranhos
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。