关于 Mcp Cloudflare Dns
Mcp Cloudflare Dns 是供运维人员通过 MCP 客户端管理 Cloudflare 区域和 DNS 的 MCP 服务。它涵盖记录变更、缓存与页面规则操作,并会重试可重试的 Cloudflare 请求。
主要功能
- 01查看区域及设置
- 02读取和管理 DNS 记录
- 03清除缓存内容
- 04列出页面规则
- 05重试可重试的请求
适用场景
- 01检查可用区域及设置
- 02创建或更新 DNS 记录
- 03内容变更后清除缓存
MCP 相关
向 MCP 客户端提供 Cloudflare 区域、DNS 记录、缓存清除和页面规则工具。删除记录和清除全部缓存等破坏性操作需通过环境标志启用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
uvx mcp-cloudflare-dns需要配置的环境变量
CF_API_TOKEN密钥Cloudflare API token with Zone DNS Edit, Zone Read, and Cache Purge permissionsCF_ALLOW_DESTRUCTIVESet to 'true' to enable DNS record deletion and full cache purge本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
10收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name_filter | any | 否 | 用于筛选结果的可选域名子字符串(例如 'example.com') |
详细介绍
mcp-cloudflare-dns
面向运维人员的 Cloudflare DNS MCP 服务,让他们无需每次更改都打开 Cloudflare 控制面板,就能通过 MCP 客户端管理区域、记录、缓存和页面规则。
发布状态:Beta 软件包,版本为 pyproject.toml 中的 0.1.1。
选择你的路径
| 你是…… | 从这里开始 | 然后 |
|---|---|---|
| 在 Claude/Codex/Cursor 中安装服务 | docs/start-here.md | 查看下方的快速入门 |
| 确认服务可以操作哪些内容 | 可用工具 | docs/architecture.md |
| 审查软件包或发布元数据 | pyproject.toml | server.json |
架构
flowchart TD
U[AI operator] --> C[MCP client]
C --> S[FastMCP server]
E[CF_API_TOKEN] --> S
S --> T[Tool handlers]
T --> R[Retry wrapper]
R --> A[Cloudflare API]
A --> R --> T --> C
请求流程
flowchart TD
Q[Operator asks for a DNS change] --> H[Selected MCP tool]
H --> I[Load token and build client]
I --> J{Cloudflare call succeeds?}
J -- yes --> K[Return normalized JSON result]
J -- retryable --> L[Backoff and retry]
L --> J
J -- no --> M[Return error payload]
快速入门
- 安装软件包。
python -m pip install mcp-cloudflare-dns
- 导出具有 DNS 权限的令牌。
export CF_API_TOKEN="your-cloudflare-api-token"
- 在 MCP 客户端中注册。
{
"mcpServers": {
"cloudflare-dns": {
"command": "uvx",
"args": ["mcp-cloudflare-dns"],
"env": {
"CF_API_TOKEN": "your-cloudflare-api-token"
}
}
}
}
可用工具
| 工具组 | 工具 | 用途 |
|---|---|---|
| 区域清单 | list_zones、get_zone、get_zone_settings | 查看可用区域和关键设置 |
| DNS 记录 | list_dns_records、get_dns_record、create_dns_record、update_dns_record、delete_dns_record | 读取和修改记录 |
| 边缘操作 | purge_cache、list_page_rules | 清除缓存内容并查看页面规则 |
delete_dns_record 和全缓存操作仍受限于 docs/start-here.md 中所述的破坏性操作环境变量开关。
运行时依据
| 声明 | 依据 |
|---|---|
| 软件包入口点稳定 | pyproject.toml 中的 mcp-cloudflare-dns = "cf.server:main" |
| 服务专用于 MCP,而非通用命令行工具 | cf/server.py 中的 FastMCP("mcp-cloudflare-dns") |
| Cloudflare 故障会重试 | cf/server.py 中的 _call() |
| 已构建发布产物 | 仓库中包含 dist/ wheel 和 tarball |
仓库目录
| 路径 | 用途 |
|---|---|
cf/server.py | FastMCP 工具接口、环境变量加载、重试包装器 |
pyproject.toml | 软件包元数据、版本、脚本入口点 |
server.json | 用于 MCP 发现的注册表元数据 |
docs/start-here.md | 设置、环境变量、验证、常见故障 |
docs/architecture.md | 组件概览和请求生命周期 |
验证
| 检查项 | 命令 |
|---|---|
| 导入可编译 | python -m compileall cf |
| 软件包可构建 | python -m build |
| README 链接保持为本地链接 | rg '\\]\\(([^)]+\\.md)\\)' README.md docs/ |
许可证
MIT
新任务的项目背景
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。