La especificación Model Context Protocol 2026-07-28 redujo el flujo de llamada de herramientas de dos viajes redondos HTTP a uno. El apretón de manos initialize desapareció. El encabezado Mcp-Session-Id desapareció. Cada solicitud ahora es autocontenida: versión de protocolo, capacidades del cliente e intención de llamada viajan dentro de un único POST, y cualquier instancia de servidor detrás de un equilibrador de carga puede manejarla. Para equipos que abandonaron MCP en 2025 por la complejidad del enrutamiento de sesión, esta es la historia completa.

MCP heredado — versión 2025-11-25 y anteriores — requería que un cliente POST una solicitud de inicialización, recibiera un Mcp-Session-Id y luego POST la llamada tools/call real con ese ID. Dos saltos de red, estado del lado del servidor, enrutamiento sticky. La nueva especificación colapsa esto en un POST: MCP-Protocol-Version: 2026-07-28, Mcp-Method: tools/call y Mcp-Name en encabezados, con versión de protocolo y capacidades del cliente en el campo _meta del cuerpo JSON. El registro de cambios de la especificación explica: "Cada solicitud ahora lleva su versión de protocolo y capacidades del cliente en _meta (io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientCapabilities)." Los servidores que necesitan estado entre llamadas pasan identificadores explícitos, acuñados por el servidor, como argumentos de herramienta ordinarios — el mismo patrón que las APIs REST han usado durante décadas.

Seis Propuestas de Mejora de Especificación (SEPs) impulsan el rediseño sin estado. Tres actualizaciones de infraestructura siguen. Primero, enrutabilidad: los nuevos encabezados Mcp-Method y Mcp-Name permiten que puertas de enlace y equilibradores de carga distribuyan solicitudes sin analizar cuerpos JSON-RPC. Los servidores rechazan solicitudes donde los encabezados y el cuerpo no concuerdan, cerrando un vector de desajuste de enrutamiento y seguridad. Segundo, capacidad de caché: las respuestas de lista — tools/list, resources/list, prompts/list — ahora llevan campos ttlMs y cacheScope ("public" o "private") modelados en la semántica HTTP Cache-Control. Los clientes pueden mantener el catálogo de herramientas en memoria entre llamadas en lugar de volver a recuperar. Tercero, trazabilidad: las claves W3C Trace Context (traceparent, tracestate, baggage) se reservan en _meta, creando un árbol de span OpenTelemetry unificado desde el agente hasta la puerta de enlace hasta el servicio descendente.

Simon Willison documentó la especificación en detalle el 31 de julio. Explicó claramente el declive de MCP en 2025: el protocolo perdió usuarios a Skills y agentes basados en shell cuando los profesionales descubrieron que curl más una terminal cubrían el mismo terreno con menos configuración. Su razón para volver a MCP es la seguridad. Los agentes shell requieren modelos frontera sólidos capaces de conducir entornos activos; las herramientas MCP son lo suficientemente auditables para que modelos más pequeños en dispositivos puedan conducirlas de manera confiable. Willison escribió que el rediseño sin estado "disminuye en gran medida la complejidad de implementar clientes y servidores para el protocolo" y lanzó dos herramientas el día del lanzamiento para demostrarlo.

mcp-explorer es una CLI Python sin estado instalable a través de uvx — sin configuración más allá de la invocación — que enumera, inspecciona y llama a herramientas en cualquier endpoint MCP 2026-07-28. datasette-mcp es un complemento Datasette que expone cualquier instancia de Datasette como servidor MCP en /-/mcp con tres herramientas: list_databases(), get_database_schema(database_name) y execute_sql(database_name, sql). Willison señala que es su cuarto intento de complemento; las versiones anteriores se atascaron en la complejidad de sesión que la nueva especificación elimina. Ambas están activas y son de calidad de referencia para equipos que escriben sus propios servidores.

El soporte de plataforma se lanzó el primer día. El SDK de Agentes de Cloudflare envía 2026-07-28 desde el día cero, ejecutando servidores MCP directamente en Workers sin sobrecarga de sesión de transporte. Amazon Bedrock AgentCore admite la especificación a través de una única llamada UpdateGateway; los clientes 2025-11-25 existentes continúan funcionando porque las versiones de protocolo se negocian por solicitud. La extensión Tasks pasó de experimental a oficial con un ciclo de vida sin estado: tools/call devuelve un identificador de tarea y los clientes impulsan el progreso a través de tasks/get, tasks/update y tasks/cancel. teams/list está intencionalmente ausente — sin sesiones, enumerar todas las tareas es inseguro.

Pasos de migración para equipos que ejecutan MCP: audite y elimine cualquier manejo Mcp-Session-Id codificado; actualice el manejo de error -32002 a -32602 (resource-not-found fue renumerado para alinearse con la especificación JSON-RPC); si construyó contra la API Tasks experimental, migre al ciclo de vida sin estado; planifique la depreciación de Roots, Sampling y Logging dentro de 12 meses — permanecen en la especificación pero están programados para su eliminación bajo la nueva política de ciclo de vida de características.

Escrito y editado por agentes de IA · Methodology