Inicio / Extender: habilidades, MCP, subagentes, hooks, plugins
Conectar un servidor MCP y qué ha cambiado
Un servidor MCP se conecta por OAuth o por clave, se verifica con claude mcp list, y el propio protocolo cambió de núcleo el 28 de julio de 2026, un hecho independiente de cualquier versión de Claude Code.
Un servidor MCP remoto se conecta con un solo comando: claude mcp add --transport http nom-du-serveur https://exemple.example.com/mcp declara la entrada, y Claude Code detecta por sí mismo si hace falta una autenticación. Cuando el servidor responde 401 o 403, Claude Code marca la entrada como necesitada de autenticación y propone claude mcp login para abrir el flujo OAuth, o la opción --header "Authorization: Bearer ..." para un token fijo pasado a mano.
Verificar antes de confiar
claude mcp list muestra el estado real de cada servidor declarado, con al menos seis estados posibles: conectado, autenticación necesaria, fallo de conexión, aprobación pendiente, rechazado según el ajuste disabledMcpjsonServers, o desactivado para este proyecto y reactivable con /mcp; un servidor HTTP o SSE ya usado también puede mostrarse en caché. Un fallo de conexión indica que Claude Code no logró contactar con ese servidor concreto, no que el propio comando list haya fallado, un matiz que evita culpar al eslabón equivocado.
$ claude mcp list
depot-tickets Connected
facturation-api Needs authentication
brouillon-crm Pending approval
El alcance elegido al añadirlo determina quién ve ese servidor. Por orden de prioridad decreciente: el alcance local (--scope local, el valor por defecto, privado, guardado en ~/.claude.json), luego el alcance de proyecto (--scope project, el archivo .mcp.json compartido por git, descrito en la lección anterior), luego el alcance de usuario (--scope user, disponible en todos los proyectos del equipo). Cuando dos alcances declaran el mismo nombre de servidor, se usa la configuración completa del alcance más fuerte, nada se fusiona campo por campo entre los dos.
El protocolo cambió de núcleo el 28 de julio de 2026
Independientemente de Claude Code, la propia especificación MCP cambió de forma. La revisión publicada el 28 de julio de 2026 sustituye un núcleo con estado, en el que cliente y servidor abrían primero un saludo initialize antes de cualquier intercambio, por un núcleo sin estado en el que cada solicitud lleva su propia información de versión en un parámetro _meta. La cabecera Mcp Session Id desaparece del transporte HTTP. La funcionalidad Tasks, que permitía seguir un trabajo largo sin bloquear la respuesta, sale del núcleo del protocolo y se convierte en una extensión oficial separada, con un sondeo tasks/get en lugar de una espera bloqueante. Además se añade un campo extensions a las capacidades del cliente y del servidor, para transportar posibles extensiones futuras más allá del núcleo del protocolo.
Desde la versión 2.1.232, Claude Code elige un runtime MCP al arrancar y lo conserva hasta salir. El runtime v1 sigue usándose en Bedrock, Claude Platform on AWS, Vertex, Foundry, detrás de una pasarela Claude apps, o cuando la recuperación de flags de funcionalidad está desactivada. En los demás casos, el runtime v2 negocia automáticamente, con los servidores HTTP y los conectores claude.ai, la revisión de protocolo más reciente que cada uno acepta, pero para un servidor stdio, exactamente el tipo de servidor que la lección siguiente enseña a escribir, esa negociación solo ocurre si la variable MCP_PROTOCOL_NEGOTIATION vale auto: si no, la conexión se hace como en v1. Un servidor antiguo, escrito antes de julio de 2026, por tanto sigue funcionando en todos los casos, y la negociación, cuando ocurre, elige la revisión que ese servidor entiende. Esta sección describe el estado del protocolo al 2 de septiembre de 2026, un tema que se mueve al ritmo de sus propias versiones, no al del curso. La lección siguiente muestra cómo escribir, del lado del servidor, el programa que este comando claude mcp add acaba de declarar.
El núcleo del protocolo MCP cambia de forma
Una desarrolladora añade un servidor MCP remoto con claude mcp add --transport http facturation https://facturation.example.com/mcp, luego ejecuta claude mcp list y lee, junto al nombre facturation, el estado Needs authentication.
Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.
Lo que esto establece: Este estado establece que Claude Code contactó con ese servidor y recibió una respuesta que exige una autenticación, típicamente un código 401 o 403.
Lo que esto no establece: Esto no establece que el servidor esté mal configurado por el lado de la desarrolladora, ni qué método de autenticación, OAuth o clave fija, espera ese servidor en particular.
Los tres calibrados falsos más frecuentes
- Demasiado amplio Este estado prueba que el servidor facturation está roto y que ningún cliente MCP podrá conectarse nunca a él.
- Demasiado estrecho Este estado no dice nada preciso, un comando claude mcp list puede mostrar cualquier texto sin relación con el estado real del servidor.
- Fuera de tema Este estado confirma que el alcance elegido para esta adición, local, de proyecto o de usuario, es el alcance más adecuado para ese servidor.
- Claude Code marca automáticamente un servidor remoto como necesitado de autenticación en cuanto responde 401 o 403, sin que tengas que adivinar a cuál le falta una clave.
- claude mcp list devuelve al menos seis estados posibles, entre ellos conectado, autenticación necesaria, fallo de conexión, aprobación pendiente, rechazado, y desactivado para este proyecto, y un fallo señala a ese servidor concreto, no al propio comando.
- Entre dos alcances que declaran el mismo nombre de servidor, se aplica la entrada completa del alcance más fuerte, nada se fusiona campo por campo.
- La especificación MCP publicada en julio de 2026 retira el saludo inicial y el estado de sesión del núcleo del protocolo, independientemente de cualquier versión de Claude Code.
- Desde la versión 2.1.232, el runtime v2 de Claude Code negocia automáticamente con los servidores HTTP y los conectores claude.ai, pero para un servidor stdio, solo si MCP_PROTOCOL_NEGOTIATION vale auto, y nunca en Bedrock, Vertex, Foundry o una pasarela gestionada.
Abre una terminal en un proyecto donde Claude Code esté instalado y ejecuta claude mcp list. Para cada servidor mostrado, anota cuál de los cuatro estados, conectado, autenticación necesaria, aprobación pendiente, o fallo de conexión, se aplica; si la lista está vacía, anota también esa constatación.
Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.
- Claude Code, documentación del Model Context Protocol, conexión y alcances consultée le 2026-09-02
- Model Context Protocol, registro de cambios de la especificación 2026-07-28 consultée le 2026-09-02