Symfony Mate: Echter Laufzeit-Kontext für KI-Assistenten

Symfony Mate: Echter Laufzeit-Kontext für KI-Assistenten

Herkömmliche KI-Assistenten scheitern oft am fehlenden Laufzeit-Kontext, da sie zwar Code lesen, aber den Zustand des Symfony-Containers oder Profilers nicht kennen. Symfony Mate schließt diese Lücke als MCP-Server und liefert Claude, Cursor und Co. tiefe Einblicke in Services und Logs für eine präzisere Fehlersuche in Sekunden. Erfahren Sie, wie dieses Tool den Entwicklungs-Workflow revolutioniert und welcher KI-Agent am besten zu Ihrem PHP-Projekt passt.

Dennis Schwenker-Sanders 8 Min. Lesezeit

Symfony Mate: Echter Laufzeit-Kontext für KI-Assistenten

Wer KI-Coding-Assistenten im Symfony-Alltag einsetzt, kennt das Muster: Der Agent liest Datei für Datei, rekonstruiert den Kontext, fragt nach, schlägt dann doch die falsche Lösung vor. Weil er nicht weiß, was der Container wirklich tut. Weil er den Profiler nicht öffnen kann. Weil er nur Code liest, aber die Applikation nie sieht.

Was Sie in 7 Minuten erfahren:

  1. Wie Symfony Mate als MCP-Server Laufzeit-Kontext (Container, Profiler, Logs) an Claude Code, Cursor und Codex liefert
  2. Warum "besserer Kontext" wichtiger ist als "mehr Kontext" und was das für Ihre Agentur-Projekte bedeutet
  3. Welcher KI-Assistent für welchen PHP-Workflow passt und wie Mate das Setup verändert

Symfony Mate löst dieses Problem. Es ist ein MCP-Server (Model Context Protocol), der eine laufende Symfony-Applikation für jeden MCP-fähigen Client zugänglich macht. Container-Zustand, Services, Profiler-Daten, Logs. Nicht als Datei-Dump, sondern als kuratierter, deterministischer Blick. Der Talk von Johannes Wachter (Sulu GmbH, Co-Maintainer Symfony AI) bei SymfonyOnline June 2026 (11. Juni) zeigt, wie Mate einen N+1-Doctrine-Bug in Sekunden findet, wo der Agent sonst Minuten braucht.

Update

Technische Korrekturen (22.06.2026): Nach direkter Rückmeldung von Johannes Wachter (Mate-Entwickler, Sulu GmbH) wurden vier technische Details korrigiert: Start-Befehl (vendor/bin/mate serve statt symfony ai:mate), vollständiger Install-Prozess (inkl. mate init und composer dump-autoload), Custom-Tools-Registrierung über scan-dirs und #[McpTool]-Attribut, und die korrekte Beschreibung des Container-Zugriffs (Mate parst kompilierte Artefakte, nicht einen eigenen Live-Container).

Heute, am Tag der Konferenz, ist der richtige Zeitpunkt für die Einordnung: Was ist Mate, wie funktioniert es, und was bedeutet es für Teams, die KI-Assistenten produktiv in Symfony-Projekten einsetzen wollen?

Wie unterscheiden sich die gängigen KI-Assistenten?


Assistent

MCP-Support

IDE-Integration

Stärke PHP/Symfony

Claude Code

Nativ (MCP-first)

Editor-agnostisch / Terminal

Große Refactors, Mehrdatei-Operationen

GitHub Copilot

Ja (seit 2025)

PhpStorm, VSCode, alle gängigen IDEs

Breiteste IDE-Abdeckung, Inline-Completion

Cursor

Ja

VSCode-basiert

Chat-basierte Codeänderungen, Agent-Mode

Codex (OpenAI)

Ja (via Wrapper)

Browser / API

Task-Automation, Cloud-basiert

Alle vier unterstützen MCP. Alle vier können Symfony Mate als Kontext-Quelle nutzen. Die Wahl des Assistenten hängt von anderen Faktoren ab: IDE-Präferenz des Teams, Datenschutz-Anforderungen (lokal vs. Cloud), Aufgabentyp.

Betrifft Sie das? Schnelltest in 30 Sekunden

Sofort ausprobieren wenn: Ihr Team KI-Assistenten wie Claude Code, Cursor oder Copilot in Symfony-Projekten einsetzt und frustriert ist, dass der Agent den Projekt-Kontext immer wieder von Null rekonstruiert.

In den nächsten Wochen evaluieren wenn: Sie KI-Tooling in Ihrer Agentur einführen wollen, aber noch keinen strukturierten Workflow haben. Mate ist ein guter Einstiegspunkt.

Noch nicht relevant wenn: Ihr Team noch keine KI-Assistenten im Entwicklungs-Workflow nutzt. Dann zuerst einen Assistenten einführen, dann Mate ergänzen.

Kommt Ihnen das bekannt vor?

KI-Assistent braucht Minuten für Kontext, den Mate in Sekunden liefert. Ich schaue mit Ihnen, ob Ihr Workflow davon profitiert.

  • Symfony-Projekte mit KI-Tooling
  • Einschätzung in einem Gespräch
Kostenlosen Check anfragen →

⏱️ Antwort binnen 24 Stunden

Was macht Symfony Mate konkret?

Das Kernproblem von KI-Assistenten ohne Laufzeit-Kontext: Sie sehen nur Dateien. Ein N+1-Doctrine-Bug zum Beispiel ist in der Codebase oft nicht sichtbar. Er zeigt sich erst im Profiler: 47 SQL-Queries für das Laden von 10 Produkten. Ein Assistent ohne Profiler-Zugriff kann das nicht diagnostizieren. Er liest den Code, vermutet das Problem, schlägt vielleicht die richtige Lösung vor. Oder auch nicht.

Symfony Mate löst das, indem es einen MCP-Server über Ihre laufende Symfony-Applikation legt. Der Assistent fragt nicht mehr "Was sagt die Datei?", sondern "Was zeigt der Profiler für diesen Request?" oder "Welche Services sind im Container registriert?". Das ist der Unterschied zwischen Quellcode-Lesen und Applikations-Verstehen.

# Installation (Development-Dependency)
$ composer require --dev symfony/ai-mate

# Konfiguration initialisieren (erstellt mate/-Verzeichnis + mcp.json)
$ vendor/bin/mate init

# Autoloader aktualisieren
$ composer dump-autoload

# Verfügbare Extensions entdecken
$ vendor/bin/mate discover

# MCP-Server starten
$ vendor/bin/mate serve
# → Mate startet als stdio-basierter MCP-Server
# → Claude Code, Cursor, Copilot verbinden sich über mcp.json
# → Zugriff auf: Container-Services, Profiler, Logs

Drei Architektur-Entscheidungen sind dabei besonders durchdacht:

Zugriff auf kompilierte Artefakte: Mate parst den bereits gedumpten Container (App_KernelDevDebugContainer.xml) und die Profiler-Dateien auf der Festplatte. Das bedeutet: Wenn der Container der Ziel-Applikation kaputt ist (Konfigurationsfehler, fehlende Services), kann Mate die kompilierten Artefakte dennoch lesen. Der Agent kann dann helfen, genau diesen Fehler zu debuggen, ohne dass Mate selbst einen Live-Container starten muss.

Secret-Redaction: Sensitive Daten (API-Keys, Datenbankpasswörter) werden automatisch aus dem Kontext herausgefiltert, bevor sie an den Assistenten gesendet werden. Kein Risiko, dass Secrets in der KI-Kontext-Historie landen.

Keine externen Server: Mate läuft lokal. Der Kontext verlässt Ihren Entwicklungsrechner nicht. Das ist relevant für Teams, die an Projekten mit vertraulichen Daten arbeiten.

KurzSymfony Mate ist ein lokaler MCP-Server, der Container-Zustand, Profiler-Daten und Logs für KI-Assistenten zugänglich macht. Kein Code verlässt den Rechner, Secrets werden automatisch gefiltert.

Wie passt Mate in den Entwicklungs-Workflow?

Mate ändert nicht den Assistenten, sondern die Qualität des Kontexts. Der Workflow bleibt: Code schreiben, Assistent fragen, Änderungen reviewen. Was sich ändert: Der Assistent fragt jetzt nicht mehr fünf Mal nach, weil er den Container nicht kennt. Er sieht den echten Zustand.

Das Wie der Integration hängt vom gewählten Assistenten ab:

Claude Code ist der natürlichste Fit. MCP ist Anthropics eigenes Protokoll, Claude Code ist von Grund auf MCP-first. Die Verbindung läuft über die von mate init generierte mcp.json. Claude Code liest diese Konfigurationsdatei und verbindet sich automatisch mit dem laufenden Mate-Server. Besonders stark bei großen Refactors über mehrere Dateien, was in Symfony-Projekten häufig ist.

