开发与工程 model-context-protocolpi-coding-agentmcp-proxyoauthtool-discoverydirect-tools

Pi MCP 上下文适配器

让 Pi 按需使用 MCP 服务器,避免工具定义占满上下文。

FollowAgents 评估 · FARS-2.1
谨慎使用
60/ 100 五分制 3.0 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全16 / 29 · 2.8/5

证据显示:适配器默认惰性连接,避免不必要的服务器启动;提供审批工具(approveTools)和用户确认机制;数据流透明性通过状态快照和跟踪选项体现;敏感数据处理包括OAuth凭据存储在操作系统凭据库,且失败时关闭而非降级;依赖安全方面,依赖列表包含已知包,但未提供漏洞扫描或锁定文件证据;外部影响方面,适配器不自动启动或停止外部守护进程,但会启动MCP服务器进程;回滚方面,提供禁用/启用命令,但未提供完整回滚机制;来源归属方面,作者身份明确,但发布者未验证。扣分原因:依赖安全缺乏具体证据,回滚机制不完整,来源归属因发布者未验证而受限。

2可靠稳定9 / 14 · 3.2/5

证据显示:文档和配置描述一致,自洽性良好;依赖项在package.json中明确列出,但未验证可用性;失败消息方面,文档描述了错误处理,但未提供具体示例。扣分原因:依赖可用性未验证,失败消息缺乏具体示例。

3适用触发12 / 18 · 3.3/5

证据显示:面向Pi编码代理用户,场景包括本地和远程OAuth;能力边界明确,如不支持某些功能;触发精度通过工具前缀和审批模式控制;环境适配包括多种配置文件和平台支持。扣分原因:环境适配未覆盖所有平台,触发精度依赖用户配置。

4规范维护11 / 18 · 3.1/5

证据显示:信息架构清晰,README详细;安装说明明确;命名稳定,版本号明确;示例和FAQ存在;已知限制部分列出;许可证为MIT;版本变更日志存在;维护责任由作者承担,但发布者未验证。扣分原因:维护责任因发布者未验证而受限。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性通过工具元数据缓存和状态快照提升;边际价值在于减少上下文窗口消耗;成本效益通过惰性连接和按需启动体现。扣分原因:未提供性能基准或实际使用数据。

6证据核验3 / 8 · 1.9/5

证据显示:README中的声明与代码结构一致,但未提供独立验证;跨来源佐证有限,主要依赖单一仓库;事实与推断分离不明确。扣分原因:缺乏独立验证和跨来源佐证。

证据充分度: 评估于 2026年8月9日 审查版本 a866754a068b
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 发布者身份未验证,需谨慎评估供应链风险。
  • 依赖安全未提供漏洞扫描或锁定文件证据,建议检查依赖版本。
  • 回滚机制不完整,仅提供禁用/启用,无完整回滚。
  • 远程OAuth流程涉及敏感信息,需确保使用安全环境。
评估证据 [1][2][3][4]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Pi MCP Adapter 是面向 Pi coding agent 的 MCP 扩展包,通过单个 mcp 代理工具访问多个 MCP 服务器。它默认延迟连接服务器,并将工具、资源、提示词和说明的元数据缓存到 Pi agent 目录,使搜索和查看信息通常不必先建立连接。服务器可采用 stdio、HTTP 或 rmcp-mux Unix socket 传输,并支持 lazy、eager、keep-alive 与 lazy-keep-alive 生命周期。它也可把指定 MCP 工具注册为 Pi 的 direct tools,或通过 mcpScript 在工作线程中编排多次 MCP 调用。配置主要来自共享 MCP 文件和 Pi 专属覆盖文件,OAuth 凭据存入操作系统凭据存储。

