首页/文章/Claude Code 里的 MCP 每隔一阵就要重新登录?先分清是服务端问题,用 /mcp 重新授权不用重启

Claude Code 里的 MCP 每隔一阵就要重新登录?先分清是服务端问题,用 /mcp 重新授权不用重启

· Zumac.Ai

帖子说了什么

有人抱怨 Claude Code 里的 MCP 工具每隔一小时左右就要重新登录。@onlymoein 的回复很实用:这通常是服务端的问题,不是 Claude Code 的。不少 MCP server 只发短期 access token、不发 refresh token,于是过期就得重新登录;在会话里运行 /mcp 就能重新授权,不用重启会话。能正常刷新的服务器则会一直保持连接。

官方文档怎么写

对照官方 MCP 文档的认证部分:

  • 能刷新就自动刷新:已登录的 OAuth 服务器返回 401 时,Claude Code 会先刷新已保存的 token、重连并重试一次,只有重试也失败才在 /mcp 里标记它。
  • refresh token 被拒才需要你出手:服务端拒绝 refresh token 时,Claude Code 会立即提示去 /mcp;在列表里选这个服务器的 Re-authenticate 重新登录即可。
  • 启动时也会提醒:有服务器需要登录时,Claude Code 启动会显示提示,不用每次手动打开 /mcp 去找。
  • 手动配置了 Authorization 头的另算:如果你在 headers 里自己写了 token,服务器拒绝时 Claude Code 只报连接失败,不会转去 OAuth。这时要检查的是你配置的那个 token。

几个场景的处理办法

  1. 交互会话里:看到提示就 /mcp,选 Re-authenticate,当前会话继续用。
  2. 在 shell 里登录:claude mcp login <name> 可以不进会话直接走 OAuth;claude mcp logout <name> 清掉保存的凭据。
  3. SSH 到远程机器、没有浏览器:claude mcp login 会检测到没有本地浏览器,改为打印授权链接。在自己电脑上打开链接登录,再把浏览器地址栏里的完整回调地址粘回终端。粘贴这一步需要交互终端,所以 SSH 时用 ssh -t;也可以加 --no-browser 强制走这个流程。
  4. claude -p 脚本和 Agent SDK:这些运行方式没有 /mcp 面板,不能临时走 OAuth。要先在交互会话里或用 claude mcp login 登录好,再跑脚本;否则需要登录的服务器,其工具在这次运行里不可用。
  5. 想彻底撤销授权:在 /mcp 菜单里选 Clear authentication。

小结

MCP 频繁掉登录,先别急着重装或换账号。分清是服务端不给刷新、还是自己配置的 token 失效,再用 /mcp 或 claude mcp login 处理;无人值守的任务开跑前,先确认需要的服务器都已登录。

如果你想让 Claude Code 跑在一台常开、整机独享的新加坡 Mac mini 上,可以了解 Zumac.Ai,咨询 Telegram @singatao。

来源

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服