GitHub Copilot hat die breiteste IDE-Abdeckung inklusive PhpStorm. Wer sein Team nicht aus der gewohnten IDE herausreißen will, kommt mit Copilot + Mate-Integration am weitesten. Der Trade-off: MCP-Unterstützung in Copilot ist jünger als bei Claude Code.

Cursor ist für VS-Code-Teams die natürliche Wahl. Der Agent-Mode in Cursor funktioniert gut mit MCP-Servern. Trade-off: Cursor ist proprietär, der Quellcode läuft über externe Server.

Wie ich im PHPverse 2026 Artikel beschrieben habe, ist das offizielle MCP-PHP-SDK (in Kollaboration von PHP Foundation, Symfony und Anthropic entstanden) die Grundlage für diese Entwicklung. Symfony Mate baut auf derselben Infrastruktur auf und zeigt, wie MCP in der Praxis aussieht.

# Eigene Tools für Mate registrieren:
# Nach 'mate init' wird composer.json automatisch angepasst:
{
  "autoload": {
    "psr-4": {
      "App\\Mate\\": "mate/src"
    }
  },
  "extra": {
    "ai-mate": {
      "scan-dirs": ["mate/src"],
      "includes": ["mate/config.php"]
    }
  }
}

# Tool erstellen in mate/src/MyTool.php:
namespace App\Mate;

use Mcp\Capability\Attribute\McpTool;

class MyTool
{
    #[McpTool(name: 'my_tool', description: 'My custom tool')]
    public function execute(string $param): array
    {
        return ['result' => $param];
    }
}
# → Tools im Scan-Verzeichnis werden über #[McpTool]-Attribut automatisch erkannt

Das Composer-Plugin-Erweiterungsmodell ist dabei strategisch interessant: Agenturen, die auf mehreren Projekten ähnliche Domain-Logik haben, können projektspezifische Mate-Tools entwickeln und über eigene Packages verteilen.

KurzClaude Code ist der natürlichste Fit für Mate. Copilot hat die breiteste IDE-Abdeckung. Cursor passt für VS-Code-Teams. Alle drei unterstützen MCP.

⚡ Mate in Ihrem Projekt einrichten?

Ich begleite die Integration von Symfony Mate und dem passenden KI-Assistenten in Ihren Entwicklungs-Workflow.

  • Claude Code, Copilot oder Cursor
  • scan-dirs und #[McpTool] für projektspezifischen Kontext
Setup besprechen →

⏱️ Antwort binnen 24 Stunden

📞 Oder direkt anrufen: 04481 - 9099658

Was sind die Grenzen von Symfony Mate?

Was die Dokumentation nicht explizit benennt: Mate ist ein Entwicklungs-Tool. Es ist für die lokale Entwicklungsumgebung konzipiert, nicht für Staging oder Production. Der Profiler-Zugriff funktioniert nur, wenn der Symfony-Profiler aktiv ist (typischerweise im dev-Modus). In Production-ähnlichen Umgebungen ohne Profiler liefert Mate weniger Kontext.

Für Teams, die KI-Assistenten auch bei Produktions-Debugging einsetzen wollen, ist Mate nur der erste Schritt. Die Log-Daten können je nach Konfiguration begrenzt sein. Und bei sehr großen Symfony-Projekten (100+ Services im Container) kann die Kontext-Qualität leiden, wenn der Agent alle Services auf einmal betrachtet.

Aus der Praxis

Was mir bei Einarbeitungen in Bestandssysteme häufig begegnet: KI-Assistenten werden oft für die falschen Aufgaben eingesetzt. Inline-Completion für Boilerplate: gut. Debugging-Agent für unbekannte Codebasen: schwierig, weil der Agent ohne Laufzeit-Kontext rät. Mit Mate verschiebt sich die Qualitätsgrenze. Debug-Tasks, die ohne Profiler-Zugriff zehn Runden Agent-Dialog brauchten, werden mit Mate lösbar in zwei bis drei. Als Symfony-Entwickler, der regelmäßig Bestandssysteme übernimmt, ist das eine messbare Zeitersparnis.

Zusammenfassung

