Gemini CLI 的 mcp enable/disable 命令从未匹配到任何服务器,PR 揭示三度误判已修复
lets-order-some-fries · ghdev · 2026-09-22
google-gemini/gemini-cli 的 PR #29444 修复一个滑稽但真实的 bug:gemini mcp enable/disable <name> 从未成功匹配任何服务器,对所有服务器(包括 gemini mcp list 刚列出的)都报「Server not found」且不做任何更改。
根因:getMcpServersFromConfig() 返回 { mcpServers, blockedServerNames } 包装对象,两个处理器却把它整个赋给 servers 再读 Object.keys(servers),得到的是 ['mcpServers', 'blockedServerNames']——真实服务器名永远不在其中。#18442 改返回结构时 list.ts 做了解构,enableDisable.ts 没改,而 Object.keys() 接受任意对象所以编译不报错。
更耐人寻味的是:这个问题在 #20694 已被准确诊断,#20696 和 #21184 两次尝试修复都被关闭未合并,#20694 还在 2026-04-30 被以「已修复」为由关闭——但 enableDisable.ts 自 2026-01-26 后没有任何提交。本 PR 做了解构修复、单独匹配被 admin allowlist 屏蔽的服务器(避免误导用户找拼写错误)、共享校验 helper,并新增 8 个单元测试(其中 7 个不改源码即失败)。
「编程与Agent」频道最新
- 教程:用 Jev+Viktor 搭一个可自我改进、跨工具执行任务的 AI 员工 — VibeMarketer_ · 2026-09-23
- wandb 新玩法:一条命令在终端里直接看实验面板 — wandb · 2026-09-23
- Claude Code 一条命令审计 prompt,清理拖累 Opus 5.5 的反模式 — RLanceMartin · 2026-09-23
- Combos CLI 发布:让 AI agent 生成游戏资产并一键发布 H5 游戏 — lxfater · 2026-09-23
- 开发者用 GPT-6 Sol 做出在线双人 3D 滑雪游戏,全靠 Combos CLI 生成部署 — lxfater · 2026-09-23
- Muse 最早的 UI 设计竟是一个状态胶囊,沿用数月至今 — alexandr_wang · 2026-09-23