Gemini CLI 新版本加强了现有扩展验证命令对 MCP 服务器配置的检查和测试。扩展开发者可以在本机发现配置错误,也能了解在已发布扩展未出现在扩展库时,如何检查搜索索引的状态;索引是为文件搜索整理信息的过程。

1. 发布前增加本地验证

2026年11月10日发布的 v0.68.0 将新增扩展验证命令和评估测试列为变更内容。关联的代码变更于10月28日合并。此次新增的检查和单元测试,即以小单元验证功能的测试,集中于连接外部工具的 MCP 服务器配置。

验证对象 gemini-extension.json 是清单文件,用于保存扩展名称、版本及连接信息。拉取请求是提交代码变更以供审核的请求,其说明还将配套读取文件的路径安全性、文件是否存在,以及版本号是否符合规定格式列为检查范围。

2. MCP 服务器配置的检查项目

验证器会检查服务器配置集合 mcpServers 及各服务器配置是否为由键名和值构成的对象。至少需要一项连接信息,例如启动服务器的命令或连接地址。TCP 是在网络中建立连接的通信协议,其连接值允许使用字符串和数字。

使用旧地址属性 httpUrl 时,会发出警告而非报错。提示建议改为在 url 中填写地址,并同时指定连接类型。

地址检查会确认其能否按 URL 格式解析。环境变量是值随运行环境变化的配置值;为避免将使用环境变量填充地址的配置误判为错误,含有美元符号的值会跳过这项检查。

3. 执行方式与测试范围

拉取请求说明中的命令如下。执行时,将待检查扩展文件夹的路径作为参数传入。

gemini extensions validate <path>

新增测试会确认本地运行的服务器和使用远程地址的服务器能否通过验证,也会检查使用弃用属性的情况是否在发出警告后仍能成功通过,从而区别对待建议修改配置的警告与阻止执行的错误。

缺少连接信息、地址无效,以及 mcpServers 的值不是对象,均作为失败案例处理。此时,测试除检查错误消息外,还会检查退出码是否为 1;退出码是以数字表示程序退出状态的值。这些具体案例向开发者展示了哪些输入会被拒绝,哪些输入只会触发警告。

预先验证的好处是能在安装或发布前修复配置问题。采用这项验证意味着在发布前增加执行命令和修复错误的工作,将发现并修复问题的负担提前到开发阶段。不过,所提供代码中的地址检查并不限制允许使用的通信方式,因此连接地址的安全性仍需单独审查。

4. 扩展库索引问题的排查方法

同一变更还新增了处理扩展库索引问题的文档。文档说明,扩展库每天会检查带有标签的公开仓库,并通过 GitHub 代码搜索查找清单文件。如果满足要求后经过 24~48 小时仍未出现在扩展库中,可能是 GitHub 尚未为文件建立索引。

使用 GitHub CLI 查看仓库清单搜索结果数量的示例如下。

gh api 'search/code?q=repo:<owner>/<repo>+filename:gemini-extension.json' --jq .total_count

在命令的仓库占位符处填入所有者和仓库名称。如果搜索结果为 0,或不使用 GitHub CLI,文档建议在已登录 GitHub 的浏览器中打开该仓库的代码搜索,以促使其建立索引。

如果 GitHub 显示正在建立索引,则等待 15~30 分钟后再次检查,直到能够搜索到文件。索引完成后,再等待扩展库采集程序的下一个运行周期。开发者可通过这些搜索结果,在配置检查之外确认文件是否已具备被发现的条件。

v0.68.0 的核心是细化检查与指引,让扩展开发者能够分别排查发布前的配置错误和发布后的搜索曝光问题。