Symfony Mate ist ein lokaler MCP-Server für Symfony-Projekte. Container-Zustand, Profiler-Daten und Logs werden für jeden MCP-fähigen Assistenten (Claude Code, Copilot, Cursor) zugänglich gemacht.

Das Kernprinzip: "Don't give AI more context, give it better context." Laufzeit-Kontext schlägt Datei-Kontext.

Installation: composer require --dev symfony/ai-mate, dann vendor/bin/mate init und vendor/bin/mate serve. Lokal, keine externen Server, Secret-Redaction eingebaut.

Zugriff auf kompilierte Artefakte: Mate parst den gedumpten Container und die Profiler-Daten. Auch wenn der Live-Container der Applikation einen Fehler hat, kann Mate die kompilierten Artefakte lesen und beim Debugging helfen.

Erweiterbar über das Composer-Plugin-Modell. Projektspezifische Tools können eigene Domain-Kontext-Daten bereitstellen.

Johannes Wachters Talk bei SymfonyOnline June 2026 (11. Juni, AI-Track) zeigt die Demo mit dem N+1-Doctrine-Bug. Die Replay-Aufzeichnung erscheint wenige Stunden nach dem Talk.

Sie wissen bereits, was Ihr Projekt braucht.

Symfony Mate einrichten, KI-Workflow aufsetzen oder klären, welcher Assistent für Ihr Team passt. Lassen Sie uns den nächsten Schritt angehen.

  • Symfony AI und MCP seit Beginn im Einsatz
  • Lokale Einrichtung ohne externe Abhängigkeiten
  • Für Claude Code, Copilot und Cursor
Nächsten Schritt klären →

Häufige Fragen

Was ist der Unterschied zwischen Symfony Mate und dem Symfony AI MCP Bundle?

Das Symfony AI MCP Bundle (aus dem symfony/ai-Paket) ermöglicht es, Ihre Symfony-App als MCP-Server zu bauen, über den KI-Agenten auf Ihre Business-Daten zugreifen können. Symfony Mate hingegen ist ein Entwicklungs-Tool: Es macht die Symfony-Infrastruktur selbst (Container, Profiler, Logs) für Coding-Assistenten zugänglich. Beide nutzen MCP, lösen aber unterschiedliche Probleme. Mate ist für den Entwicklungs-Workflow, das MCP Bundle für die Applikations-Integration.

Funktioniert Symfony Mate mit PhpStorm und GitHub Copilot?

Ja, über den MCP-Support von GitHub Copilot. Copilot unterstützt MCP-Server seit 2025. Die Konfiguration erfolgt über die MCP-Settings in PhpStorm oder VS Code. Mate stellt dann Container, Profiler und Logs als Kontext-Quelle bereit. Die Integration ist weniger direkt als bei Claude Code, funktioniert aber. Für PhpStorm-Teams ist Copilot + Mate die pragmatischste Kombination.

Können wir Symfony Mate auch auf dem CI/CD-Server einsetzen?

Mate ist für die lokale Entwicklungsumgebung konzipiert, nicht für CI/CD. Der Symfony Profiler, auf den Mate zugreift, ist im Production- oder Test-Modus meist deaktiviert. Auf CI/CD macht Mate keinen Sinn, weil dort kein interaktiver KI-Assistent im Einsatz ist. Für automatisierte Code-Analyse in CI gibt es andere Ansätze (PHPStan, Rector mit KI-Integration).

Wie viel Performance-Overhead entsteht durch Mate?

Mate läuft als separater Prozess und greift auf bereits gerenderte Profiler-Daten zu. Der Overhead für die laufende Applikation ist minimal. Der isolierte DI-Container, den Mate intern nutzt, wird einmalig aufgebaut und gecacht. Lediglich bei sehr großen Projekten (200+ Services im Container) kann die initiale Context-Sammlung merklich Zeit benötigen.

Was passiert, wenn mein Symfony-Container kaputt ist?

Mate läuft über einen eigenen, isolierten DI-Container. Wenn der Applikations-Container Fehler hat (falsche Konfiguration, fehlende Services, Syntax-Fehler in YAML-Files), kann Mate trotzdem gestartet werden. Der KI-Assistent kann dann die Fehlermeldungen und den partiellen Container-Zustand analysieren und bei der Diagnose helfen. Das ist einer der wichtigsten Anwendungsfälle für Mate beim Debugging von Konfigurationsfehlern.

Artikel teilen: