Agent 与自动化 4.0 · 优秀 2026-09-29 · 文章

You Said No MCP!

Pi 团队解释为什么在长期拒绝 MCP 后又把它迎进核心:一方面 MCP 本身在进化,更关键的是接入它所需的改造(工具可配置为 deferred 或 Codemode 专属更丰富的 tool loadout 元数据)对 harness 本身也普遍有用文章给出对 MCP 的当代定位带智能工具发现的 OpenAPI:工具应返回结构化数据靠文档可发现;并用一个完整的 Codemode 会话展示 JS 沙箱编排 Linear MCP 与小模型分类器,在不占用主模型上下文的情况下给 167 个 issue 做情绪分类对 tool protocol 与 harness 设计都是高信号的实战反思

打开原文回到归档

"You Said No MCP!"

  • ID: f9d283d8
  • 原文链接: https://earendil.com/posts/you-said-no-mcp
  • 作者: Earendil Engineering (Pi team)
  • 日期: 2026-09-29
  • 更新: N/A
  • 分类: agents
  • 来源类型: article
  • 标签: mcp, codemode, tool-protocol, agent-harness, hn
  • 质量评分: 4/5
  • 抓取时间: 2026-10-01T12:21:44+00:00

中文导读

Pi(Earendil)团队曾经公开拒绝 MCP:pi.dev 首页长期挂着"Pi 不支持 MCP"的声明,播客里也多次表达轻视,Mario 还专门写过文章。而现在升级 Pi,MCP 已是核心支持的功能。这篇博文解释为什么改主意。

第一层原因是"世界不是静态的"——过去一年 MCP 本身在进化。但这不足以让它进核心:Pi 有扩展生态,MCP 本可以继续做扩展(此前也确实有 pi-mcp-adapter 这样的适配器)。真正的原因是接入 MCP 所需的改造对 harness 本身普遍有用:Pi 近几个月为支持延迟工具加载(deferred tool loading)、会话中系统消息、推理级别切换做了大量工作,但 tool loadout 元数据还没跟上;在 Codemode 场景下必须决定一个工具是面向主模型还是只面向 codemode 部分,普通 MCP 扩展拿不到足够元数据,所以工具需要可配置为 deferred 或 Codemode 专属。这些改造同时也让 Jev 之类的能力更容易接入 Pi。

文章给出对 MCP 的当代定位:更接近"带智能工具发现的 OpenAPI"——工具应返回结构化数据、靠文档与描述可发现。许多 MCP server 仍在为"把工具堆进上下文"的 harness 服务、靠返回纯文本省 token,MCP 最大的问题仍是难以组合(compose),但责任更多在 server 生态与各 harness 的处理方式。CLI 之所以好用,是因为 agent 用高效的 bash 组合把东西接起来,MCP 没有理由做不到——Pi 把 MCP 工具暴露给 JavaScript 沙箱(与 Codex 等做法类似)。

Codemode 是运行在 harness 一侧(而非 bash 沙箱一侧)的 JS 沙箱,用于编排协调工具调用:顺序更灵活、状态保存在会话转录而非文件系统里;JS 小程序可编译成 WASM 二进制,提供合理保护。实战示例:一条指令让 Pi 经 codemode 组合 Linear MCP 与小模型分类器 typesafe/jev,4 路并发拉取 167 个 open issue 及评论、逐条做情绪分类(结果 156 个 neutral、11 个 mild),全程不占用主模型上下文。团队的态度:与其旁观批评,不如拥抱并参与塑造它,让 MCP 在小型 harness 上也能工作良好。

为什么值得关注

拒绝 MCP 多年后 Pi 把它迎进核心:定位带智能发现的 OpenAPI,配套 Codemode JS 沙箱编排工具调用不占主模型上下文。对 tool protocol 与 harness 设计者都是高信号的实战反思——尤其是"接入协议所需的改造本身对 harness 有普遍价值"这一判断,以及一个完整的沙箱内多模型编排案例。

关键信息

  • 文章标题:"You Said No MCP!"
  • 作者:Earendil Engineering (Pi team)
  • 原文:https://earendil.com/posts/you-said-no-mcp
  • 发布时间:2026-09-29
  • 关联标签:mcp, codemode, tool-protocol, agent-harness, hn

English Summary

The Pi team explains why, after long publicly refusing MCP, they brought it into the core: MCP itself evolved, and the changes needed to host it well (tools configurable as deferred or Codemode-specific, richer tool-loadout metadata) are generally useful to the harness. They frame modern MCP as "OpenAPI with intelligent tool discovery" returning structured data, and demonstrate Codemode, a harness-side JS sandbox orchestrating the Linear MCP server plus a small classifier model to sentiment-rate 167 issues without consuming main-model context.

Obsidian Notes

  • 内容由 opencli web read 抓取原文全文生成,中文导读锚定在原文正文与条目既有摘要上。
  • 文中代码示例、issue 数量与分类结果均来自原文展示的 Codemode 会话记录。