La versión 2 de MCP entra en funcionamiento el 28 de julio de 2026. Elimina cada handshake, el encabezado session-ID y los tres subsistemas heredados que vinculaban el Model Context Protocol (MCP) a servidores de sesiones persistentes (sticky sessions). El protocolo pasa a ser completamente stateless (sin estado), por lo que cualquier instancia con autoescalado o serverless puede gestionar cualquier solicitud sin necesidad de preservar el estado del cliente.

Por qué es importante este cambio

MCP v1 obligaba al cliente a iniciar una sesión mediante un handshake de initialize; el servidor asignaba entonces un Mcp-Session-Id. Todas las llamadas posteriores debían incluir ese encabezado, lo que vinculaba al usuario a un único nodo de backend. Los equilibradores de carga debían aplicar la afinidad de sesión, lo que añadía latencia y fricción operativa.

La ausencia de estado (statelessness) elimina esa fricción. Todo el contexto reside ahora en campos meta dedicados que viajan con cada llamada HTTP. Una solicitud puede llegar a cualquier instancia, ser procesada, y la instancia puede descartarse en el momento en que se envía la respuesta. Los equipos que utilizan plataformas serverless, clústeres orquestados por contenedores o cualquier entorno que crea y destruye pods bajo demanda pueden ahora adaptar el protocolo a su infraestructura.

Qué se va a retirar

Tres subsistemas que dependían de conexiones persistentes quedan oficialmente obsoletos (deprecated):

  • Sampling – En la v1, un servidor podía pedir al cliente que generara texto, un patrón que requería una sesión abierta. La v2 espera que el servidor llame directamente al proveedor del modelo de lenguaje de gran tamaño (LLM) o que utilice el patrón InputRequiredResult, donde el cliente proporciona la entrada faltante en una solicitud de seguimiento.
  • Roots – Anteriormente, los clientes enviaban URIs que limitaban la visión del servidor sobre los recursos externos. El nuevo enfoque pasa esas URIs como parámetros de herramientas o las integra en los campos de recursos de la solicitud, eliminando el paso de negociación de "roots" por separado.
  • Logging – Los encabezados de registro (logging) a nivel de protocolo desaparecen. Escriba en stderr para la depuración local o adopte OpenTelemetry para la observabilidad en producción.

El periodo de depreciación dura un año. Las funciones obsoletas seguirán funcionando durante ese tiempo, dando a los equipos margen para refactorizar antes de que el protocolo las rechace.

Qué hay de nuevo además de la ausencia de estado

MCP v2 añade dos extensiones oficiales:

  • MCP Apps – Una forma ligera de describir interfaces de usuario renderizadas por el servidor que el protocolo puede invocar.
  • Tasks – Un patrón para gestionar operaciones de larga duración que pueden abarcar múltiples ciclos de solicitud-respuesta.

Ambas extensiones asumen el modelo de solicitud sin estado y evitan el estado de sesión oculto.

Riesgos y contraargumentos

El cambio no es una actualización plug-and-play. Los SDK de la v2 aún están en fase beta y sus APIs públicas pueden cambiar antes de que se lance una versión estable. Para cargas de trabajo de producción que no pueden tolerar cambios disruptivos (breaking changes), permanezca en el SDK estable de la v1 hasta que el SDK de la v2 sea lanzado oficialmente.

Los desarrolladores también deben auditar el código existente en busca de cualquiera de los tres subsistemas obsoletos.

Una hoja de ruta de migración pragmática

  1. Audite hoy mismo – Escanee sus servicios en busca del uso de handshakes, Mcp-Session-Id, llamadas de sampling, URIs de roots y logging a nivel de protocolo. Identifique el código que fallaría bajo un modelo sin estado.
  2. Pruebe en un nodo no crítico – Cuando se lance un SDK v2 estable, cree un servidor de pruebas (sandbox), conéctelo a un cliente de prueba y verifique que todos los campos meta requeridos estén presentes y se interpreten correctamente.
  3. Migración completa antes de la fecha límite – Complete el cambio en todos los nodos de producción antes de que finalice el periodo de gracia de un año para evitar rechazos en tiempo de ejecución.

Qué observar a continuación

  • Lanzamiento del SDK estable – Los SDK beta se congelarán y se publicará un paquete estable con versión. Esa versión será el objetivo seguro para cualquier despliegue crítico.

La transición requerirá cambios en el código y un breve periodo de experimentación con el SDK beta, pero la recompensa será un punto de integración más limpio y escalable para cualquier aplicación basada en LLM.

Conclusión: Si su stack todavía depende de los handshakes de MCP o de los tres subsistemas obsoletos, comience la auditoría ahora; un año de gracia es generoso, pero el coste real es el esfuerzo de refactorización, no la fecha límite.