NCA Social Media
Aktualisiert:
Autor:
Roland Golla
Grüne isometrische Illustration Symfony AI Mate MCP Server Terminal NCA 2026

Was ist Symfony AI Mate?

Symfony AI Mate ist ein CLI Assistent aus dem offiziellen symfony/ai Ökosystem. Er stellt Coding Agents wie Claude Code, Codex oder Cursor projektbezogene Werkzeuge als echte Kommandozeilenbefehle bereit: Profiler Daten, Container Services, Logs und Projektstruktur, ohne dass Quellcode an externe Server geht.

Bis Version 0.12 lief Mate als MCP Server. Mit Version 0.13.0 vom 30. August 2026 ist das vorbei. Die MCP Runtime, die Befehle serve und stop und die Abhängigkeit zu mcp/sdk sind entfernt. Der Agent ruft jetzt vendor/bin/mate direkt auf und liest Tool Schemas bei Bedarf über --help oder tools:inspect, statt sie beim Start komplett in den Kontext zu laden.

Anders als generische Werkzeuge kennt Mate die Symfony Architektur: Dependency Injection Container, Service Definitionen, Profiler Collector Daten und Monolog Logs sind direkt als Tools verfügbar. Wichtig bleibt: Mate ist ein reines Development Tool und nicht für Produktion gedacht. Die Installation läuft über composer require --dev, alles läuft lokal auf dem Entwicklungsrechner. Das macht Mate für DSGVO konforme Entwicklungsumgebungen interessant.

Symfony AI Mate mit NCA: Schnelle Hilfe vom Experten

Never Code Alone arbeitet seit über zwanzig Jahren mit PHP und Symfony. Unser CMS läuft auf Symfony, diese Website ebenso, und wir entwickeln täglich mit Coding Agents gegen echte Projekte. Wir wissen deshalb aus der Praxis, wo ein Werkzeug wie Mate wirklich Zeit spart und wo es nur Kontext frisst.

Rund um Mate greifen mehrere Leistungen ineinander. Den Rahmen setzt unser PHP Consulting, den Weg vom Prototyp in die Produktion begleitet das Vibe Coding Consulting. Regeln und Prüfungen für KI Code kommen aus den NCA PHP AI Coding Guidelines, die Absicherung in der Pipeline aus den Vibe Coding CI CD Pipelines. Praxiswissen zum Umgang mit Agents sammeln wir in den Vibe Coding Best Practices, den Datenschutzteil deckt die DSGVO Beratung ab.

Lass uns über euren KI Workflow sprechen

Finde das passende Angebot für dein Projekt

Anfrage-Konfiguration

Starten Sie Ihre Anfrage

Projektart
Infos
Nachricht

Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.

CORE EXPERTISE

Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.

BFSG COMPLIANT

Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.

ENTERPRISE READY

Wie funktioniert Symfony AI Mate?

Mate ist seit Version 0.13 eine native PHP CLI. Tools und Ressourcen werden per Reflection aus den Attributen #[MateTool], #[MateResource] und #[MateResourceTemplate] eingelesen. Der Agent bekommt keine Tool Liste vorab in den Kontext geschoben, sondern fragt sie ab, wenn er sie braucht. Das spart Tokens und macht jeden Aufruf nachvollziehbar, weil er als normaler Shell Befehl im Verlauf steht.

Der Workflow im Projekt sieht so aus:

  • Installation: composer require --dev symfony/ai-mate fügt Mate als Dev Dependency hinzu
  • Initialisierung: vendor/bin/mate init legt das mate/ Verzeichnis an und fragt, wie der Coding Agent Mate aufrufen soll
  • Discovery: vendor/bin/mate discover scannt installierte Pakete nach Extensions und Skills
  • Arbeiten: tools:list, tools:inspect, tools:call und resources:read ersetzen die alten mcp: Befehle