扩展读取 .mcp.json、~/.config/mcp/mcp.json、~/.agents/mcp.json、~/.agents/mcp/mcp.json 及 Pi 覆盖文件,并按文档所列优先级合并服务器配置。模型可调用 mcp({ search }) 搜索缓存的 Pi 与 MCP 工具、用 mcp({ describe }) 获取参数说明,再以 mcp({ tool, args }) 调用目标工具;mcp({ connect }) 会连接或刷新指定服务器。它在首次实际调用时启动 lazy 服务器、缓存其元数据,并在空闲超时后断开连接;HTTP 服务可配置 bearer 或 OAuth 认证。/mcp 面板、/mcp setup、/mcp reconnect、/mcp disable 和 /mcp-auth 提供交互式配置与状态操作;mcpScript 则提供 tools.search、tools.describe 和 tools.call 等 JavaScript API。对于过大的文本结果,默认 Output Guard 会截断内联输出并将完整文本写入权限为 0600 的临时文件。

  1. 已在项目中使用 .mcp.json 的 Pi 开发者,希望按需调用 Chrome DevTools 等 MCP 服务,而不是在会话开始时加载全部工具定义。
  2. 同时配置多个数据库、浏览器或 API MCP 服务的工程师,希望通过 mcp({ search }) 先发现工具,再只连接实际需要的服务器。
  3. 需要把少量高频 MCP 操作直接放入 Pi 工具列表、但不想把大型服务器的全部工具暴露给模型的团队。
  4. 在远程或无头 Pi 会话中使用 OAuth MCP 服务的用户,需要通过 auth-start 和 auth-complete 完成浏览器授权。
  5. 希望复用 Cursor、Claude Code、Codex 等宿主配置的 Pi 用户,可通过 /mcp setup 或 pi-mcp-adapter init 显式导入兼容配置。

这个 Agent 有哪些优点和局限?

优点
  • 以约 200 token 的单一代理工具替代大量直接工具定义,并通过按需发现降低初始上下文占用。
  • 延迟连接与磁盘元数据缓存结合,使搜索、列表和描述在多数情况下无需先启动 MCP 服务器。
  • 同时支持 stdio、HTTP/SSE 回退和显式 rmcp-mux socket,并提供四种连接生命周期策略。
  • 可按服务器或工具选择 directTools、includeTools、excludeTools 与 approveTools,在可发现性和提示词体积之间调整。
  • 默认 Output Guard 限制大型文本 MCP 输出,并对 OAuth 凭据使用操作系统凭据存储而非持久化明文。
局限
  • 核心运行环境是 Pi coding agent;文档只说明对其他宿主配置的兼容导入,未说明可作为独立通用代理部署。
  • 首次使用 lazy 服务器仍需连接和启动,direct tools 的初始缓存尚未生成时会先以代理模式工作。
  • 跨 Pi 会话共享服务器尚未实现;普通配置下每个 Pi 会话运行自己的服务器进程。
  • OAuth 在无头环境仍依赖可用且已解锁的操作系统凭据存储;不可用时会拒绝回退到明文凭据。
  • MCP sampling 仅支持文本;上下文注入、工具、停止序列、音频和图像内容会被明确拒绝。

如何安装或部署这个 Agent?

先安装 Pi coding agent 与 npm。执行 pi install npm:pi-mcp-adapter,然后重启 Pi。若已有项目配置,在项目根目录创建或保留 .mcp.json,例如:{"mcpServers":{"chrome-devtools":{"command":"npx","args":["-y","[email protected]"]}}}。没有标准 MCP 配置时,可在安装后运行 /mcp setup,或执行 pi-mcp-adapter init 扫描宿主配置并添加兼容导入。HTTP OAuth 服务还需要服务端对应的 OAuth 配置和可用的操作系统凭据存储。

如何使用这个 Agent?

启动 Pi 后,先调用 mcp({ search: "screenshot" }) 查找工具;再用 mcp({ describe: "chrome_devtools_take_screenshot" }) 查看参数;最后调用 mcp({ tool: "chrome_devtools_take_screenshot", args: { format: "png" } })。使用 /mcp 查看服务器状态并切换 direct/proxy 工具,使用 /mcp reconnect <server> 刷新某台服务器。多步工作可调用默认启用的 mcpScript,在其中使用 await tools.search(...)await tools.describe(...)await tools.call(...)。如需远程 OAuth,先执行 mcp({ action: "auth-start", server: "linear-server" }),在浏览器授权后将回调 URL 通过 mcp({ action: "auth-complete", server: "linear-server", args: { redirectUrl: "..." } }) 交回同一 Pi 会话。

常见问题

它会在 Pi 启动时启动所有 MCP 服务器吗?
不会。默认 lifecycle 是 lazy,服务器在首次工具调用时连接;eager 和 keep-alive 配置会在扩展加载或会话初始化时启动。
是否需要把所有 MCP 工具都放进模型的工具列表?
不需要。默认通过单个 mcp 代理搜索、描述和调用工具;只有设置 directTools 的服务器或工具才会单独注册。
MCP 服务的密钥和 OAuth 令牌如何处理?
HTTP 可使用 bearer 或 OAuth 配置。持久 OAuth 凭据存入操作系统凭据存储;无法使用安全存储时,适配器不会回退为明文保存。
能否使用现有 Claude Code 或 Codex 的 MCP 配置?
可以检测并通过 /mcp setuppi-mcp-adapter init 显式采用兼容配置;默认不会自动加载宿主专属配置。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents