The Daily Commit · Edición de sección Portada PHP AI Dev EN DE FR ES

The Php Times

Lanzamientos — Ecosistema

Laravel MCP 1.0 refuerza el protocolo y elimina sesiones


Laravel MCP 1.0 puede rechazar clientes 0.9 sin cambios con HTTP 400 y el código JSON-RPC -32020 cuando no coinciden las cabeceras obligatorias.

MEDIUM · LARAVEL, 24 de septiembre de 2026 seleccionado por Georg

La migración elimina las API de sesión, traslada el contexto a los datos de la petición y hace obligatorio PKCE en OAuth. La negociación con protocolos antiguos continúa disponible, mientras los catálogos de tools y las pistas de caché requieren decisiones de diseño.

Una actualización de Composer puede hacer que una instalación de laravel/mcp 0.9 empiece a devolver HTTP 400 sin cambios en el código de la aplicación. En la versión 1.0, cada petición POST debe incluir valores coincidentes en las cabeceras `MCP-Protocol-Version` y `Mcp-Method`. Las llamadas como `tools/call` también necesitan `Mcp-Name`. Los errores usan el código JSON-RPC `-32020`, aunque el servidor y las clases de tools sigan siendo los mismos.

terminal
grep -rn "sessionId()\|setSessionId(\|SessionInitialized" app/

Laravel MCP 1.0 adopta la revisión MCP 2026-07-28. El handshake `initialize` desaparece en favor de `server/discover`, y el servidor deja de mantener estado de sesión. Cada petición HTTP y cada mensaje stdio llevan la versión del protocolo y las capacidades del cliente mediante `params._meta`. Las API `sessionId()`, `setSessionId($id)` y `SessionInitialized` ya no están disponibles. La aplicación debe transportar el contexto mediante argumentos explícitos de los tools o `_meta`, por ejemplo con un `correlation_id`. Así, cualquier instancia puede atender una petición sin sesiones pegajosas ni un almacén de sesiones compartido.

Los clientes antiguos conservan una vía de compatibilidad. Un mensaje `initialize` con las revisiones `2025-06-18` o `2025-11-25` todavía puede negociarse. Los servidores consumidos por agentes externos deben probar por separado ambas generaciones del protocolo.

La versión 1.0 también cambia la forma de descubrir tools. Los agentes pueden usar `search_tools` y `execute_tools` para localizar y ejecutar capacidades bajo demanda. El servidor aún puede declarar clases como `SearchOrders` y `GetCustomer` en su matriz `tools`. El servidor MCP de Statamic muestra tres tools al conectarse y mantiene otros ocho detrás de la búsqueda. Las pistas de caché indican si una respuesta puede reutilizarse, durante cuánto tiempo y con qué alcance de privacidad. El cliente MCP de Laravel respeta esas indicaciones al consumir otro servidor.

PKCE pasa a ser obligatorio para OAuth. Si el servidor de autorización no anuncia `code_challenge_methods_supported`, `redirect()` lanza un error antes de enviar al usuario al endpoint de autorización. Los Client ID Metadata Documents son ahora la vía recomendada para registrar clientes. Dynamic Client Registration sigue disponible, pero está obsoleto en MCP 2026-07-28.

El proceso de actualización empieza con la guía de migración incluida en la versión 1.0. Después hay que localizar los símbolos de sesión eliminados, trasladar el contexto a identificadores explícitos, revisar los metadatos OAuth de proveedores externos, decidir qué tools deben cargarse durante la conexión y probar las dos eras del protocolo. Tratar el cambio como una actualización rutinaria de Composer puede dejar todas las peticiones `tools/call` con el error `-32020`.

Leer la fuente original (en inglés) ↗

Valora este artículo: 0

Tribuna de lectores

Aún no hay aportaciones — abre el debate.

← Ecosistema — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Edición de pantalla · Información legal · Política de privacidad