Panoramica
Nel giugno 2026, sul blog ufficiale di Laravel è stato annunciato che gli agenti AI costruiti con Laravel AI SDK possono ora connettersi a server MCP (Model Context Protocol). Fino ad ora Laravel MCP offriva la possibilità di “esporre un’app Laravel come server MCP”; ciò che è stato aggiunto è la direzione opposta, cioè “un’app Laravel che si connette ad altri server MCP come client”.Per il funzionamento di MCP nel dettaglio consulta la documentazione di Laravel MCP. In questa pagina ci concentriamo sulla funzionalità di client.
Perché non è stato implementato direttamente nell’AI SDK, ma in Laravel MCP
MCP è un protocollo che copre parecchio: negoziazione del trasporto, handshake, flussi di autenticazione. Implementarlo direttamente dentro l’AI SDK avrebbe impedito il riuso nei casi in cui vuoi parlare con un server MCP senza un agente (ad esempio da un job in coda o da un comando console). Per questo il team di Laravel ha diviso la funzionalità in due parti.laravel/mcp: il client MCP vero e proprio, che gestisce connessione, negoziazione, autenticazione e chiamata dei tool.laravel/ai: un sottile layer di integrazione che permette all’agente di usare quel client dal metodotools()senza attriti.
Connessione a un server MCP
Sono supportati sia server STDIO avviati come processo locale sia server remoti via HTTP.tools().
Autenticazione
Bearer token
OAuth
Molti server MCP ospitati (come Nightwatch) richiedono OAuth. Registra un client con nome nel service provider.mcp.oauth.nightwatch.connect e la corrispondente route di callback. Nella view Blade basta un pulsante di connessione.
Integrazione nell’agente
Il punto più interessante è che puoi mescolare tool MCP nel metodotools() dell’agente senza modificarne la struttura.
tools() ci sono tool MCP e li avvolge in modo che rispettino il contract dei tool dell’agente. Converte lo schema di input MCP nello schema JSON di Laravel, effettua la chiamata remota quando il modello invoca il tool e normalizza il risultato. Errori, dati strutturati, testo semplice e aggiornamenti streaming vengono gestiti automaticamente, così i dettagli di MCP non trapelano nel codice dell’agente.
Puoi anche mescolare più trasporti in un unico agente.
Cache della lista dei tool
Ottenere la lista dei tool implica un round trip al server. Con i server remoti via OAuth in particolare, richiamarla ad ogni prompt è uno spreco. Poiché la lista dei tool non cambia spesso, si presta bene al caching.Test
Anche senza un server MCP realmente in esecuzione, puoi testare l’agente con le funzionalità di fake di Laravel AI. I nomi dei tool MCP seguono la convenzionemcp_tools_<nome>, quindi un tool chiamato search appare come mcp_tools_search.
Ambito supportato al momento
Con questa prima release sono supportati tool e prompt su entrambi i trasporti STDIO e Streamable HTTP. Per l’autenticazione sono supportati Bearer token e OAuth. Con l’evoluzione di MCP, la copertura è destinata ad ampliarsi.Pagine correlate
Creare un provider personalizzato per l'AI SDK
Come implementare un provider personalizzato per servizi AI non supportati di serie
Introduzione a Laravel Nightwatch
Approfondimento sul servizio di monitoring ospitato Nightwatch usato come esempio in questo articolo