Verfügbare Tools
Die AI Suite MCP stellt derzeit 45 Tools bereit. Jedes Tool gehört zu genau einem OAuth-Scope, und ein Scope wird nur gewährt, wenn die Backend-Gruppe des Benutzers das passende AI Suite-Feature-Recht besitzt (siehe Berechtigungen & Scopes). Die Tool-Liste, die ein Model zu sehen bekommt, ist deshalb pro Benutzer unterschiedlich. Fehlt ein Recht, taucht das betroffene Tool gar nicht auf.
Die folgende Übersicht ist nach Scopes gruppiert und nennt zu jedem Tool kurz seinen Zweck. Die vollständigen Parameter liefert jeder Client selbst, weil sie als JSON-Schema Teil der Tool-Definition sind. Welche Tools eine konkrete Installation tatsächlich ausliefert, verrät readServerInfo.
Kontext und Recherche (mcp:read)
Diese Tools lesen nur. Sie kosten keine Credits und rufen kein KI-Model auf.
| Tool | Zweck |
|---|---|
readServerInfo | Status des Servers mit den Versionen von TYPO3, AI Suite und MCP, der aktiven Konfiguration und einer Diagnose |
readPageTree | Seitenbaum durchlaufen, begrenzt auf die Mounts des Benutzers |
readPageContent | Inhaltselemente einer Seite lesen, optional mit Container-Verschachtelung |
readContentTree | Inhalte aller Seiten eines Teilbaums auf einmal, seitenweise paginiert |
readRenderedPage | Die Seite wie ein Besucher sie sieht, inklusive Plugin-Ausgabe. Benötigt zusätzlich enable_mcp_rendered_page_read |
readEditorialGuidelines | Die von der Redaktion hinterlegten Vorgaben zu Tonalität, Zielgruppe und Stil für einen Seitenbereich |
readChildren | Container- und IRRE-Kinder eines Datensatzes auflisten, nach Relation gruppiert |
searchContent | Volltextsuche über Seiten und Inhaltselemente |
listFiles | Dateien eines FAL-Storage oder -Ordners auflisten |
readFileInfo | Metadaten einer einzelnen Datei |
listStaleContent | Seiten und Inhalte finden, die seit N Tagen nicht mehr bearbeitet wurden |
readTaskStatus | Fortschritt eines Hintergrund-Tasks |
readTaskResults | Ergebnisse eines abgeschlossenen Tasks abrufen, rein lesend |
Datensätze: Schema und Bearbeitung (mcp:read / mcp:write)
Die erkundenden Tools dieser Gruppe gehören zu mcp:read, die schreibenden zu mcp:write. Alle Schreibvorgänge laufen über den DataHandler und damit über die üblichen TYPO3-Prüfungen, und sie folgen dem eingestellten Schreibmodus.
| Tool | Scope | Zweck |
|---|---|---|
listTables | mcp:read | Tabellen auflisten, die der Benutzer lesen darf, abzüglich mcpExcludedTables |
readRecordSchema | mcp:read | TCA-Schema einer Tabelle mit Feldern, Typen, Validierung, Relationen und Schreibbarkeit |
readFlexFormSchema | mcp:read | Inneres Schema eines FlexForm-Feldes mit Sheets und Feldern |
listPageTypes | mcp:read | Verfügbare Seitentypen (Doktypes) |
listContentTypes | mcp:read | Verfügbare CTypes und gültige Spalten einer Seite |
readRecords | mcp:read | Datensätze lesen, per UID, per Seite oder per Feldfilter |
compareWithLive | mcp:read | Feldweiser Vergleich eines Workspace-Entwurfs mit dem Live-Stand |
previewRecords | mcp:write | Vorschau einer Schreiboperation als alt-neu-Diff, ohne zu speichern |
writeRecords | mcp:write | Datensätze anlegen oder ändern, optional als atomarer Batch |
copyRecords | mcp:write | Datensätze kopieren, einzeln oder als Batch |
moveRecords | mcp:write | Datensätze verschieben |
deleteRecords | mcp:write | Datensätze löschen (Soft-Delete). Als destruktiv markiert, der Client fragt daher nach |
localizeRecord | mcp:write | Übersetzung eines Datensatzes anlegen, ohne KI und ohne Credits |
savePageTree | mcp:write | Einen erzeugten Seitenbaum speichern |
replaceText | mcp:write | Eine wörtliche Ersetzung in einem Feld, ohne das ganze Feld neu zu senden |
patchText | mcp:write | Mehrere Ersetzungen in einem Feld, atomar angewendet |
bulkReplaceText | mcp:write | Dieselbe Ersetzung über alle Kind-Datensätze eines Elternteils |
copyMediaReference | mcp:write | Dateireferenz von einem Feld auf ein anderes kopieren |
replaceMediaReference | mcp:write | Die Datei hinter einer bestehenden Referenz austauschen |
KI-Funktionen (Generierung, Übersetzung, Bilder)
Diese Tools rufen die Anbieter und Models der AI Suite auf und verbrauchen Credits. Welche Models zur Verfügung stehen, ergibt sich aus der AI Suite-Konfiguration und den Modelrechten der Backend-Gruppe. In AI Suite MCP ist dafür keine zusätzliche Einstellung nötig.
Sie sind damit die einzigen Tools, die einen gültigen API-Key der AI Suite voraussetzen. Fehlt er oder deckt das Lizenzpaket die Funktion nicht ab, bleiben die Tools in der Tool-Liste stehen und werden vom Model auch aufgerufen. Der Aufruf endet dann mit einem Lizenzfehler. Das unterscheidet sie von den Feature-Rechten der Backend-Gruppe, die ein Tool bereits aus der Liste entfernen.
| Tool | Scope | Zweck |
|---|---|---|
generateFileMetadata | mcp:generate | Alternativtext, Titel und Beschreibung für eine Datei erzeugen, auf Basis der Datei selbst |
translateRecord | mcp:translate | Einen einzelnen Datensatz übersetzen |
translatePage | mcp:translate | Eine ganze Seite übersetzen, Metadaten und alle Inhaltselemente |
translateFileMetadata | mcp:translate | Datei-Metadaten in eine Zielsprache übersetzen |
generateImage | mcp:image | Ein Bild aus einer Textbeschreibung erzeugen und in FAL ablegen |
Leichte Sprache und das DeepL-Glossar der Site sind kein eigenes Tool, sondern Bestandteil der Übersetzungs-Tools. Das Glossar wird automatisch angewendet.
Medien einbinden
Dieses Tool bringt vorhandene Dateien in die Dateiverwaltung, ohne ein KI-Model zu bemühen. Es kostet keine Credits und funktioniert auch ohne gültigen API-Key der AI Suite. Es hängt an einem eigenen Scope und einem eigenen Feature-Recht, beide standardmäßig aus, weil es als einziges Tool neben generateImage eine physische Datei anlegt und deshalb nicht über einen Workspace zurückgenommen werden kann.
| Tool | Scope | Zweck |
|---|---|---|
uploadMedia | mcp:media | Vorhandene Bilder oder Videos in FAL übernehmen, per URL, als Base64 oder als YouTube- bzw. Vimeo-Link |
Nicht zu verwechseln mit copyMediaReference und replaceMediaReference. Die beiden hängen keine neue Datei ein, sondern setzen bestehende Dateireferenzen um, gehören deshalb zu mcp:write und stehen in der Datensatz-Gruppe. Zu Zielordner, Größengrenze, erlaubten Dateiendungen und der Absicherung entfernter Downloads siehe Sicherheit & Betrieb.
Hintergrund-Tasks (mcp:workflow)
Batch-Tools laufen asynchron. Sie liefern sofort eine Task-ID zurück, der Fortschritt wird mit readTaskStatus abgefragt und die Ergebnisse mit readTaskResults gelesen. Geschrieben wird nichts davon automatisch. Ein Batch-Prozess erzeugt Vorschläge, und erst applyTaskResults schreibt sie in die Datensätze.
| Tool | Zweck |
|---|---|
batchGenerateMetadata | Seiten-Metadaten in großer Zahl, entweder für eine UID-Liste oder für einen ganzen Seiten-Teilbaum |
batchGenerateFileMetadata | Datei-Metadaten für eine Liste von Dateien |
batchGenerateFolderMetadata | Datei-Metadaten für alle Dateien eines Ordners |
batchTranslatePage | Mehrere Seiten übersetzen |
batchTranslateFileMetadata | Datei-Metadaten einer Dateiliste übersetzen |
batchTranslateFolderMetadata | Datei-Metadaten aller Dateien eines Ordners übersetzen |
applyTaskResults | Die Übersetzungen eines fertigen Batch-Prozesses in die Lokalisierungs-Datensätze schreiben (Scope mcp:write) |
batchGenerateMetadata nimmt seine Ziele auf genau einem von zwei Wegen. Entweder pageIds als ausdrückliche UID-Liste oder rootPageId als Seite samt allem darunter. Beides zusammen ist ein Fehler, nichts davon ebenfalls. recursive entscheidet, ob ein rootPageId den ganzen Teilbaum durchläuft oder bei den direkten Kindern stehen bleibt. Die Wurzelseite ist immer dabei.
Kostengrenze bei Batch-Metadaten
Ein rootPageId wird auf 50 Seiten begrenzt. Wird es mehr, lehnt der Aufruf ab, bevor irgendetwas abgerechnet wird, und nennt die gefundene Seitenzahl. Der Grund ist eine Asymmetrie. Dieses Tool kostet Credits pro Seite, und ein Teilbaum ist eine Menge, die niemand vorher gezählt hat. „Alles unterhalb der Startseite“ ist einen kurzen Satz von einer sehr großen Rechnung entfernt. Eine ausdrückliche pageIds-Liste ist dagegen eine Menge, die bewusst genannt wurde, und bleibt unbegrenzt. Wer innerhalb der Grenze bleiben will, wählt eine tiefere Wurzelseite, setzt recursive auf false oder übergibt die UIDs einzeln.