MCP 转 CLI 省 Token 切换器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9c50a897/mcp2cli 到我的 AI 助手。
技能介绍
问题在哪
MCP 调用的实际开销常常不在功能本身,而在响应体积:工具返回是结构化 JSON,字段冗余、嵌套层级深,字符数通常是 CLI 文本输出的 3-5 倍,而且每次调用都要消耗一轮推理往返。对 git branch、git log 这类只读操作来说,直接复用本地 CLI 的输出往往比走一次 MCP 工具更省。难点在于没人替你逐操作算这笔账——哪些该切、切了能省多少、会不会丢掉语义,全都要靠实测。
它怎么做
mcp2cli 按四个步骤顺序执行,每一步的输出都可审计:
- Step 1 发现:
scripts/discover_mcp.py扫描已启用的 MCP 服务,输出传输方式、工具数和 CLI 可用性,生成discovery.json,并把服务分成「有 CLI 替代」和「无 CLI 替代」两组。 - Step 2 基准测试:
scripts/benchmark.py对每个操作实跑 CLI、测量真实输出字符数,同时基于 MCP 工具 schema 与典型 JSON 响应体积估算 token,逐操作标记SWITCH_TO_CLI或KEEP_MCP。想要更精确,可以在对话里实际调用一次 MCP,把真实字符数写进benchmark_results.json的mcp_actual_chars,脚本会自动替换估算值。 - Step 3 持久化:
scripts/apply_routing.py把决策写入~/.workbuddy/memory/MCP_CLI_ROUTING.md,这份文件是后续所有会话的唯一路由依据。 - Step 4 遵循:每次会话开始或发起操作前先读该文件,命中 CLI 路由就用 CLI,否则继续走 MCP。
适用边界
- 写操作谨慎:创建、修改、删除类操作即使 CLI 更省也不轻易切换,必须用户确认。
- 切换有门槛:CLI 必须实跑成功(
returncode = 0),token 节省要 >20%,且输出语义必须与 MCP 等价;本地没有对应仓库 clone 时,版本控制类替代不成立。 - 不碰认证:MCP 凭证通常加密存储,脚本无法直接调用 MCP,该技能改为走 CLI 原生认证或引导优化调用模式。
- 路由会过期:文件超过 30 天或 MCP 连接器列表变更时需要重跑基准测试;调整路由要修改
benchmark_results.json后重跑脚本,不能手动编辑路由文件。
使用场景
- 本地已有 git 仓库 clone,想确认 git branch、git log 这类只读操作走 CLI 是否比 MCP 省 token,再决定要不要切换。
- 同时启用了多个 MCP 连接器,想按服务名范围跑一轮发现,筛出哪些工具有 CLI 替代、哪些没有。
- MCP 工具返回的 JSON 体积过大,导致推理轮次变多,想逐操作实测字符数并找出节省超过 20% 的切换点。
- 之前手动改过路由文件导致不生效,想通过重跑基准测试和 apply_routing 脚本重新生成持久化路由。
适合人员
- 维护本地代码仓库、对每次工具调用 token 开销敏感的后端工程师。
- 在 agent 工作流中接入多个 MCP 连接器、需要控制推理轮次的平台开发者。
- 负责评估 AI 工具链成本、想要可审计的 MCP 与 CLI 对比报告的技术负责人。
- 日常已在命令行完成 git 操作、想确认哪些 MCP 调用可以永久切走的个人开发者。