ByteNoteByteNote

字节笔记本

2026年7月19日

Cloudflare MCP 到底能不能管 Tunnel?翻了源码给你答案

API中转
¥120

很多人装完 Cloudflare 官方的 Agent Setup 之后,会冒出一个疑问:那些 MCP server 到底能不能管 Tunnel?我翻了三个官方仓库的源码和 OpenAPI 规范,把答案和完整能力清单整理了出来。

结论先放前面:能操作 Tunnel,但入口只有一个——主 API MCP server(mcp.cloudflare.com/mcp)。Cloudflare 那 15 个领域专用 server 里没有任何一个能管 Tunnel。

一、两套 MCP server 的真相

Cloudflare 实际上有两类 MCP server,分别来自两个仓库:

仓库类型机制数量能否操作 Tunnel
cloudflare/mcpCode Mode 主 server2 个通用工具 (search / execute) + OpenAPI spec(2108 端点)在沙箱里动态调用1 个(覆盖 20 个 tunnel 端点)
cloudflare/mcp-server-cloudflare领域专用 server每个 product 一个独立 server,typed 工具15 个不能(无 tunnel 专用 server)

很多人以为官方文档里说的"5 个 MCP server"就是全部,其实领域专用 server 已经扩到 15 个了。其中唯一跟 Zero Trust 沾边的是 cloudflare-one-casb,但它只做 CASB(SaaS 安全配置审计),完全不碰 Tunnel。

二、主 server 是怎么操作 Tunnel 的

主 server 不导出固定工具,而是把整个 Cloudflare OpenAPI 规范(2108 个端点)注入隔离沙箱,靠两个通用工具干活:

工具作用
search在 2108 个端点中按 tag / 路径搜索 tunnel 相关端点
execute在隔离 isolate 里执行模型写的 JS,通过受限的 outbound proxy(只允许 *.cloudflare.com 主机)自动注入 API Token 发起真实请求

工具名按 pathToToolName(method, path) 规则动态生成,例如 POST /accounts/{id}/cfd_tunnelpost_accounts_cfd_tunnel。源码就在 cloudflare/mcp/src/openapi.ts

这套机制的好处是:Cloudflare API 每加一个端点,主 server 自动就能用,不用等 MCP server 更新。

三、Tunnel 操作能力完整表格

下面这 20 个端点全部存在于 cloudflare/api-schemasopenapi.json 里,因此都能通过主 server 的 execute 调用:

