Wer Redakteur:innen und Administrator:innen mit KI-Unterstützung ausstatten möchte, steht vor einer Wahl: externe Chat-Tools mit Copy-Paste-Workflow oder proprietäre SaaS-Lösungen mit undurchsichtigen Datenflüssen. Die Extension nr_mcp_agent geht einen anderen Weg — der Assistent lebt im TYPO3-Backend selbst, kommuniziert über das offene Model Context Protocol und behält dabei volle Kontrolle über Zugriffsgrenzen und Datenflüsse.
Das Ergebnis ist ein floating Chat-Panel, das beim Navigieren durch das Backend sichtbar bleibt, TYPO3-Tabellen strukturiert abfragen kann und mit konkreten Sicherheitsentscheidungen — MIME-Validierung, Prompt-Injection-Filter, DOMPurify — ausgestattet ist, statt auf gutgläubige Inputs zu vertrauen.
Inhaltsverzeichnis
Überblick
Was wurde gemacht
Funktionen im Detail
Installation
Überblick
nr_mcp_agent stellt ein dediziertes Backend-Modul bereit (Admin Tools › AI Chat), das als Lit Web Component implementiert ist — kein Build-Schritt, keine Frontend-Pipeline. Der Assistent kommuniziert über MCP mit einem oder mehreren MCP-Servern (z.B. hn/typo3-mcp-server via stdio), die typo3-spezifische Tools exponieren. Jeder Server erhält einen konfigurierbaren Key; die Tool-Namen werden entsprechend prefixed (typo3__ReadTable, typo3__WriteRecord usw.).
Die Hintergrundverarbeitung läuft vollständig CLI-seitig im exec-/worker-Modus. Der Webserver erhält nur Anfrage und Antwort — die eigentliche LLM-Kommunikation blockiert keinen PHP-FPM-Worker. Das floating Chat-Panel bleibt beim Navigieren durch das Backend sichtbar und behält den Konversationskontext.
Diese Extension setzt TYPO3 ^14.3 (14.3 LTS) und PHP ^8.2 voraus. Ältere TYPO3-Versionen werden nicht unterstützt.

AI Chat im TYPO3-Backend: Verlauf, Chat-Status und Eingangsbereich bleiben im Backend-Kontext, während die eigentliche Tool-Kommunikation über MCP-Server läuft.
Was wurde gemacht
Dieser Fork basiert auf dem Upstream-Projekt von Netresearch DTT GmbH (Leipzig) und ergänzt eine Reihe gezielter Anpassungen: Das Chat-Interface wurde neu gestaltet — Layout, Kontrast, Icons und Header orientieren sich am TYPO3-Styleguide und sorgen für eine konsistente Backend-Erfahrung. Dokument-Uploads wurden gehärtet: MIME-Typ-Validierung greift server- und clientseitig, ein Prompt-Injection-Filter schützt vor manipulierten Dateiinhalten. Die PDF-Text-Extraktion wurde ebenfalls abgesichert.
Auf Sprachebene wurde die XLIFF-Migration auf Version 2.0 abgeschlossen. Die Codebase ist auf TYPO3 14.3 ausgerichtet und besteht PHPStan auf maximalem Level. Ein wesentlicher Unterschied zum Upstream: Die composer.json verweist auf den eigenen nr-llm-Fork (dirnbauer/t3x-nr-llm) statt auf das Upstream-Paket, da dort ebenfalls Anpassungen für TYPO3 14.3 notwendig waren.
Funktionen im Detail
| Funktion | Nutzen |
|---|---|
| MCP-Integration (stdio) | Strukturierter Zugriff auf TYPO3-Tabellen via typo3__ReadTable u.a. — kein direkter Datenbank-Bypass |
| Floating Chat-Panel | Konversationskontext bleibt beim Backend-Navigieren erhalten |
| Lit Web Component | Kein Build-Schritt, kein Webpack — direktes Einbinden in Backend-Module |
| Datei-Uploads (PDF, DOCX, XLSX, Bilder) | MIME-Validierung + Prompt-Injection-Filter verhindern Manipulation durch Dateiinhalte |
| Markdown via marked.js + DOMPurify | Formatierte LLM-Antworten, XSS-sicher gerendert — ohne Build |
| Hintergrundverarbeitung (exec-/worker-Modus) | LLM-Kommunikation blockiert keine PHP-FPM-Worker |
| Gruppen-Zugriffskontrolle | Nur autorisierte Backend-Gruppen sehen das AI-Chat-Modul |
| Concurrency-Limits + Auto-Archivierung | Stabile Ressourcennutzung auch bei parallelen Gesprächen |
Die MCP-Anbindung ist der architektonische Kern: Statt LLM-Prompts direkt mit Datenbankzugriffen zu koppeln, definiert ein MCP-Server welche Tools verfügbar sind und setzt eigene Zugriffsgrenzen. Der Agent bekommt strukturierte Antworten — und die TYPO3-Instanz behält die Kontrolle darüber, was abfragbar ist.
Installation
composer config repositories.nr-mcp-agent vcs https://github.com/dirnbauer/t3x-nr-mcp-agent.git
composer config repositories.nr-llm vcs https://github.com/dirnbauer/t3x-nr-llm.git
composer require netresearch/nr-mcp-agent:@devHäufige Fragen
Fazit
nr_mcp_agent zeigt, dass echtes Agenten-Verhalten im TYPO3-Backend machbar ist — mit einer Architektur, die Sicherheit von Anfang an einplant, nicht nachträglich aufpfropft: MCP als strukturierte Schnittstelle, MIME-Validierung und Prompt-Injection-Schutz als Pflicht, kein Build-Schritt als pragmatische Entscheidung für den Backend-Kontext.
nr_mcp_agent ist ein Fork von Netresearchs Upstream-Projekt. Dank an Netresearch DTT GmbH (Leipzig) für die Vorarbeit. Die Extension steht unter der GPL.