Skip to main content

Überblick

Im Juni 2026 wurde im offiziellen Laravel-Blog angekündigt, dass mit dem Laravel AI SDK erstellte KI-Agenten sich nun mit MCP-Servern (Model Context Protocol) verbinden können. Bislang bot Laravel MCP die Möglichkeit, eine Laravel-Anwendung „als MCP-Server bereitzustellen”. Neu hinzugekommen ist nun die entgegengesetzte Richtung: die Fähigkeit, dass eine Laravel-Anwendung „als MCP-Client eine Verbindung zu anderen MCP-Servern aufbaut”.
Die genaue Funktionsweise von MCP selbst finden Sie in der Laravel-MCP-Dokumentation. Diese Seite konzentriert sich ausschließlich auf die Client-Funktionalität.

Warum die Implementierung in Laravel MCP statt im AI SDK erfolgte

MCP ist ein Protokoll mit breitem Anwendungsbereich, das Transport-Aushandlung, Handshake, Authentifizierungsflüsse und mehr umfasst. Wäre dies direkt im AI SDK implementiert worden, ließe es sich in Szenarien ohne Agent (etwa Queue-Jobs oder Konsolenbefehle) nicht wiederverwenden. Deshalb hat das Laravel-Team die Funktionalität in zwei Teile aufgeteilt.
  • laravel/mcp: Der eigentliche MCP-Client, zuständig für Verbindung, Aushandlung, Authentifizierung und Tool-Aufrufe.
  • laravel/ai: Eine dünne Integrationsschicht, die es Agents ermöglicht, diesen Client nahtlos über tools() zu nutzen.
Beide können eigenständig verwendet werden. In Kombination lassen sich Tools eines MCP-Servers vom Agent genauso behandeln wie handgeschriebene Tools.

Verbindung zu einem MCP-Server

Es werden sowohl STDIO-Server, die als lokale Prozesse gestartet werden, als auch Remote-Server über HTTP unterstützt.
Verbindung, Handshake und die Aushandlung der Protokollversion werden vollständig vom Client übernommen. Die Anwendung muss lediglich tools() aufrufen.

Authentifizierung

Bearer-Token

OAuth

Viele gehostete MCP-Server wie Nightwatch erfordern OAuth. Registrieren Sie einen benannten Client im Service Provider.
Verdrahten Sie die OAuth-Routen und die Callback-Verarbeitung.
Damit werden mcp.oauth.nightwatch.connect und die zugehörige Callback-Route generiert. Auf der Blade-Seite genügt es, einen Verbindungs-Button zu platzieren.
Wenn sich der Benutzer einloggt und autorisiert, erhält die Callback-Closure das Token. Sie müssen sich weder um die Redirect-URL noch um die Details von PKCE selbst kümmern. Für Hintergrundverarbeitung ohne Benutzerinteraktion steht auch der Client-Credentials-Grant zur Verfügung.

Integration in einen Agent

Der wichtigste Punkt ist, dass MCP-Tools ohne Änderung der tools()-Methode des Agents beigemischt werden können.
Laravel AI erkennt, dass es sich bei den Elementen des tools()-Arrays um MCP-Tools handelt, und verpackt sie so, dass sie zum Tool-Vertrag des Agents passen. Das Eingabeschema von MCP wird in ein Laravel-JSON-Schema konvertiert, bei einem Tool-Aufruf des Modells wird der Remote-Aufruf ausgeführt und das Ergebnis normalisiert zurückgegeben. Fehler, strukturierte Daten, reiner Text und Streaming-Updates werden alle automatisch behandelt, sodass keine MCP-Details in den Agent-Code durchsickern. Mehrere Transporte können auch in einem einzigen Agent gemischt werden.
Darüber hinaus können Sie Tool-Klassen, die Sie für Ihren eigenen Laravel-MCP-Server geschrieben haben, ohne Client-Verbindung direkt an den Agent übergeben. Dasselbe Tool lässt sich also sowohl für die externe Veröffentlichung als auch für Ihre Agents wiederverwenden.

Cachen der Tool-Liste

Das Abrufen der Tool-Liste erfordert einen Roundtrip zum Server. Insbesondere bei Remote-Servern über OAuth ist es verschwenderisch, dies bei jedem Prompt zu tun. Da sich Tool-Listen selten ändern, eignen sie sich gut fürs Caching.
Da MCP-Tools als reine Daten zurückgegeben werden, funktionieren sie auch nach dem Wiederherstellen aus dem Cache unverändert.

Testen

Auch ohne einen tatsächlich laufenden MCP-Server können Sie Agents mit der Fake-Funktion von Laravel AI testen. MCP-Tool-Namen folgen der Konvention mcp_tools_<name>, daher erscheint ein Tool namens search als mcp_tools_search.
Die normale Schleife des Agents läuft weiter, nur die Aussagen des Modells werden vom Fake festgelegt. Die Tool-Aufrufe selbst durchlaufen tatsächlich die MCP-Schicht, sodass Sie ohne Netzwerkverbindung denselben Pfad wie in der Produktion testen können.

Aktueller Funktionsumfang

In diesem ersten Release werden sowohl STDIO- als auch Streamable-HTTP-Transporte unterstützt, ebenso Tools und Prompts. Bei der Authentifizierung werden Bearer-Token und OAuth unterstützt. Der Funktionsumfang wird sich mit der Weiterentwicklung von MCP selbst weiter erweitern.

Verwandte Seiten

Einen benutzerdefinierten Provider für das AI SDK erstellen

Implementierung eines benutzerdefinierten Providers für nicht standardmäßig unterstützte KI-Dienste

Einführung in Laravel Nightwatch

Erläuterung des in diesem Artikel als Beispiel verwendeten gehosteten Monitoring-Dienstes Nightwatch
Zuletzt geändert am 2. August 2026