
【免费下载链接】pi-mcp-adapterToken-efficient MCP adapter for Pi coding agent项目地址https://gitcode.com/gh_mirrors/pi/pi-mcp-adapter点击查看免费下载pi-mcp-adapter 是一个为 Pi 编码 Agent 打造的省 Token MCP 适配器。本文深入解析它的两大协议层能力MCP Tasks 长任务扩展SEP-2663和 MCP 2026-07-28 版本协商机制讲清楚长任务为什么能透明轮询到完成以及protocolVersion: auto背后到底发生了什么。为什么需要 MCP Tasks从阻塞调用到长任务传统 MCP 工具调用是一问一答连接建立后一直阻塞直到工具执行完才返回结果。一个跑几十分钟的批处理任务会把整条连接和 Pi 的工具调用一起挂住。MCP Tasks 扩展io.modelcontextprotocol/tasks规范编号 SEP-2663改变了这个模型长耗时工具不再阻塞而是立即返回一个持久的任务句柄task handle客户端按服务端建议的间隔轮询状态最终结果返回时对模型而言就像这次调用本来就是同步完成的。pi-mcp-adapter 在 2.35.0 版本引入该支持见 CHANGELOG.md带来四个关键行为返回任务句柄的工具调用被透明轮询到完成最终结果按同步调用的契约返回任务中途暂停等待输入input_required时问卷请求会路由到与elicitation/create相同的交互式 UI答案经tasks/update送回服务端取消 Pi 工具调用时会向服务端发送协作式tasks/cancel让远端真正停止工作任务以 JSON-RPC 错误失败时表面呈现的错误与同步调用完全一致现有的会话恢复逻辑无需改动。2026-07-28 版本协商三种模式怎么选MCP Tasks 只在 2026-07-28 协议年代的连接上可用因此版本协商是它的前提。适配器通过每个服务器的protocolVersion字段控制定义见 types.ts取值行为适用场景legacy默认经典initialize握手不带server/discover和 2026 头部兼容已部署的 2025 年代服务器auto探测 2026-07-28发现旧式证据时保守回退到经典握手Cloudflare WorkerscreateMcpHandler等 MCP SDK v2 无状态服务器2026-07-28锁定该版本不回退服务器不满足则直接失败需要严格协议约束的场景几个实现细节值得了解stdio 服务器的 auto 协商会先用一个短命的兄弟进程探测再启动正式会话进程因此每次自动连接多一次进程创建HTTP 服务器直接用真实的 Streamable HTTP 连接协商只在端点明确拒绝 Streamable HTTP404/405/406/415 等时才回退到旧式 SSE认证失败、超时等错误绝不会被误判为端点不兼容端点形状探测逻辑在 mcp-probe.ts 中先发一次带MCP-Protocol-Version: 2026-07-28头部的server/discover请求只有响应中的protocolVersion精确匹配 2026-07-28 才认定为现代端点分类结果会在诊断信息中说明依据。完整说明见 docs/servers.md 的 Protocol version negotiation 小节。MCP Tasks 实现细节RawRequestChannel 与任务会话这一层是最考验工程功力的部分。核心难题2026-07-28 连接下MCP SDK 客户端的编解码器会拒绝任务形状的流量入站resultType: task、出站tasks/*方法。官方modelcontextprotocol/ext-tasks包因此要求宿主提供一个原始派发明文通道在 SDK 客户端之下直接发送 JSON-RPC 帧。适配器在 mcp-tasks.ts 中实现了RawRequestChannel类来承担这个角色设计上有三个精妙之处链式挂载而非替换通道把自己的onmessage/onclose处理器链式接到已连接传输上传输对象本身包括其类身份和hasPerRequestStream等能力保持原样SDK 的版本协商探测和按请求流取消都不受影响ID 空间隔离原始请求使用带保留前缀的字符串 IDpi-mcp-tasks-开头与 SDK 的数字 ID 永不冲突响应在进入 SDK 客户端之前就被消费掉其余流量原样透传可观测性任务帧在进出两个方向都会出现在/mcp-trace中排查问题不用猜。任务会话的激活条件同样严格serverAdvertisesTasks()mcp-tasks.ts要求连接处于 modern 年代且服务端能力声明中io.modelcontextprotocol/tasks是精确的空对象——任何偏差都会降级回普通调用路径绝不让会话悄悄走错路由。因此不支持 Tasks 的服务器完全不受影响也不支持 2025-11-25 旧版实验性任务。相关行为覆盖了超时默认 60 秒每次请求、延迟任务句柄的宽限取消、以及TaskFailedError到ProtocolError的错误形状对齐回归测试集中在tests/mcp-tasks.test.ts。实践配置清单三步开启 MCP Tasks对绝大多数用户来说配置只有两处{ mcpServers: { my-long-job-server: { url: https://example.com/mcp, protocolVersion: auto, tasks: true } } }设置protocolVersion: auto这是 Tasks 的入场券让连接协商到 2026-07-28 年代tasks默认为true无需显式配置想让某个服务器保持纯同步路径时设tasks: false留意轮询语义requestTimeoutMs作用于每次任务请求发起调用和每次轮询而不是任务总时长——一个跑数小时的任务会让 Pi 工具调用持续等待直到模型等到结果。一个需要知晓的权衡任务激活期间该连接上的所有tools/call都走任务感知路径SDK 客户端侧的structuredContent输出模式校验和 SEP-2243Mcp-Param-*头部镜像会跳过——服务端仍会校验自己的结果只是少了一层客户端双重检查。与 Pi 内置 MCP 的对比Pi 0.99 自带的内置 MCP 不支持 Tasks、elicitation、sampling 等协议能力而 pi-mcp-adapter 在 2026-07-28 连接上全部覆盖。逐项对比与数据来源见 docs/pi-builtin-comparison.md服务器字段全集见 docs/servers.md。想深入更多协议细节建议按这个顺序阅读源码types.tsprotocolVersion/tasks字段定义→ mcp-probe.ts端点探测与分类→ mcp-tasks.ts原始通道与任务会话→tests/mcp-tasks.test.ts行为边界用例。赞分享【免费下载链接】pi-mcp-adapterToken-efficient MCP adapter for Pi coding agent项目地址https://gitcode.com/gh_mirrors/pi/pi-mcp-adapter点击查看免费下载相关推荐MCP 2026-07-28 规范深度解析无状态协议、扩展框架与从 2025-11-25 的迁移指南mcp-for-beginnersMCP 2026 07 28 规范深度解析无状态协议、扩展框架与从 2025 11 25 的迁移指南mcp for beginners 本文基于 mcp教程文档人工智能MCP 2026-07-28 规范深度解读mcp-for-beginners 课程中的无状态协议、扩展框架与弃用迁移指南MCP 2026 07 28 规范深度解读mcp for beginners 课程中的无状态协议、扩展框架与弃用迁移指南 MCP 2026 07 28 是该协教程文档人工智能三个数字治好AI页面的AI味三个数字治好AI页面的AI味 紫蓝渐变、三等分卡片、Inter 字体,你被这种同一张脸的AI 味页面劝退过多少次?Taste Skill 是一个参数化前端设AI 技能前端设计系统创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考