mcp-cloudflare
mcp-cloudflare
用于通过 Cloudflare API v4 管理 DNS、区域、隧道、WAF、Zero Trust 和安全性的轻量级 Cloudflare MCP 服务器。
无 SSH。无 shell 执行。仅 API。仅 3 个运行时依赖。
目录
功能
涵盖 11 个领域的 75 个工具:
DNS — 记录管理(A、AAAA、CNAME、MX、TXT、SRV、CAA、NS),批量操作
区域 (Zones) — 区域列表、设置、SSL/TLS 配置、缓存管理
隧道 (Tunnels) — Cloudflare 隧道创建、配置和入口管理
WAF — 规则集管理、自定义防火墙规则、速率限制
Zero Trust — Access 应用程序 CRUD(创建/删除)、策略(创建/删除)、身份提供商(创建/删除)、Gateway 状态
安全 (Security) — 安全事件分析、IP 访问规则、DDoS 配置、安全中心洞察
Workers KV — 命名空间管理、键值读/写/删除、键列表
Workers — 脚本部署、路由管理
Worker 密钥 (Secrets) — 密钥管理(仅名称,值从不暴露)
Worker 分析 — 通过 GraphQL 获取调用指标、CPU 时间、错误率
R2 存储 — 存储桶管理、对象列表和元数据、自定义域名、位置提示
快速入门
npm install
cp .env.example .env # Edit with your Cloudflare API token
npm run build
node dist/index.js # stdio transport for MCPClaude Code 集成
添加到项目根目录的 .mcp.json 中:
{
"mcpServers": {
"cloudflare": {
"command": "node",
"args": ["/path/to/mcp-cloudflare/dist/index.js"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-api-token-here",
"CLOUDFLARE_ACCOUNT_ID": "your-account-id"
}
}
}
}配置
变量 | 必需 | 默认 | 描述 |
| 是 | — | Cloudflare API 令牌(具有适当权限) |
| 否 | — | Cloudflare 账户 ID(账户级操作必需) |
| 否 |
| 请求超时时间(毫秒) |
| 否 | — | HashiCorp Vault URL,启用 Vault AppRole 加载(见下文) |
| 否 | — | Vault AppRole role_id |
| 否 | — | Vault AppRole secret_id |
| 否 |
| Vault KV v2 挂载路径 |
从 HashiCorp Vault (AppRole) 加载密钥
如果您运行中央 Vault 实例,mcp-cloudflare 可以在启动时通过 AppRole 获取其凭据,而不是通过 MCP 配置传递它们:
export NAS_VAULT_ADDR=https://vault.example.com
export NAS_VAULT_ROLE_ID=<role-id>
export NAS_VAULT_SECRET_ID=<secret-id>
# optional — defaults to "kv"
export NAS_VAULT_KV_MOUNT=kv加载程序读取 <mount>/data/cloudflare/api 处的 KV v2,并期望两个键:api_token 和 account_id。Vault 写入示例:
vault kv put kv/cloudflare/api \
api_token=your-api-token-here \
account_id=00000000000000000000000000000000优先级: process.env (显式) > Vault。如果未设置 NAS_VAULT_ADDR,加载程序将静默不执行任何操作 — 服务器的行为与之前完全相同。在任何 Vault 错误(网络、身份验证、路径缺失)时,会将单行警告写入 stderr,服务器将回退到已设置的任何环境变量。
安全性: 密钥值从不记录。只有 KV 路径名称和填充计数会出现在 stderr 诊断中。使用全局 fetch (Node 20+) — 无新的运行时依赖。
API 令牌权限
在 dash.cloudflare.com/profile/api-tokens 创建 API 令牌,并根据需要授予以下权限:
DNS: Zone > DNS > Edit
区域设置: Zone > Zone Settings > Edit
缓存清除: Zone > Cache Purge > Edit
隧道: Account > Cloudflare Tunnel > Edit
WAF: Zone > Firewall Services > Edit
Zero Trust: Account > Access: Apps and Policies > Edit
安全事件: Zone > Analytics > Read
Workers KV: Account > Workers KV Storage > Edit
Workers: Account > Worker Scripts > Edit
R2: Account > R2 Storage > Edit
多区域支持
所有区域范围的工具都接受一个 zone_id 参数,该参数可以是:
32 字符的十六进制区域 ID (例如
00000000000000000000000000000001) — 直接使用区域名称 / 域名 (例如
example.com) — 通过 Cloudflare API 自动解析
这允许按名称管理多个区域,而无需手动查找 ID。
工具
工具文档将在 v1 中随工具模块的实现而提供。请参阅 docs/api-reference.md 获取计划的 API 端点映射。
技能
Claude Code 技能将 MCP 工具组合成更高级的工作流。请参阅 .claude/skills/README.md 获取详细文档。
技能 | 斜杠命令 | 描述 |
cloudflare-health |
| 区域健康仪表板 — DNS、安全、隧道、WAF、DDoS 状态 |
cloudflare-live-test |
| 实时集成测试 — 读取 + 带清理的安全写入 |
cloudflare-dns-management | — | DNS 记录管理 — 跨区域添加、列出、更新、删除 |
cloudflare-incident-response | — | DDoS/攻击应急响应 — 检测、评估、缓解、监控 |
cloudflare-security-audit | — | 安全态势审计 — WAF、事件、IP 访问、DDoS 分析 |
cloudflare-tunnel-management | — | 隧道管理 — 创建、配置入口、监控连接 |
cloudflare-waf-management | — | WAF 管理 — 自定义规则、规则集、IP 访问、受攻击模式 |
cloudflare-zero-trust | — | Zero Trust — 访问应用程序、策略、身份提供商、网关 |
cloudflare-kv-manage | — | Workers KV — 命名空间和键值 CRUD 操作 |
cloudflare-worker-deploy | — | Workers — 脚本部署、路由、密钥、分析 |
cloudflare-r2-manage | — | R2 存储 — 存储桶和对象管理、审计工作流 |
开发
npm run build # Compile TypeScript
npm test # Run unit tests (vitest)
npm run typecheck # Type check only (no emit)请参阅 CONTRIBUTING.md 获取贡献指南。
许可
本项目采用双重许可:
开源: GNU Affero General Public License v3.0 (AGPL-3.0) — 免费用于开源和非商业用途
商业: 可用于专有集成 — 请参阅 COMMERCIAL_LICENSE.md
如果您在专有产品或 SaaS 产品中使用 mcp-cloudflare,则需要商业许可。通过 在 GitHub 上赞助我们 来支持开发。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/itunified-io/mcp-cloudflare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server