Parameter übergibt tools:call jetzt als lange Optionen, etwa vendor/bin/mate tools:call symfony-profiler-list --limit=1, bei verschachtelten Werten mit --json. Statt einer mcp.json schreibt mate init CLI orientierte Agent Instructions nach mate/AGENT_INSTRUCTIONS.md und legt im Projektroot eine gemanagte CLAUDE.md an, die AGENTS.md per @AGENTS.md importiert. Damit findet Claude Code die Anleitung, die es sonst nie lesen würde. Prompts hat die CLI nicht mehr, sie sind mit dem MCP Server entfallen.

Symfony AI Mate installieren und konfigurieren

Die Installation läuft über Composer und dauert wenige Minuten. Das Paket kommt als Development Dependency ins Projekt, weil es ausschließlich in der Entwicklungsumgebung arbeitet.

Code:
          

# AI Mate installieren
composer require --dev symfony/ai-mate

# Konfiguration initialisieren
vendor/bin/mate init

# Autoloader aktualisieren
composer dump-autoload

# Extensions und Skills erkennen
vendor/bin/mate discover

# Verfügbare Tools anzeigen
vendor/bin/mate tools:list

# Schema eines Tools ansehen
vendor/bin/mate tools:inspect symfony-profiler-list

# Tool aufrufen
vendor/bin/mate tools:call symfony-profiler-list --limit=1

Nach der Initialisierung liegt im Projektroot ein mate/ Verzeichnis mit extensions.php für Extensions und Skills sowie config.php für projektspezifische Einstellungen. Neu in 0.13 sind dort mate.invocation und mate.php_version. Beim init fragt Mate, wie der Coding Agent das Tool aufrufen soll, und schlägt ddev exec vendor/bin/mate vor, sobald ein .ddev/ Verzeichnis existiert.

Die PHP Version wird über genau diesen Wrapper ermittelt und festgeschrieben. Läuft Mate später unter einer anderen major.minor Version, verweigert es den Start. Nur init, discover, list, help und completion warnen stattdessen. Für maschinenlesbare Ausgaben hängt man --format=json an die tools:*, resources:read, debug:* und skills:* Befehle. Das optionale symfony/ai-mate-composer-plugin aktualisiert die Discovery automatisch nach jedem composer install und composer update.

Extensions und Erweiterungen für Symfony AI Mate

Das Extension System ist die zentrale Stärke von Symfony AI Mate. Offizielle und Community Extensions erweitern die CLI um neue Tools und Ressourcen. Die wichtigsten offiziellen Extensions:

  • symfony/ai-symfony-mate-extension: Container Introspection, Service Discovery, Dependency Analyse und Profiler Zugriff für Symfony Projekte
  • symfony/ai-monolog-mate-extension: Log Suche, Filterung und Tail Operationen für Monolog basierte Anwendungen
Code:
          

# Symfony Extension installieren
composer require --dev symfony/ai-symfony-mate-extension

# Monolog Extension installieren
composer require --dev symfony/ai-monolog-mate-extension

# Nach jeder Installation neu einlesen
vendor/bin/mate discover

Eigene Tools entstehen als PHP Klasse im mate/src Verzeichnis. Seit 0.13 trägt sie das native Attribut #[MateTool], die frühere MCP Variante #[McpTool] ist weg. Für Ressourcen gibt es #[MateResource] und #[MateResourceTemplate]. Damit lassen sich projektspezifische Erweiterungen bauen, etwa für Datenbank Abfragen, API Tests oder eigene Debugging Workflows.

Jede Extension meldet sich über die extra.ai-mate Konfiguration in der composer.json an. Nach vendor/bin/mate discover taucht sie sofort in tools:list auf. Für Agenturen ist das interessant, weil domänenspezifische Werkzeuge als wiederverwendbare Composer Pakete entstehen können, etwa für Sulu CMS Integrationen, Shop Schnittstellen oder Monitoring.

NCA unterstützt bei der Entwicklung eigener Mate Extensions und bringt sie sauber in die Pipeline: Tests mit PHPUnit, statische Analyse mit PHPStan, Prüfung im CI. Wie eine Symfony Anwendung umgekehrt selbst zum MCP Server wird, zeigt unsere Seite zum Symfony MCP Bundle.

