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」频道最新
- Factory 新员工入职一月:企业 AI 之争胜在基础设施而非 demo — maddiehfaulkner · 2026-11-12
- 两人小公司用 46 个 AI Agent 运营:审批门禁、哈希锁文件与翻车复盘 — dkovl · 2026-11-12
- LlamaIndex 让 AI Agent 渗透测试自家 LlamaParse,四天暴露四条经验 — llama_index · 2026-11-12
- Manhattan 字体 v0.0.1:每个字母都是一个 Python 函数 — allanyu_ · 2026-11-12
- 用 Backplane「提示词造出」任意扩展卡,网友呼吁扩展口回归标配 — _Stocko_ · 2026-11-12
- Agent 会话跑了 51 分钟烧 24.8 万 token,网友直呼还在干活 — _Stocko_ · 2026-11-12