Skip to main content

Overzicht

In juni 2026 werd op de officiële Laravel-blog aangekondigd dat AI-agents gebouwd met de Laravel AI SDK nu verbinding kunnen maken met MCP-servers (Model Context Protocol). Tot nu toe bood Laravel MCP de mogelijkheid om je Laravel-app als MCP-server te publiceren, maar de nieuwe functionaliteit werkt in de omgekeerde richting: je Laravel-app kan nu als MCP-client verbinding maken met andere MCP-servers.
Raadpleeg de documentatie van Laravel MCP voor de details van hoe MCP zelf werkt. Deze pagina richt zich uitsluitend op de clientfunctionaliteit.

Waarom dit in Laravel MCP is geïmplementeerd en niet in de AI SDK zelf

MCP is een protocol met een breed werkterrein: transportnegotiatie, handshakes, authenticatieflows, enzovoort. Zou je dit rechtstreeks in de AI SDK implementeren, dan kun je het niet hergebruiken in situaties waarin je zonder agent met een MCP-server wilt communiceren (zoals queue-jobs of consolecommando’s). Daarom heeft het Laravel-team de functionaliteit in tweeën gesplitst.
  • laravel/mcp: de eigenlijke MCP-client die verbinding, negotiatie, authenticatie en het aanroepen van tools voor zijn rekening neemt
  • laravel/ai: een dunne integratielaag waarmee agents die client naadloos vanuit tools() kunnen gebruiken
Elk onderdeel is ook op zichzelf bruikbaar, en gecombineerd kun je vanuit een agent de tools van een MCP-server op dezelfde manier behandelen als handgeschreven tools.

Verbinden met een MCP-server

Zowel STDIO-servers die als lokaal proces worden gestart als remote servers via HTTP worden ondersteund.
De verbinding, handshake en negotiatie van de protocolversie worden allemaal door de client afgehandeld, dus aan de app-kant hoef je alleen tools() aan te roepen.

Authenticatie

Bearer-token

OAuth

Veel gehoste MCP-servers, zoals Nightwatch, vereisen OAuth. Je registreert een benoemde client in een serviceprovider.
Vervolgens bedraad je de OAuth-routes en de callbackafhandeling.
Hiermee worden mcp.oauth.nightwatch.connect en de bijbehorende callbackroute gegenereerd. Aan de Blade-kant plaats je alleen nog een verbindknop.
Wanneer de gebruiker inlogt en goedkeuring geeft, ontvangt de callback-closure het token. Je hoeft je niet zelf bezig te houden met de details van redirect-URL’s of PKCE. Voor achtergrondprocessen zonder gebruikersinteractie is er ook een client credentials grant beschikbaar.

Integratie in een agent

Het belangrijkste punt is dat je MCP-tools kunt mengen zonder de tools()-methode van je agent te veranderen.
Laravel AI detecteert dat de inhoud van de tools()-array MCP-tools zijn en wikkelt ze zo in dat ze voldoen aan het toolcontract van de agent. Het zet het MCP-inputschema om naar het JSON-schema van Laravel, voert de remote call uit wanneer het model een tool aanroept, en normaliseert het resultaat. Fouten, gestructureerde data, platte tekst en streaming-updates worden allemaal automatisch afgehandeld, zodat er geen MCP-details in de code van je agent doorsijpelen. Je kunt ook meerdere transports in één agent combineren.
Bovendien kun je toolklassen die je hebt geschreven voor je eigen Laravel MCP-server zonder clientverbinding rechtstreeks aan een agent doorgeven. Dezelfde tool is dus herbruikbaar voor zowel externe publicatie als voor je agent.

De toollijst cachen

Het ophalen van de toollijst vergt een roundtrip naar de server. Zeker bij remote servers via OAuth is het zonde om die bij elke prompt aan te roepen. Omdat toollijsten niet vaak veranderen, zijn ze uitstekend geschikt om te cachen.
MCP-tools worden geretourneerd als platte data, dus ze werken ook gewoon nadat je ze uit de cache hebt hersteld.

Testen

Ook zonder een draaiende MCP-server kun je agents testen met de fake-functionaliteit van Laravel AI. MCP-toolnamen volgen de naamconventie mcp_tools_<name>, dus een tool genaamd search verschijnt als mcp_tools_search.
De normale loop van de agent blijft gewoon draaien; alleen de uitspraken van het model worden door de fake bepaald. De toolaanroepen zelf gaan daadwerkelijk door de MCP-laag, zodat je zonder netwerk hetzelfde pad test als in productie.

Wat momenteel wordt ondersteund

In deze eerste release worden tools en prompts ondersteund op zowel het STDIO- als het Streamable HTTP-transport. Voor authenticatie worden Bearer-tokens en OAuth ondersteund. Naarmate MCP zelf zich verder ontwikkelt, zal de ondersteuning naar verwachting worden uitgebreid.

Gerelateerde pagina’s

Een custom provider voor de AI SDK bouwen

Hoe je een custom provider implementeert voor AI-diensten die niet standaard worden ondersteund

Introductie van Laravel Nightwatch

Uitleg over Nightwatch, de gehoste monitoringdienst die in dit artikel als voorbeeld wordt gebruikt
Laatst gewijzigd op 6 september 2026