"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 会话记录。