操作类别HTTP 方法 + 路径生成的工具名能力说明
列出 / 筛选 TunnelGET /accounts/{id}/cfd_tunnelget_accounts_cfd_tunnel列出所有 cloudflared tunnel
创建 TunnelPOST /accounts/{id}/cfd_tunnelpost_accounts_cfd_tunnel新建 tunnel(含 remotely-managed)
获取单个 TunnelGET /accounts/{id}/cfd_tunnel/{tunnel_id}get_accounts_cfd_tunnel_by_tunnel_id查看详情
更新 TunnelPATCH /accounts/{id}/cfd_tunnel/{tunnel_id}patch_accounts_cfd_tunnel_by_tunnel_id改名称 / 状态
删除 TunnelDELETE /accounts/{id}/cfd_tunnel/{tunnel_id}delete_accounts_cfd_tunnel_by_tunnel_id清理 tunnel
🔑 获取 Tunnel TokenGET /accounts/{id}/cfd_tunnel/{tunnel_id}/tokenget_accounts_cfd_tunnel_token_by_tunnel_id拿到 cloudflared tunnel run 用的 token
📝 读 Tunnel ConfigurationGET /accounts/{id}/cfd_tunnel/{tunnel_id}/configurationsget_accounts_cfd_tunnel_configurations_by_tunnel_id读取 ingress rules
📝 写 Tunnel ConfigurationPUT /accounts/{id}/cfd_tunnel/{tunnel_id}/configurationsput_accounts_cfd_tunnel_configurations_by_tunnel_id设置 ingress rules / 路由
查看 ConnectionsGET /accounts/{id}/cfd_tunnel/{tunnel_id}/connectionsget_accounts_cfd_tunnel_connections_by_tunnel_id查活跃连接
清理 ConnectionsDELETE /accounts/{id}/cfd_tunnel/{tunnel_id}/connectionsdelete_accounts_cfd_tunnel_connections_by_tunnel_id强制断开
管理 ConnectorsGET /accounts/{id}/cfd_tunnel/connectors/{connector_id}get_accounts_cfd_tunnel_connectors_by_connector_idWARP Connector 信息
Tunnel 管理动作POST /accounts/{id}/cfd_tunnel/{tunnel_id}/managementpost_accounts_cfd_tunnel_management_by_tunnel_idcleanup 等动作
🌐 列出 Virtual NetworksGET /accounts/{id}/teamnet/virtual_networksget_accounts_teamnet_virtual_networks列出虚拟网络
🌐 创建 Virtual NetworkPOST /accounts/{id}/teamnet/virtual_networkspost_accounts_teamnet_virtual_networks新建虚拟网络
改 / 删 Virtual NetworkPATCH/DELETE .../virtual_networks/{virtual_network_id}patch/delete_accounts_teamnet_virtual_networks_by_virtual_network_id编辑 / 删除
🔗 列出 Tunnel RoutesGET /accounts/{id}/tunnelsget_accounts_tunnels公共 hostname / IP 路由表
🔗 创建 Tunnel RoutePOST /accounts/{id}/tunnelspost_accounts_tunnels给 tunnel 加路由
WARP Connector 全套.../warp_connector/...*_warp_connector*WARP Connector CRUD

cfd_tunnel 就是 cloudflared tunnel 的资源名(原 Argo Tunnel),日常说的"管 Tunnel"基本都指它。

四、Skills 仓库里有什么

cloudflare/skills 一共 11 个 skill,跟 Tunnel / 网络直接相关的有 2 个:

Skill内容性质
cloudflare-oneAccess / Gateway / WARP / Tunnel / Cloudflare WAN / DLP / CASB 的设计、配置、排障指南📖 指导性知识,不是工具
cloudflare-one-migrations从 Zscaler / Palo Alto / legacy VPN / SWG / SASE 迁移到 Cloudflare One(含 tunnel 迁移)📖 指导性知识

注意 Skills 本身不直接操作 API,它给 agent 的是教科书式指导,告诉它该调哪个 MCP 工具 / 哪个端点。真正落地还是要靠主 Code Mode MCP server。

五、最小安装建议

想用 Agent 管 Tunnel,最少装这几样就够了:

bash
# 1. 必装:主 Code Mode server(操作 tunnel 的唯一入口)
#    添加到你的 agent MCP 配置:
"cloudflare": { "url": "https://mcp.cloudflare.com/mcp" }

# 2. 推荐:文档检索(免登录,写 ingress 时查最新语法)
"cloudflare-docs": { "url": "https://docs.mcp.cloudflare.com/mcp" }

# 3. 推荐:tunnel 相关的 skill 知识(教 agent 怎么配)
npx -y skills add cloudflare/skills --skill 'cloudflare-one' --yes --global

首次使用时 OAuth 会自动触发登录授权,连上之后就能让 Agent 直接创建 tunnel、拿 token、写 ingress rules。

六、一句话总结

Cloudflare 把整个 API 规范丢进沙箱让 Agent 自己写代码调用,这种"Code Mode"设计绕开了"每个产品做一个 MCP server"的笨办法。代价是工具列表不直观、调试时看不到具体调了哪个端点;好处是 API 一更新就能用,Tunnel、Virtual Network、WARP Connector 全覆盖。

只要记住一点:装 MCP 时一定带上主 server mcp.cloudflare.com,否则那些领域专用 server 帮不上 Tunnel 任何忙。

分享: