Cloudflare Code Mode MCP 深度研究报告

2026-02-21

一句话总结

Cloudflare 发布了一种叫 Code Mode 的技术,用 2 个工具(search() + execute())替代 2,500+ 个独立工具定义,把整个 Cloudflare API 的 MCP 接入压缩到 ~1,000 tokens(传统方式需要 117 万 tokens)。

🧠 核心问题

MCP(Model Context Protocol)已成为 AI agent 调用外部工具的标准。但有一个根本矛盾:

> Agent 需要很多工具才能干活,但每增加一个工具就会吃掉 context window,留给实际任务的空间就更少。

Cloudflare API 有 2,500+ 端点,完整 OpenAPI spec 是 200 万 tokens。即使做成最精简的 MCP 工具(只保留必填参数),仍需 24.4 万 tokens — 已经超过大多数模型的整个 context window。

🔧 Code Mode 方案

核心思路

不把每个 API 操作描述成独立工具,而是让模型写代码来操作一个 typed SDK,然后在安全沙箱中执行。

只暴露 2 个工具

search(code) — 发现能力

execute(code) — 执行操作

Token 对比

方案工具数Token 消耗占 200K context
原始 OpenAPI spec 塞进 prompt~2,000,000977%
原生 MCP(完整 schema)2,5941,170,523585%
原生 MCP(最小化,只必填参数)2,594244,047122%
**Code Mode****2****1,069****0.5%**

Token 减少 99.9%,且是固定开销 — 无论 API 有多少端点。

🏗️ 技术实现

沙箱执行

代码在 Dynamic Worker Loader 隔离区(V8 isolate)中运行:

认证

渐进式发现(Progressive Discovery)

这是 Code Mode 最精妙的设计。Agent 不需要预先知道所有 API 能力:

1. 先用 search() 探索 spec,写代码过滤出需要的端点

2. 还可以深入查看某个端点的 schema(参数类型、枚举值等)

3. 确认后用 execute() 执行

整个过程类似人类开发者查 API 文档 → 写代码调用的流程。

📊 实际例子:DDoS 防护配置

博客用了一个完整例子:"protect my origin from DDoS attacks"

1. 搜索端点 → 写 JS 过滤出 WAF 和 ruleset 相关路径,从 2,500 个端点缩小到 10 个

2. 查看 schema → 发现 phase 枚举包含 ddos_l7http_request_firewall_managed

3. 执行 API → 列出现有 ruleset,发现已有 DDoS 和 WAF 托管规则

4. 链式调用 → 一次 execute 中同时拉取 DDoS 和 WAF 配置

总共只用了 4 次工具调用,完成了从发现到执行的全流程。

🔄 与其他方案对比

博客明确对比了几种 context 压缩方案:

方案代表优势局限
**客户端 Code Mode**Goose, Claude SDK模型直接写 TypeScript需要客户端有安全沙箱
**CLI 方式**OpenClaw + MCPorterCLI 自文档化,渐进发现需要 shell 环境,攻击面大
**动态工具搜索**Claude Code只加载相关工具子集需维护搜索函数,匹配的工具仍消耗 token
**服务端 Code Mode****本文方案**固定 token、无需客户端改造、内置沙箱需要服务端支持

文章结论:服务端 Code Mode 综合了各方案优势 — 固定 token 开销、客户端无需改造、渐进发现内置、沙箱隔离执行。

> 值得注意:文中提到了 OpenClaw,说 OpenClaw 用 MCPorter 把 MCP server 转成 CLI 给 agent 用,属于"CLI 方式"的代表。

🔮 未来方向

MCP Server Portals — 把多个 MCP server 组合在一个网关后面:

这解决了"单个 API 的 token 问题解决了,但 agent 要连多个服务怎么办"的问题。

💡 与我们的关联

直接可用

我们用 Cloudflare(R2 存储 + Pages 部署 + DNS),可以直接配置这个 MCP server:


{
  "mcpServers": {
    "cloudflare-api": {
      "url": "https://mcp.cloudflare.com/mcp"
    }
  }
}

以后管理 DNS、R2、Pages 部署可以直接让 agent 操作,不用 SSH 到服务器跑 wrangler。

设计启发

Code Mode 的思路可以泛化:

1. 任何大型 API 都可以用 search() + execute() 两个工具替代数百个独立工具

2. OpenAPI spec 不进 context — 只通过代码查询,结果才进 context

3. 沙箱执行 — V8 isolate 比 Docker 更轻量,比裸 shell 更安全

4. 这个模式本质上是把 agent 从"选工具"变成了"写代码",对强模型(Claude/GPT-4)很自然

OpenClaw 被提及

博客把 OpenClaw 的 MCPorter/CLI 方式列为竞争方案之一,说明 Cloudflare 团队在研究 agent 工具调用时认真考察了 OpenClaw 的做法。

📎 参考链接