MCP-Konfigurationstools
Die Tools hinter der Konfigurationstür /mcpconfig: die, mit denen eine Umgebung eingerichtet wird. Produkte und Preise, Frontend und Theme, E-Mail-Vorlagen und der Buchungsworkflow. Ein Schlüssel mit Geltungsbereich config öffnet diese Tür; wie Sie sich verbinden, steht in Einen KI-Agenten mit dem MCP-Server verbinden. Das Tagesgeschäft liegt hinter einer anderen Tür — siehe MCP-Betriebstools.
Plan und Anwenden sind zwei Tools
Jede schreibende Handlung besteht hier aus zwei Tools: ..._plan zeigt, was sich ändern würde, und schreibt nichts, ..._apply führt es aus. Das ist keine Formalität, sondern der Kern des sicheren Umgangs mit dieser Tür: Sie zeigen jemandem einen Plan, der Ja dazu sagt, und erst dann wird geschrieben. Beide haben ein eigenes Recht, Sie können also jemanden schauen lassen, ohne ihn ändern zu lassen.
Ein _apply, das nichts zu ändern findet, ist ein Erfolg und kein Fehler: Stand der Wert schon so, sagt die Antwort, dass sich nichts geändert hat. Ein Client, der seine Antwort verloren hat, kann es also einfach erneut versuchen.
Zwei Schlösser und das Produktionsschloss
Bevor hier etwas geschrieben wird, müssen zwei Schlösser offen sein: eines setzt der Anbieter für die ganze Umgebung, eines der Lizenznehmer selbst. Ist eines zu, wird auch der Plan abgewiesen — sonst würde die Tür, die Sie nicht öffnen können, trotzdem in allen Einzelheiten beschreiben, was dahinter steht.
Zusätzlich gilt für die schwersten Tools eine dritte Bedingung: Auf einer Produktivumgebung laufen sie überhaupt nicht. Das sind die Tools mit Stufe 2 in der Tabelle unten — die Status und die automatischen Statusübergänge. Diese zu verstellen entscheidet, welche E-Mail bei welcher Statusänderung hinausgeht, und beim nächsten Joblauf ist das echte Post an echte Kunden. Theme-CSS zu ändern ist auf Produktion erlaubt: Das ist sichtbar und umkehrbar.
Die Tools
| Tools | Lesen/Schreiben | Stufe | Beschreibung |
|---|---|---|---|
| env_describe / config_diff_vs_baseline / recent_changes | lesen | - | Was diese Umgebung ist, was von einer frischen Installation abweicht und was kürzlich geändert wurde |
| object_explain / pricing_explain / availability_why_not_bookable | lesen | - | Erläuterung zu einem Produkt: die Einstellungen, der Preisaufbau und warum es an einem Datum nicht buchbar ist |
| object_create / object_update / object_set_periods / object_set_extras / object_set_participants | schreiben | 1 | Produkte anlegen und ändern, mit Zeiträumen, Zusatzoptionen und Teilnehmertypen |
| product_set_active | schreiben | 1 | Ein Produkt ein- oder ausschalten |
| combi_create / combi_update | schreiben | 1 | Arrangements zusammenstellen |
| theme_describe / theme_set_variables / theme_set_css / theme_set_logo / theme_rebuild | lesen/schreiben | 1 | Das Frontend-Theme: Farben und Variablen, eigenes CSS, Logo und Neukompilieren |
| brand_set_logo | schreiben | 1 | Das Logo der Hausfarben |
| content_block_describe / content_block_create / content_block_update | lesen/schreiben | 1 | Die Blöcke, aus denen eine Frontend-Seite aufgebaut ist |
| content_block_delete | schreiben | 1 | Einen Block löschen. Abgelehnt, solange er noch irgendwo verwendet wird: auf einer Seite, in einem Theme, in einem anderen Block oder in einem Formular |
| menu_describe_items / menu_set_items | lesen/schreiben | 1 | Die Einträge eines Menüs als Liste: Reihenfolge, Dropdowns, die Seite, zu der ein Eintrag führt, und die Beschriftung pro Sprache |
| page_describe / page_create / page_update | lesen/schreiben | 1 | Inhaltsseiten im Frontend |
| page_list / page_check_links | lesen | - | Alle Inhaltsseiten, und welche internen Links in Menüs, Inhaltsblöcken und der Startseite ins Leere führen |
| page_delete | schreiben | 1 | Eine Seite löschen. Abgelehnt, wenn eine andere Sprachversion darauf verweist, es sei denn, Sie lassen diesen Verweis gleich mit bereinigen |
| theme_set_menu | schreiben | 1 | Welches Menü der Kopf eines Themes pro Sprache zeigt |
| homepage_set | schreiben | 1 | Welche Seite das Frontend öffnet, wenn ein Besucher die Basisadresse aufruft |
| template_describe / template_create / template_update / template_section_set | lesen/schreiben | 1 | E-Mail- und PDF-Vorlagen und ihre Kopf-, Fuß- und CSS-Teile |
| workflow_describe | lesen | - | Der ganze Buchungsworkflow in einer Antwort: Status, manuelle und automatische Übergänge und welche Vorlage zu welchem Übergang gehört — einschließlich Prüfungen auf Vorlagen, auf die nichts mehr verweist |
| status_set | schreiben | 2 | Einen Buchungsstatus ändern: ob er einen Platz belegt und wohin jemand eine Buchung von Hand verschieben darf |
| auto_set / auto_delete | schreiben | 2 | Automatische Statusübergänge: von welchem Status zu welchem, zu welchem Zeitpunkt und welche E-Mail oder SMS dazugehört |
| language_list | lesen | - | Die Sprachen der Umgebung (aktiv, Standard) und welche Teile übersetzbar sind |
| language_activate | schreiben | 1 | Eine Frontend-Sprache ein- oder ausschalten; der Plan zählt, was in dieser Sprache noch leer ist |
| language_missing_report | lesen | - | Pro Teil die Texte, die in der Ausgangssprache gefüllt sind und in der neuen Sprache noch nicht, mit dem Ausgangstext |
| translation_get / translation_set | lesen/schreiben | 1 | Übersetzungen lesen und speichern, bis zu 50 auf einmal, über alle übersetzbaren Teile hinweg |
Das Frontend einrichten
Ein Frontend besteht aus Inhaltsblöcken, Seiten, die diese Blöcke zeigen, einem Menü, einem Theme und einer Startseite. Mit den Tools geht das in dieser Reihenfolge: Blöcke anlegen und füllen (content_block_create, content_block_update), daraus Seiten machen (page_create), das Menü füllen (menu_set_items), das Menü mit dem Theme verknüpfen (theme_set_menu) und die Startseite wählen (homepage_set). Zum Schluss zeigt page_check_links, ob noch Links ins Leere führen.
Unterwegs werden einige Dinge geprüft, damit ein Fehler nicht erst dem Besucher auffällt:
- Der Inhalt eines Inhaltsblocks wird vor dem Speichern geprüft, genauso wie im Editor. Text, der die Seite zerstören würde, etwa eine einzelne geschweifte Klammer oder ein
{if}ohne{/if}, wird abgelehnt. Setzen Sie JavaScript und CSS mit geschweiften Klammern zwischen{literal}und{/literal}. - Das Menü im Kopf wird pro Sprache gewählt, und eine Sprache ohne Menü greift nicht auf eine andere Sprache zurück. Der Plan von
theme_set_menunennt jede aktive Sprache, die danach kein Menü hat. - Ein Menü, das für eine Sprache eingerichtet ist, braucht nur Beschriftungen in dieser Sprache. Ein Menü für alle Sprachen braucht eine Beschriftung in jeder aktiven Sprache.
- Die Startseite ist eine Einstellung für alle Sprachen. Wechselt ein Besucher die Sprache, folgt das Frontend der verknüpften Sprachversion dieser Seite. Der Plan von
homepage_setwarnt vor jeder aktiven Sprache, in der die Seite keine Version hat. - Die Linkprüfung betrachtet nur Links, auf die ein Besucher klickt. JavaScript zählt nicht mit, auch wenn darin etwas wie
location.hrefsteht.
Eine Sprache hinzufügen
Wenn Sie eine Frontend-Sprache einschalten, wird nichts kopiert. Alles, was in dieser Sprache noch keinen Text hat, bleibt im Frontend leer: Produktnamen, Optionen, Status, Feldbeschriftungen, Inhaltsblöcke, das Menü und die Seiten. Fast nirgends wird auf die Standardsprache zurückgegriffen. Die Sprachtools machen aus dieser Handarbeit eine strukturierte Aufgabe:
language_activate_planzeigt, wie viele Texte pro Teil noch leer sind. Erst nach Zustimmung schaltetlanguage_activate_applydie Sprache ein.language_missing_reportliefert den Arbeitsvorrat: pro Teil, welche Texte fehlen, mit dem Ausgangstext.- Der Agent übersetzt, und
translation_set_planzeigt pro Text, was sich ändern würde.translation_set_applyspeichert es.
Drei Dinge werden immer geprüft. Ein Text, der schon gefüllt ist, wird nicht überschrieben, es sei denn, das wird ausdrücklich verlangt. Codes wie {NAME} oder ##OWNER_ID## und die HTML-Formatierung eines Textes müssen nach dem Übersetzen genau so zurückkommen. Und ein Text darf nicht länger sein, als das Feld erlaubt. Eine Inhaltsseite in einer neuen Sprache braucht eine eigene URL; sie wird nicht von der ursprünglichen Seite übernommen.
E-Mail- und PDF-Vorlagen gehören nicht dazu: Das sind eigene Dokumente pro Sprache, die Sie mit den Vorlagentools anlegen.
Für alle diese Tools ist das Recht menu_config_language nötig, dazu das Recht des Bildschirms, auf dem der Text normalerweise bearbeitet wird. Wer die Produkte nicht ändern darf, kann sie auch über KI nicht übersetzen.
Die exakte, stets aktuelle Liste mit allen Eingabefeldern fragen Sie mit der Standard-MCP-Methode tools/list an der Tür selbst ab. Was Sie zurückbekommen, hängt von Ihren Rechten ab; eine kürzere Liste als hier bedeutet meist, dass ein Recht fehlt.
BETA. Diese Tür ist neu und wird noch weiterentwickelt. Toolnamen, Eingabefelder und Stufen können sich zwischen Releases ohne Übergangsfrist ändern. Nutzen Sie die Plan-Variante, bevor Sie etwas anwenden, und bauen Sie darauf noch keine Produktivintegration, die nicht ausfallen darf.


