去年底开始,MCP(Model Context Protocol)这阵风就从 AI 编程工具圈一路吹到了日常开发者的面前。Claude Code、Cursor 这些工具大家都在装 MCP server,但说实话,很多 MCP 都是社区开发者塞进去的小玩具,真正由官方维护、能直接管理云端基础设施的不算多。Cloudflare 推出的官方 MCP server 是我最近实测下来比较有代表性的一个:通过它,AI 助手可以直接查询和修改 DNS 记录、部署 Worker、操作 R2 对象存储和 D1 数据库,相当于把 Cloudflare 的整张管理面“接入”了对话窗口。这篇文章不聊概念以外的东西,就写我怎么从零配置、跑通、并且踩了哪些坑,想给准备在 Claude Code 或 Cursor 里接 Cloudflare MCP 的朋友一份可以直接照着做的记录。
1. 先弄清楚:MCP 到底是个什么“协议”
1.1 从“工具调用的暴政”说起
在 MCP 出现之前,想让 AI 替我操作一个外部系统,通常只有两条路:要么让 AI 只生成代码,我自己复制去跑;要么我预先写好一套 API 调用脚本,把参数暴露给 AI 去填充。第一条路的问题是“AI 只动嘴,动手的还是我”,第二条路的问题是每接一个服务就要写一套独立脚本,还要自己管鉴权、解析返回结果、处理错误。做多了你就会发现,AI 像个刚入职但不会用内部系统的实习生,什么都要你手把手帮它对接。
MCP 想解决的正是这个割裂问题。它定义了一套统一协议,让 AI 应用(Host)通过本地或远程的 MCP Server 发现并调用外部能力。Server 只需要把工具(Tool)暴露出来,AI 客户端就能拿到这些工具的名字、参数说明和返回结构,然后自主决定“该调哪个函数”。步骤从“写脚本 -> 调 API -> 解析 JSON”简化成了“AI 知道有这个工具 -> AI 按规则发起调用 -> 你得到执行结果”。
1.2 MCP 的核心概念:Client、Server、Tool、Resource
我第一次看文档时被一堆名词绕晕了,拆开看其实不复杂:
- Host:承载 AI 对话的应用,比如 Claude Desktop、Claude Code、Cursor。
- Client:Host 内部负责和 Server 建立连接、管理会话的组件。
- Server:暴露工具和资源的独立进程或服务,比如 Cloudflare 官方这个 MCP server。
- Tool:Server 提供给 AI 的函数,比如
create_worker、list_dns_records。 - Resource:Server 暴露的可读数据,通常以 URI 形式表示,AI 可以像读文件一样读取,例如 Cloudflare zone 的配置信息。
理解它们之间的关系,可以用一个“USB-C 统一接口”的类比:MCP 就是那个统一接口标准,Server 是各种外设,Host 是电脑。电脑不需要知道外设内部怎么工作,只要外设符合接口标准,插上就能用。AI 也一样,不需要关心 Cloudflare API 的鉴权方式和请求格式,只要 MCP Server 把能力包装成标准工具,它就能直接调用。
另外经常有人问 MCP 和 Skills 有什么区别。我目前的体会是,Skills 更像“提示词包”,作用是教会 AI 某种工作流程或思维方式,不一定能真正触发外部操作;MCP Tool 则是真实能握住的外部系统操作把手。两者不是替代关系,而是搭配关系:用 Skill 定义步骤,用 MCP Tool 执行动作。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Cloudflare 为什么要做自己的 MCP server
2.1 Cloudflare 生态里值得被 AI 操作的东西
Cloudflare 现在远远不止一个 CDN,它更像一个边缘计算平台。日常开发里,我们最常打交道的资源包括:
- Worker:无服务器函数,部署在全球边缘节点。
- DNS Record:域名解析记录,改一条记录是高频操作。
- Pages Project:静态站点和全栈应用托管。
- R2 Object Storage:兼容 S3 的对象存储。
- D1 Database:基于 SQLite 的边缘关系型数据库。
- KV Storage:轻量键值存储。
这些资源全部有对应的 HTT