Agent Skills mit Symfony AI Mate verwalten

Extensions bringen seit Version 0.12 nicht nur Tools mit, sondern auch Agent Skills. Das sind kleine Anleitungen, die dem Coding Agent erklären, wann er welches Werkzeug einsetzt. Version 0.13 macht daraus einen kompletten Lebenszyklus mit eigenen Befehlen und einem festen Ort im Projekt.

skills:install kopiert die Skills einer Extension nach .agents/skills/mate-name/ und legt im Ordner .claude/skills/ relative Symlinks als Spiegel an. Wo Symlinks nicht funktionieren, wird kopiert. Der Befehl ist ein idempotenter Reconciler: Er baut beide Ordner bei jedem Lauf neu aus Quelle oder Override auf und räumt Skills entfernter oder deaktivierter Extensions weg. discover ruft ihn automatisch mit auf.

Code:
          

# Zustand aller Skills anzeigen
vendor/bin/mate skills:list

# Vorschau ohne Schreiben
vendor/bin/mate skills:install --dry-run

# Einzelnen Skill abschalten oder wieder anschalten
vendor/bin/mate skills:disable mate-symfony-profiler
vendor/bin/mate skills:enable mate-symfony-profiler

# Skill selbst uebernehmen und wieder zurueckgeben
vendor/bin/mate skills:override mate-symfony-profiler
vendor/bin/mate skills:reset mate-symfony-profiler

# Generierte Ordner pruefen und aufraeumen
vendor/bin/mate skills:validate --strict
vendor/bin/mate skills:prune --dry-run

Der komplette Zustand pro Skill steht in mate/extensions.php. Von Hand pflegt man dort nur enabled und mode mit den Werten managed oder override. Alles andere verwaltet Mate selbst: state, source, source_hash, hash und targets. Wer einen Skill anpassen will, holt ihn mit skills:override nach mate/skills/name/ und gibt ihn mit skills:reset wieder ab.

Praktisch ist skills:validate. Der Befehl prüft die generierten Ordner gegen den gespeicherten Zustand und schlägt bei handbearbeiteten Inhalten, fehlenden Ordnern oder einem falsch zeigenden Spiegel fehl. Mit --strict werden auch Warnungen zum Fehler, etwa wenn eine SKILL.md auf eine Datei verlinkt, die gar nicht zum Skill gehört. Dazu kommen Hinweise, wenn eine Beschreibung kürzer als 40 Zeichen ist oder nie sagt, wann der Skill greift. Diese Hinweise ändern den Exit Code nicht. Genau so ein Befehl gehört in die CI Pipeline, damit Anweisungen für Agents nicht still auseinanderlaufen. Wie sich das mit AGENTS.md und Rules Dateien verzahnt, steht in unserem Praxisartikel dazu.

Symfony AI Mate im Vibe Coding Workflow

Im Alltag zeigt sich der Nutzen schnell. Statt selbst Profiler Daten zu durchsuchen oder Service Definitionen nachzuschlagen, ruft der Agent den passenden Mate Befehl auf. Ein typisches Bild: Du beschreibst ein Performance Problem im Chat, der Agent holt sich die Profiler Daten, findet die langsame Query und schlägt eine Änderung vor. Kein Fenster Wechsel, kein Copy Paste.

Konkrete Einsatzszenarien in Symfony Projekten:

  • Debugging: Zugriff auf Profiler Collector Daten, um Bottlenecks im Request Cycle zu finden
  • Refactoring: Container Introspection zeigt Service Abhängigkeiten, bevor etwas verschoben wird
  • Onboarding: Neue Teammitglieder fragen nach Projektstruktur, Services und Konfiguration
  • Log Analyse: Die Monolog Extension erlaubt gezielte Suche im Log statt Blindflug

Gerade beim Refactoring bleibt die Reihenfolge wichtig: erst Quality Gates, dann aufräumen. Statische Analyse, Unit Tests, funktionale Tests und E2E Tests mit Cypress stehen vor jedem größeren Umbau. Mate liefert dem Agent den Kontext, die Entscheidung über Struktur bleibt beim Team. NCA begleitet genau diesen Weg im Vibe Coding Consulting und hilft Teams, Mate sauber in bestehende Symfony Projekte zu bringen.

Symfony AI Mate im Vergleich zu MCP Servern

Bis 0.12 stand Mate in derselben Reihe wie der GitHub MCP Server oder der Sylius MCP Server. Seit 0.13 ist der Vergleich schief, denn Mate ist kein Server mehr. Der Agent startet keinen Prozess und hält keine Session, er ruft einen Befehl auf und liest dessen Ausgabe.

Was der CLI Ansatz bringt:

  • Weniger Kontext: Tool Schemas werden über tools:inspect nur bei Bedarf gelesen, nicht beim Start komplett geladen
  • Weniger Abhängigkeiten: keine MCP Runtime, kein mcp/sdk, kein Session Handling
  • Nachvollziehbar: jeder Aufruf steht als normaler Shell Befehl im Verlauf und lässt sich wiederholen
  • Framework aware: Mate kennt Dependency Injection, Profiler und Routing, ein dateibasiertes Werkzeug nicht

MCP verschwindet damit nicht aus dem symfony/ai Ökosystem. Das Symfony MCP Bundle im selben Repository bleibt der Weg, wenn eine Symfony Anwendung selbst als MCP Server auftreten soll. Version 0.13 bringt dort Unterstützung für mehrere Server und Clients sowie die Protokoll Revision 2026 07 28. Die Einschränkung von Mate bleibt: Der Kern funktioniert in jedem PHP Projekt, die tiefe Integration über die Symfony Extension gibt es nur mit Symfony.

DSGVO und Datenschutz bei Symfony AI Mate

Mate läuft vollständig lokal. Quellcode, Container Konfiguration und Logs verlassen den Entwicklungsrechner nicht. Für europäische Teams ist das der entscheidende Punkt, denn die Analyse passiert im eigenen Netzwerk und nicht in einer fremden Cloud.

Version 0.13 baut den Datenschutz weiter aus:

  • Untrusted Data Envelope: Tool Antworten mit Daten aus der untersuchten Anwendung landen unter einem untrusted_data Schlüssel mit Sicherheitshinweis, damit das Modell sie als Daten und nicht als Anweisung behandelt
  • Mailer Collector: Mail Inhalte, Empfänger und Link Tokens werden vor der Ausgabe geschwärzt
  • Profiler Fallback: sensible Schlüssel im Raw Data Fallback werden ebenfalls geschwärzt
  • Doctrine Parameter: beim Schwärzen in gespeicherten Profilen bleibt die Struktur erhalten, der Inhalt nicht

Der Coding Agent selbst schickt natürlich weiter Kontext an seine API. Genau deshalb gilt bei NCA eine klare Regel: Coding Modelle, die nicht auf eigener Infrastruktur laufen, arbeiten immer gegen lokale Entwicklungsumgebungen mit Fake Daten, nie gegen echte Kundendaten. Wer gehostete Inferenz mit europäischem Datenschutz braucht, findet passende Optionen bei TensorX oder über unseren Netzwerkpartner Conversis in Duisburg. Der Grundsatz bleibt: Coding aus der Cloud, Datenverarbeitung aus dem eigenen Netzwerk. Wie das im Detail aussieht, zeigt unsere DSGVO Beratung für Vibe Coding.

Mate gives them access to the right runtime information, so they can stop guessing

Johannes Wachter, Maintainer symfony/ai-mate – SymfonyLive Berlin Talk

NCA Erfahrung mit Coding Agents in Symfony Projekten

