MCP 弹出登录 URL:协议升级后连不上怎么修
不少 MCP 服务器要你先打开浏览器登录,再继续提供工具。CLI 2.1.287 跟上 MCP 2025-11-25 协议里的 URL 提示(elicitation):服务器可以下发「请打开这个链接完成登录」一类交互,而不必只靠终端里糊一串 token。
好事是流程更标准;副作用是:升完 CLI 后,个别旧 MCP 可能突然连不上。官方给的兼容阀是配置项 bareElicitationCapability": true。
新行为是什么
- 客户端声明 / 处理更新后的 elicitation 能力(含 URL 提示)。
- 典型用途:OAuth、设备码、厂商控制台登录——服务器发 URL,你在浏览器完成,再回到会话。
- 这与「工具调用要你批准」不同:它是连接 / 鉴权阶段的人机交互,不是每次 Read 文件都弹。
若服务器与客户端对「是否支持 URL elicitation」协商不一致,握手可能失败,表现就是:这个 MCP 再也连不上,其它本地工具仍正常。
连不上时先试这一招
在该 MCP 的配置条目里增加(字段名以你本机 schema 为准):
json
{
"bareElicitationCapability": true
}含义可以记成:告诉客户端按更「裸」/兼容的 elicitation 能力面去谈,避开新 URL 提示路径上与旧服务器的不兼容。changelog 原文大意:升级后某服务器不再连接时,给它的 MCP 配置加上该字段。
操作建议:
- 只加在出问题的那一个 server,不要全局乱开。
- 改完重启 Claude Code / 重载 MCP(可用 reconnect all 一类命令,视版本而定)。
- 仍失败再查:URL、代理、token 过期、协议版本抖动(同版本还修过「服务器中途改 MCP 协议版本导致工具偶发跑两次」)。
和相近能力怎么区分
| 能力 | 关系 |
|---|---|
| MCP reconnect all | 重连手段;本文是协议 / 能力协商导致的连不上 |
| MCP 描述长度 | 工具描述过长问题;不是登录 URL |
| MCP scopes 审批 | 权限范围;URL elicitation 是鉴权交互形态 |
| headless 下「一次拒绝就报需要登录」的修复 | 同大版本里的另一条 MCP 体验修;表象也是鉴权,根因不同 |
同版本对 MCP 还有内存与大结果处理改进、权限提示版式与虚线框统一等——和「登录 URL / bareElicitation」是不同条目。
升级后建议动作
claude --version≥ 2.1.287 后再排查「突然连不上」。- 列出升级后失败的 MCP;对可疑条目加
bareElicitationCapability: true做 A/B。 - 能连且会弹登录 URL 的:走完浏览器登录,确认工具列表重新出现。
- 团队若维护共享 MCP 配置,在变更说明里写清:哪些 server 需要该兼容字段、哪些已原生支持 URL 提示。
- 自动化 / CI 无浏览器环境:URL 登录类 MCP 可能根本不适合 headless,应换 token 注入或关掉该 server。
小结
- 2.1.287 支持 MCP 2025-11-25 的 URL 提示(例如打开链接登录)。
- 升级后个别服务器连不上时,在其配置加
bareElicitationCapability": true再试。 - 只对出问题的 server 开兼容项;CI 无浏览器场景要另选鉴权方式。
MCP 一升级就全红时,先别整库回滚 CLI——按服务器逐个加兼容字段,往往更快定位。