← Claude Code Hub
✦ Tip #123 Jul 3, 2026

Que el login de un MCP no vuelva a cortarte la sesión en Claude Code

El login de un MCP siempre llega a media faena: te para, abres el navegador, peleas con el callback. Hay un comando que lo saca de la sesión y lo deja hecho una vez. Y es lo único que funciona en headless.

Un login desde la terminal con claude mcp login guarda el token en el keychain y se refresca solo, así cada sesión y cada run headless arranca con el MCP listo sin volver a pedir login

TL;DR claude mcp login <nombre> (desde v2.1.186) corre el flujo OAuth de un MCP desde tu shell, sin abrir el panel /mcp a media sesión. El token se guarda seguro y se refresca solo, así que autenticas una vez y todas las sesiones futuras (y los runs headless) arrancan con el MCP listo. claude mcp logout <nombre> revoca. Por SSH, --no-browser te imprime la URL.

Estás a mitad de una tarea, el MCP se pone en rojo pidiendo login, y de golpe peleas con el navegador y el callback en vez de programar. Ese corte a media sesión siempre me ha parecido un coñazo. La buena noticia: puedes sacar ese paso fuera del flujo.

Cómo funciona

Muchos MCP remotos (Sentry, Notion, Linear…) piden OAuth 2.0. Cuando el servidor responde 401 o 403, Claude Code lo marca como "necesita auth". Hasta ahora la única vía era abrir /mcp dentro de la sesión y seguir el navegador. Desde v2.1.186 tienes el comando directo:

claude mcp login sentry

Se abre el navegador, te logueas, y el token queda guardado (keychain en macOS o archivo de credenciales) y se refresca solo. No es un login por sesión: lo haces una vez y ya.

¿Para qué loguearte fuera de la sesión?

Si estás sentado programando, /mcp sirve. claude mcp login gana en tres casos:

  • Pre-autenticar. Lo haces antes de empezar, y ninguna sesión te vuelve a cortar para pedirte login.
  • Headless. En claude -p, en el Agent SDK o en un cron no hay panel /mcp: Claude Code no puede abrir el navegador por ti. Desde v2.1.196 el run te avisa de que ese server necesita auth, pero la única forma de dejarlo listo es haberte logueado antes con claude mcp login. Aquí quien usa el MCP no eres tú: es la automatización.
  • Provisioning. claude mcp add … && claude mcp login … en un script deja una máquina lista sin abrir Claude ni una vez.

Lo que ves

$ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
Added HTTP MCP server sentry

$ claude mcp login sentry
Opening browser to authorize sentry…
✓ Authenticated. Credentials stored securely.

Puesta en marcha

1. Añade el servidor

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

2. Autentícate desde la shell

claude mcp login sentry

3. Comprueba y revoca

claude mcp get sentry      # verifica que el OAuth está configurado
claude mcp logout sentry   # borra las credenciales guardadas

Por SSH o sin navegador

Desde v2.1.191, si no hay navegador local (una sesión SSH, Linux sin entorno gráfico), el comando imprime la URL en vez de intentar abrirlo. Ábrela en tu máquina, autentícate y pega de vuelta la URL de redirección completa. Necesita terminal interactiva para el pegado, así que conéctate con ssh -t. Fuerza ese modo aunque haya navegador con --no-browser:

claude mcp login sentry --no-browser

Referencia

Comando Qué hace
claude mcp login <nombre> Corre el OAuth desde la shell (v2.1.186+)
claude mcp login <nombre> --no-browser Imprime la URL en vez de abrir el navegador
claude mcp logout <nombre> Borra las credenciales guardadas
claude mcp get <nombre> Verifica que el OAuth está configurado
/mcp (en sesión) La alternativa interactiva: "Re-authenticate" / "Clear authentication"

Cuando OAuth no basta:

  • Si el server no soporta registro dinámico ("Incompatible auth server"), fija el puerto con --callback-port y pasa tus credenciales con --client-id / --client-secret.
  • Para pinchar solo los permisos que quieres, usa oauth.scopes en .mcp.json.
  • Si tu auth no es OAuth (Kerberos, SSO, tokens de vida corta), genera las cabeceras al vuelo con headersHelper. Y para un token estático, --header "Authorization: Bearer …" al añadir el server.

Esto es el paso siguiente a conectar tu primer MCP: ya lo añadiste, ahora autentícalo. Y cuando uno se ponga en rojo, el árbol de decisión de «Failed to connect» te dice si el 401/403 es justo esto.

Documentación oficial: Authenticate with remote MCP servers

Relacionado: Configura tu primer MCP · MCP «Failed to connect»

Requisitos

  • claude mcp login / logout requieren Claude Code v2.1.186+; la detección "sin navegador", v2.1.191.
  • OAuth funciona con servidores HTTP (y SSE), no con stdio locales.
Guía gratuita

51 tips para dominar Claude Code.

Una página por tip. Cinco capítulos. Lo que de verdad uso a diario en producción — sin teoría, sin humo.

  • I. Empieza bien 10 tips
  • II. Conciencia 3 tips
  • III. Maestría 22 tips
  • IV. Autonomía 10 tips
  • V. Comparativa 6 tips
¿Eres desarrollador/a Web profesional?

Recibirás la guía por email · Te unes a la newsletter Gravitas · Cancela cuando quieras

de 51
#

Wmedia · 51 Tips
Guía gratuita · 51 tips · 5 capítulos

51 tips para dominar Claude Code.

¿Eres desarrollador/a Web profesional? · Cancela cuando quieras