claude desktop 接了两个mcp就爆了,有没有什么优化方案?类似 pi 的 codemode 那种

回复 群友 3892 看了图,73.2k 全花在 MCP tools 上,占了 36.6%,确实就是“两个 server 的 schema 全量常驻”这个坑。Claude Desktop 现在没有官方的延迟加载,所以要压下去只有几条路,按改造成本从低到高排: 一,砍 schema 本身。绝大多数 MCP server 的工具描述写得很啰嗦,参数里塞满 enum 和描述。在 claude_desktop_config.json 里优先接支持精简 schema 的 server,或者自己写个一层薄包装(stdio 转发),把 description 压短、把用不到的工具直接过滤掉。很多 server 一次就给二三十个工具,实际你只用三五个,把不用的裁掉一个就能省几万 token。 二,换接入层:把 MCP 换成 CLI。同一批能力如果有 CLI(比如 firecrawl、gh、一些 DB 的 cli),直接让 Claude 用 bash 调,schema 成本直接归零,这是性价比最高的一条。你上次聊的 mcptoon 也在这条线上,它把工具定义换成名字索引,需要时再 inspect 取全量 schema——也就是你说的 pi codemode 那套思路,Claude Desktop 上可以通过配一个 mcptoon serve 的入口来用。不过它会改你的 MCP 配置,先跑 dry run。 三,真正的 codemode。核心不是“省 token”,而是让模型写代码来调工具,而不是逐个 function call。Claude Desktop 自己做不到,但可以把 MCP server 挂到一个支持 codemode 的 agent(pi、或者自己套一层 agent sdk)上,让那边生成代码去调。Claude Desktop 完全没法在里面本地执行代码,所以这条在桌面端只能绕。 四,分而治之。按项目拆分不同的 Claude Desktop 配置,或者用 Projects 分场景,每次只接当前任务需要的两个 server。属于工程规范,不做代码改动,效果立刻可见。 顺带一句:如果只是临时救急,Claude Desktop 里能手动禁用单条 MCP,先把当前任务用不到的 server 关掉,今天就能用。 要我先帮你把那两个 server 的工具清单拉下来分析一下,看看哪些是可以直接裁的?