Was in der Praxis den Unterschied macht, ist selten das Werkzeug selbst. Es sind die Regeln drumherum. Ein Agent, der Profiler Daten lesen darf, aber keine Tests kennt, produziert schnelle Vorschläge ohne Absicherung. Deshalb steht bei uns immer zuerst die Prüfkette, dann die Beschleunigung.

Zur Einordnung der Werkzeuge im Umfeld gibt es unsere Übersicht der Vibe Coding Tools und das Glossar für KI Tools 2026. Wer wissen will, welche Modelle sich für Coding eignen, findet die Bewertung bei den Vibe Coding Modellen. Ergänzend dazu der offizielle Sprachserver von Symfony, die Symfony Language Tools, die Container, Routen und Twig kennen.

CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.

NCA Vibe Coding Consulting

Roland Golla ist Entwickler aus Leidenschaft – seit über 20 Jahren. Er hat hunderte Projekte begleitet, von Legacy-Refactoring bis KI-Integration. Bei Vibe Coding verbindet er das Beste aus beiden Welten: Die Geschwindigkeit von KI-generiertem Code mit der Qualität professioneller Softwareentwicklung. Kein Bullshit, keine Agentur-Floskeln – direkte Hilfe von jemandem, der selbst täglich im Code steckt.

Häufige Fragen zu Symfony AI Mate

Die wichtigsten Fragen und Antworten zu Symfony AI Mate, dem CLI Assistenten für KI gestützte PHP Entwicklung mit Symfony.

Was ist Symfony AI Mate 2026?

Symfony AI Mate ist ein CLI Assistent aus dem offiziellen symfony/ai Ökosystem. Er gibt Coding Agents wie Claude Code, Codex oder Cursor Zugriff auf Profiler Daten, Container Services, Logs und Projektstruktur einer PHP Anwendung. Die aktuelle Version 0.13.0 erschien am 30. August 2026. Mate ist ein Development Tool, nicht für Produktion gedacht.

Ist Symfony AI Mate 2026 noch ein MCP Server?

Nein. Version 0.13 ersetzt den MCP Server durch eine native CLI. Die Abhängigkeit zu mcp/sdk, die Befehle serve und stop sowie die komplette MCP Runtime sind entfernt. Auch Prompts gibt es nicht mehr, sie hatten kein natives Gegenstück. Wer weiter MCP braucht, nutzt das MCP Bundle aus demselben Repository.

Wie installiere ich Symfony AI Mate 2026?

Über Composer mit composer require --dev symfony/ai-mate. Danach vendor/bin/mate init ausführen, composer dump-autoload laufen lassen und mit vendor/bin/mate discover die Extensions und Skills einlesen. Die verfügbaren Werkzeuge zeigt vendor/bin/mate tools:list. Ein Server muss nicht mehr gestartet werden.

Welche Befehle ersetzen mcp:tools:call 2026?

Aus mcp:tools:list wird tools:list, aus mcp:tools:inspect wird tools:inspect, aus mcp:tools:call wird tools:call und aus mcp:resources:read wird resources:read. Parameter übergibt tools:call jetzt als lange Optionen, etwa tools:call symfony-profiler-list --limit=1. Für verschachtelte Werte gibt es --json, das positionale JSON Argument entfällt.

Ist Symfony AI Mate 2026 DSGVO konform?

Mate läuft vollständig lokal, Quellcode und Konfiguration verlassen den Rechner nicht. Version 0.13 markiert Daten aus der untersuchten Anwendung als untrusted data und schwärzt Mail Inhalte, Empfänger, Link Tokens und sensible Schlüssel. Der Coding Agent selbst sendet weiterhin Kontext an seine API, deshalb gilt: Arbeit gegen lokale Umgebungen mit Fake Daten.

Was sind Agent Skills in Symfony AI Mate?

Agent Skills sind Anleitungen, die Extensions mitbringen und die dem Coding Agent erklären, wann er welches Werkzeug nutzt. skills:install kopiert sie nach .agents/skills/mate-name/ und spiegelt sie über Symlinks nach .claude/skills/. Der Zustand jedes Skills steht in mate/extensions.php, der Befehl läuft idempotent und räumt Reste automatisch weg.

Wie schalte ich einen einzelnen Skill ab?

Mit vendor/bin/mate skills:disable und dem Namen des Skills. Der Befehl setzt enabled in mate/extensions.php auf false und entfernt die generierten Ordner. skills:enable macht es rückgängig. Für eine Übersicht über alle Skills mit Status, Modus und Erkennung veralteter oder kaputter Einträge gibt es skills:list.

Wozu dient skills:validate?

Der Befehl prüft die generierten Skill Ordner gegen den gespeicherten Zustand. Er schlägt fehl, wenn Inhalte von Hand bearbeitet wurden, Ordner fehlen oder der Spiegel falsch zeigt. Mit --strict werden auch Warnungen zu Fehlern. Damit lässt sich in der CI Pipeline absichern, dass Anweisungen für Agents nicht unbemerkt auseinanderlaufen.

Welche KI Assistenten unterstützt Symfony AI Mate?

Jeder Coding Agent, der Shell Befehle ausführen darf. Dazu zählen Claude Code, Codex und Cursor. mate init schreibt die passenden Anweisungen nach mate/AGENT_INSTRUCTIONS.md und legt eine gemanagte CLAUDE.md im Projektroot an, die AGENTS.md per @AGENTS.md importiert. Eine mcp.json wird nicht mehr erzeugt.

Warum startet Mate nicht mehr?

Seit 0.13 merkt sich Mate in mate/config.php unter mate.php_version die PHP Version, mit der es initialisiert wurde. Läuft es später unter einer anderen major.minor Version, verweigert es den Start. Die Befehle init, discover, list, help und completion geben stattdessen eine Warnung aus. Ein erneutes init löst das Problem.

Wie erstelle ich eigene Tools für Symfony AI Mate?

Als PHP Klasse im Verzeichnis mate/src. Eine Methode mit dem Attribut #[MateTool] wird automatisch per Reflection als Tool registriert. Für Ressourcen gibt es #[MateResource] und #[MateResourceTemplate]. Das frühere Attribut #[McpTool] existiert nicht mehr und muss beim Update auf 0.13 umgestellt werden.

Funktioniert Symfony AI Mate auch ohne Symfony?

Der Kern von Mate ist eigenständig und funktioniert mit jedem PHP Projekt ab PHP 8.2. Die tiefe Integration mit Profiler, Container Introspection und Service Discovery kommt allerdings über die Symfony Extension und setzt eine Symfony Anwendung voraus. Für die volle Integration empfiehlt sich mindestens Symfony 6.4.

Was kostet Symfony AI Mate?

Nichts. Symfony AI Mate ist Open Source unter MIT Lizenz und Teil des offiziellen symfony/ai Monorepos. Gepflegt wird die Komponente von Johannes Wachter und dem Symfony AI Team. Beiträge aus der Community sind ausdrücklich erwünscht, Issues und Pull Requests laufen über das Hauptrepository symfony/ai.

Wie unterscheidet sich Mate vom GitHub MCP Server?

Der GitHub MCP Server arbeitet auf Repositories, Issues und Pipelines. Mate arbeitet auf der laufenden Anwendung: Profiler, Services, Logs und Container. Seit 0.13 ist Mate außerdem kein Server mehr, sondern eine CLI. Beide lassen sich parallel nutzen, weil sie unterschiedliche Fragen beantworten.

Wie hilft NCA bei der Einführung von Symfony AI Mate?

Wir richten Mate im bestehenden Projekt ein, bauen bei Bedarf eigene Extensions und verankern die Prüfungen in der CI Pipeline. Dazu kommen Regeln für den Agent und Quality Gates, damit KI generierter Code nicht ungeprüft durchrutscht. Am Anfang steht ein kostenloses Kennenlernen, danach schätzen wir den Aufwand und rechnen minutengenau ab.