
管理网站的人都懂某个深夜域名突然解析不动、CDN 缓存把旧资源死死卡住那种焦虑感是刻在骨子里的。我以前遇到这种问题第一反应是掏手机、打开面板、一层层点菜单费时还容易点错。直到最近把 MCP Server 这套东西接进日常运维才发现以前那些重复操作绝大多数都可以直接甩给 AI 去跑。这篇就来聊聊 Cloudflare 官方的 MCP Server——它让你的 AI 助手直连 Cloudflare 账号用自然语言去查询和修改 DNS、刷新 CDN 缓存、调整安全防护规则。适合正在做网站运维、选了 Cloudflare 做解析和加速、又想用 AI 把重复劳动省下来的朋友。我会从协议原理、配置步骤、真实运维场景到避坑经验全讲一遍保证你照着能搭起来。1. 为什么要用 MCP Server 管理 Cloudflare1.1 MCP Server 到底是什么MCP 全称 Model Context Protocol是 Anthropic 在 2024 年底开源的一套标准化协议目的很明确解决“AI 模型怎么安全、规范地调用外部工具”这个问题。在 MCP 出现之前每个 AI 应用要接外部能力都得自己定义一套接口A 应用接 B 服务的方式搬到 C 应用里就是废的全程重复造轮子。把 MCP 理解成 AI 世界的“USB-C 接口”就好懂了。MCP Host 是支持 USB-C 的设备也就是你的 AI 客户端MCP Server 是各种外设比如这里要讲的 Cloudflare MCP Server。你不需要关心外设内部电路怎么设计只要它支持这套标准插上就能用。在一个 MCP Server 里通常会暴露一组“工具”每个工具对应一个可执行的动作AI 看到用户的指令后决定调用哪个工具、传什么参数。这里要澄清一个直觉误区MCP Server 不是部署在云端的服务器名字带 Server 容易让人误会。它其实是一个跑在你本机的 Node.js 进程通过你配置的 API Token 去调用 Cloudflare 的开放 API。所以你的 AI 客户端本地启动一个进程这个进程再以你的身份去操作 Cloudflare 账号链路就这么简单。1.2 传统运维方式与 MCP 方式的差别先看传统操作会遇到什么问题。改一条 DNS 记录你要么登录 Cloudflare Dashboard找到域名进入 DNS 管理页找到那条记录编辑保存要么打开终端翻出 API 文档写一段 curl 或者 Python 脚本填好 Zone ID 和认证头。这两种方式前者点得手麻后者代码写起来也烦人。把 MCP 接进来之后你只需要对 AI 说一句“把 api.example.com 的 A 记录改成 203.0.113.10走代理。”AI 会自己完成查 Zone、定位记录、发起修改这一整套动作然后把结果返回给你。这中间的差距其实就是“人对着文档翻译成 API 调用”和“AI 对着 MCP 工具定义翻译成 API 调用”的区别。对比一下更直观对比项传统面板手动 API 脚本MCP AI操作方式登录网页逐层点写 curl / SDK 代码自然语言对话学习成本低但要熟练高要熟 API低AI 懂 API批量处理差只能逐个好写循环好说清需求出错概率人肉容易点错低但调试要时间低但需人工确认可追溯性面板审计日志有脚本记录对话 审计日志但注意MCP 不是要替代你的 API 脚本。真正适合 MCP 的是“需求明确、动作零散”的操作比如单个域名查记录、刷新几条缓存。而那种几百条记录的批量迁移、复杂的循环任务自己写脚本仍然是更可靠的选择。1.3 Cloudflare MCP Server 能做什么Cloudflare 官方出品的这个 MCP Servernpm 包名是 cloudflare/mcp-server-cloudflare在 GitHub 上开源更新的频率挺高。它封装了 Cloudflare API 里最常用的一批运维动作覆盖了日常大部分工作DNS 记录全生命周期管理列出、查询、新增、修改、删除各种类型的记录A、AAAA、CNAME、TXT、MX、SRV 这些都支持。CDN 缓存操作查询缓存配置、清理缓存可以全站清也可以只清某个 URL、某个 Cache-Tag。站点与账号信息列出账号下所有域名Zone、查看站点的基本信息、获取 Zone ID。安全防护调整读取和修改安全级别、切换 Under Attack Mode、查询防火墙事件、设置简单的 IP 访问规则。SSL/TLS 状态查看 SSL 模式、证书状态部分版本也支持触发证书部署。我实测下来最顺手的就是 DNS 和缓存管理这两块是运维里最零碎、最耗时的操作。安全防护相关的工具也很实用尤其是站点被 CC 攻击时一句话就能把防护等级拉起来。需要注意的是不同版本的 MCP Server 暴露的工具集略有差异但核心功能基本稳定。2. 环境准备与配置详解2.1 API Token 怎么创建最稳妥配置 Cloudflare MCP Server 的第一步不是写代码而是搞定 API Token。这一步的权限控制直接决定你的安全边界所以我建议认真对待。登录 Cloudflare Dashboard 之后点右上角头像进入“My Profile”切到“API Tokens”页面点“Create Token”。这里有两种创建方式一是直接选系统模板比如“Edit zone DNS”这种二是点“Create Custom Token”自己配。我的建议是自定义因为模板通常权限偏大。自定义 Token 需要设置三项内容。第一是 Permissions权限按最小够用原则选。我的推荐组合Zone - DNS - Edit操作 DNS 记录Zone - Cache Purge - Purge刷新 CDN 缓存Zone - Zone - Read读取站点列表和基本信息Zone - Zone Settings - Read读取站点设置Zone - Firewall Services - Read如果你只查安全事件要改就 Edit第二是 Zone Resources资源范围。千万别选“All zones”就完事尤其是生产环境。我的习惯是 Include 指定域名哪个站点要纳管就把哪个加进去。如果域名很多至少也要按账号维度限制别把权限开成全局的。第三是 TTL。API Token 是有有效期的默认可能给一年。我个人的偏好是设 1 个月到期再续。对频繁使用的环境来说这有点麻烦但能促使你定期审视自己到底留了多少权限。创建完成后Token 只会完整显示一次一定要立刻复制保存到密码管理器里。2.2 选择合适的 MCP 客户端MCP Server 本身只是工具你需要一个 MCP Host 来驱动它。目前主流的客户端我都试过聊聊各自适合什么场景。Claude Desktop 是我最推荐首选。它对 MCP 的支持比较成熟安装之后在对话里直接就能用交互体验也最自然。你问它“帮我看看 example.com 的 DNS”它就像同事一样去查配置然后把结果讲给你听。Cursor 和 VS Code Copilot 这类代码编辑器也支持 MCP在写代码、查配置时比较方便尤其是做前端项目时直接把 Cloudflare 的 Workers 配置拉出来看。不过在日常运维对话场景里编辑器的聊天窗口不够顺手。还有一些命令行工具比如 mcp-cli适合脚本化调用批量跑任务时可以配合自动化流程。但作为普通站长从 Claude Desktop 入门就足够了。2.3 配置文件样例与逐项解释以 Claude Desktop 为例装好客户端后需要把 MCP Server 的启动配置写进去。注意不同版本配置入口的位置不同新版客户端一般在设置里直接有 Developer / MCP 相关选项可以在界面里添加也可以通过配置文件。下面这份配置文件的内容是通用的核心是 mcpServers 这个对象{ mcpServers: { cloudflare: { command: npx, args: [-y, cloudflare/mcp-server-cloudflare], env: { CLOUDFLARE_API_TOKEN: 你的_API_TOKEN, CLOUDFLARE_ACCOUNT_ID: 你的_ACCOUNT_ID } } } }这段配置干了三件事告诉客户端用 npx 启动这个 npm 包通过环境变量把 API Token 传进去再把账号 ID 带上让 MCP Server 知道去哪个账号下面取数据。ACCOUNT_ID 怎么找登录 Cloudflare Dashboard首页右侧域名列表的下方或左侧菜单的“账户 ID”栏目里能看到是一串 32 位十六进制字符串。配置完保存重启 Claude Desktop。这时候在会话里可以问一句“现在有哪些可用的工具”AI 会告诉你它已经连上了 Cloudflare MCP Server并列出可以调用的工具列表。看到这个基本就说明配置成功了。2.4 权限边界为什么重要很多人容易忽略一个问题当 AI 有了修改 DNS 的能力你的安全边界就变成了“AI 的每一次工具调用都能生效”。一旦 AI 的上下文里注入了恶意指令比如你在同一个对话里让它浏览了某个包含诱导内容的网页理论上存在被诱导执行危险操作的风险。所以权限控制不能马虎。第一API Token 一定要最小权限能用只读就别开写权限能用单域名就别开全局。第二建议日常会话挂一个只读 Token真正要做变更的时候再换带写权限的 Token操作完就换回来。第三生产环境的域名操作尽量在严格控制的机器上执行不要随地连接。老实说MCP 本身是工具风险主要取决于你如何配置授权。把这个想清楚再谈“造福运维”才不心虚。3. 实战用 AI 管 DNS 和 CDN3.1 场景一查域名解析、新增记录最基础的用法是查解析记录。举个例子你在对话里输入“帮我看看 blog.example.com 现在解析到哪是 CNAME 还是 A 记录”AI 拿到指令后会调用 DNS 查询工具在 example.com 这个站点下筛选 name 等于 blog.example.com 的记录然后返回结果。回答大致长这样“blog.example.com 是一条 CNAME 记录目标地址是 example.github.io代理状态为开启橙色云朵。”新增记录也简单。比如你需要给 api.example.com 加一条 A 记录指向 203.0.113.10并且希望流量经过 Cloudflare 代理。直接说需求AI 会组装好参数调用 create_dns_record传入 name、type、content、proxied 这些字段其中 TTL 会设为自动模式。这里有一个实操心得一定要让 AI 先读一遍现有的记录再动手不要直接说“帮我加上”。我踩过一次坑本来要加一条 TXT 记录因为当时没让 AI 先查询它下意识就把 SPF 里的 MX 记录顺手改了回来差点出问题。现在我的习惯是任何写操作前都明确要求 AI “先查询当前配置列出我将修改的内容等我确认再执行”。3.2 场景二批量清理 CDN 缓存CDN 缓存刷新是另一个高频操作。以前发版后要等缓存过期或者手动去后台一页页清现在一句话搞定。全站刷新时你可以说“把 example.com 的全站缓存清一下。”AI 会调用 purge_cache 工具传入 purge_everything 参数为 true。注意全站刷新的请求会瞬间让大量回源请求打到源站。如果源站带宽有限建议尽量避开流量高峰或者改用按 URL 精准清理。只清理某个文件的话跟 AI 说“把 https://example.com/assets/app.js 的缓存清掉”AI 会调用按文件清理的接口{ zone_name: example.com, files: [https://example.com/assets/app.js] }这种精细化操作在发版后特别实用不用整个站点回源成本低很多。我一般发版后的固定动作是让 AI 先列出本次改动的文件清单然后逐个清缓存确认无误后再让它做一次全站可用性检查。3.3 场景三调整安全防护等级站点被 CC 攻击或者恶意刷流量是每个站长都怕的事。以前要登录面板找到安全设置页滑动级别或者手动开启防护模式等你操作完攻击流量可能已经打了好几分钟。现在这个流程可以被压缩到一句话。我的实际用法是“example.com 看起来在被攻击帮我开启 Under Attack Mode再查一下最近 10 条防火墙事件。”AI 会先确认站点身份然后调用安全相关工具开启防护再把安全事件的列表拉出来给你分析。这里必须提醒一句Under Attack Mode 会给访客增加一个校验挑战页正常用户第一次访问会看到 “检查浏览器中” 的页面。所以这不是一个适合轻易开启的开关尤其在用户量大的门户网站上开启后可能导致用户体验下降。我的习惯是先让 AI 调出流量和攻击特征判断确实是异常流量后再决定是否开启并设置一个较短的持续时间比如 30 分钟之后自动关闭。3.4 场景四排查与诊断MCP Server 还有一个很实用的场景是做“组合式诊断”。比如用户反馈某个地区的域名解析失败你只靠内心的碎片知识一个个手动查会很慢但 AI 可以像值班工程师一样按流程查整套配置。我会让 AI“检查 example.com 的 DNS 记录是否有异常SSL 证书状态是否正常CDN 代理是否开启有没有可能拦截访问的防火墙规则”。它会依次拉取 DNS 记录、SSL/TLS 状态、代理设置、防火墙规则然后汇总出可疑点。这里面比较有意思的是AI 会结合自己对 DNS 和 CDN 通用的知识给你一个分析判断而不只是生硬地罗列数据。当然AI 的排查结果不等于必然定位根因毕竟很多问题是链路层面的。但这种组合查询能帮你快速排除配置层的问题省掉手动打开五六个页面的时间剩下的交给更底层的网络排查。4. 常见问题与排查技巧实录4.1 MCP Server 起不来或连不上这是配置第一天最容易遇到的事。常见原因就几个。第一npx 首次启动需要联网下载 npm 包等待时间长甚至在网络不稳定的环境中卡住不动。解决方法是换一个 npm 镜像源或者提前手动执行一次npx -y cloudflare/mcp-server-cloudflare让依赖先下载好。第二环境变量没传对。配置里 env 字段的大小写、Token 值是否带引号都会导致启动失败。可以在终端里直接执行启动命令看看输出日志同时确认CLOUDFLARE_API_TOKEN是否真的在环境里。第三JSON 文件格式错误。配置文件少了个逗号、多了一个引号客户端加载 MCP 列表时会直接跳过这个 Server。这种情况在客户端界面里看不到任何报错但工具列表为空。我的排查技巧是把配置文件内容贴到任意 JSON 校验工具里跑一遍格式没问题再保存。4.2 工具调用报错权限不足或找不到资源当 AI 能启动但一调用工具就报缺失权限或找不到 zone 时通常有三个原因。第一API Token 权限不够。报错信息可能类似 “Authorization error” 或 “Permission denied”这时去 API Token 页面确认是否勾选了对应的 Permissions。第二Zone Resources 范围没包含这个域名。比如 Token 只授权了 example.com但你去问 another.com当然查不到。第三ACCOUNT_ID 填错了。这个 ID 不是域名是账号级的 ID要在 Dashboard 首页找。我的建议是配置完成后先让 AI 执行一次最简单的操作比如“列出所有可访问的站点”如果这一步能成功说明 Token 和账号 ID 基本没问题后面某个操作报错就大概率是权限集合不完整。4.3 超时与限流问题Cloudflare 的 API 是有速率限制的不同接口阈值不同。如果你让 AI 一口气创建几百条 DNS 记录大概率会收到 429 限流错误。遇到这种情况别硬来。一个思路是把批量操作拆成小批次一次二三十条中间停顿几秒AI 会在工具调用间隙有等待时间。另一个思路是真正的大批量变更就不要用对话形式了直接写成脚本调用 Cloudflare API跑完再通过 MCP 做抽样验证。MCP 是用来做“精细操作”的不是用来做“大水管”的这个边界心里要有数。4.4 AI 误操作了怎么办说实话再小的概率把 DNS 修改权交给 AI 之后总会有担惊受怕的时候。我处理这类风险的方案是“备份 确认 审计”三件套。备份是用脚本把 DNS 记录定期导出常见做法是用 curl 拉取curl -X GET https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records?per_page100 \ -H Authorization: Bearer $CF_API_TOKEN \ -H Content-Type: application/json dns_backup.json每天跑一次保留最近七天的备份。确认是让 AI 在任何写操作前先列出执行计划你同意后再执行。审计是 Cloudflare 后台自带 Audit Log可以看到哪条记录在什么时间被谁修改过。真出问题时回溯日志定位用备份文件恢复这套流程基本能把影响控制在可控范围内。5. 实操心得与风险控制建议5.1 关键心得权限最小化 读多写少从这几周的实测来看我最大的体会是用好 Cloudflare MCP Server 的核心不是“怎么让 AI 多干活”而是“怎么让它只干你允许的活”。日常使用中我坚持两个原则。第一API Token 权限最小化。普通巡检、查配置用只读 Token必须做变更时临时换一个带写权限的 Token变更完成立刻换回。第二在对话里明确约定“所有修改操作之前先展示变更清单等我确认。”这句提示词不是摆设它确实能让 AI 在工具调用前多一步解释也算是给自己留一个反思的缓冲。有的人会觉得这样太啰嗦但运维这行越重要的操作越需要“慢半拍”的仪式感。让 AI 省掉的应该是反复点击菜单的机械时间而不是你的判断时间。5.2 什么时候适合交给 MCP什么时候不适合我给一个实用的判断标准操作越频繁、风险越低、越有标准答案越适合交给 MCP。反之越是一次性、高风险、需要拖到页面里人工确认的操作越不适合。适合的场景包括查 DNS 记录、新增解析、清理缓存、调整安全级别、查看证书状态、梳理防火墙事件。这些都是重复性高、出错影响又相对可控的动作。不适合的场景包括大规模 DNS 迁移、复杂的边缘规则批量修改、需要多人在线审批的生产变更。尤其是最后一种AI 是单线程聊天的它没有审批流的概念你让它改它就改了所以这种流程性操作还是留在工单系统里比较好。5.3 让 AI 先读文档再干活MCP Server 暴露的工具定义一般已经很清晰了但 AI 偶尔也会在不确定的情况下走弯路。我的做法是在 Claude Desktop 的对话设置里或者每次会话开头给它一段固定提示“在修改任何 DNS 或缓存配置前先查看 Cloudflare 的 API 文档或工具说明确认参数正确后再执行。”实测下来这样会减少几类低级错误比如该给 A 记录传 IPv4 却传成 IPv6、CNAME 记录里填了 https:// 前缀、TTL 写成非法值等等。虽然 MCP 工具本身会对参数做校验但 AI 多一重核对总是更稳。还有一个更省事的办法在系统提示词里写好这段规则每次会话自动加载。很多支持自定义 Instructions 的客户端都能设置把这当作运维的“护栏”之一就好。5.4 这个玩法还能怎么扩展Cloudflare MCP Server 只是 MCP 生态的一小块。把思路打开你会发现同样一套玩法可以复制到很多地方。比如接入一个监控告警 MCP Server让 AI 在收到告警时自动去查 Cloudflare 的防火墙事件和流量数据接入 GitHub MCP Server发布新版本时 AI 自动帮你把改动的静态资源缓存清理掉再接一个数据库查询的 MCP ServerAI 可以连源站日志库做简单的访问分析把异常流量和 Cloudflare 的安全事件关联起来。这几周用下来我有个很实际的感受AI 出现之后运维这个工作的重心正在慢慢从“执行”转移到“判断”。以前你要花半小时执行的指令现在 AI 帮你把执行时间压到几秒钟而你省下来的时间应该花在“这个操作该不该做、怎么做才更稳”这些真正有含金量的事情上。最后再分享一个小技巧也是我目前每天在用的“固定节目”早上到工位打开 Claude Desktop问一句“把账号里所有域名的 DNS 记录和证书状态汇总成表格发给我”。这个动作以前要开十几个域名后台慢慢看现在几分钟就汇总完还能顺手发现哪条记录不小心指错了 IP。这大概就是 AI 运维最理想的状态——机器干重活人做判断。