Funktionen / Ausliefern

MCP, Webhooks, Metriken

KI-Werkzeuge lesen und schreiben Content über den eingebauten MCP-Server. Webhooks melden jede Änderung an dein Frontend, Prometheus-Metriken zeigen, was der Prozess gerade tut.

Ein CMS steht selten allein. Das Frontend will wissen, wann es neu bauen soll, das Monitoring will Zahlen, und immer öfter soll ein KI-Assistent Content anlegen — ohne dass jemand curl-Befehle aus der Doku kopiert. RustyCMS bringt alle drei Anschlüsse im Binary mit, ohne Zusatzdienst.

KI-Werkzeuge sprechen direkt mit dem CMS

rustycms mcp startet einen MCP-Server, den Claude Desktop, Claude Code oder ein anderer MCP-Client über die übliche Konfiguration anbindet. Der Assistent bekommt Werkzeuge statt einer API-Beschreibung: Einträge auflisten, lesen, anlegen, ändern, Status setzen, löschen, Rückverweise finden. Schemas und Schema-Pakete lesen und pflegen. Assets auflisten, per URL oder Base64 hochladen, umbenennen, in Ordner sortieren; Upload-Tickets für größere Dateien. Konfiguration lesen, ändern, Historie einsehen. Mit dem Forms-Plugin auch Einsendungen lesen und bearbeiten.

Für Massenarbeit gibt es bulk_create_entries und bulk_patch_entries, und vor jedem Schreiben dry_run beziehungsweise bulk_dry_run: Der Eintrag wird gegen das Schema validiert, aber nicht gespeichert. Der Assistent sieht den Fehler, bevor etwas im Content steht. Auth läuft über denselben API-Key wie überall, mit denselben Scopes.

Webhooks: dein Frontend erfährt es zuerst

Jede Änderung löst ein Ereignis aus — content.created, content.updated, content.deleted, dasselbe für Assets und Schemas. Ziele legst du in der Admin-UI oder über /api/webhooks an, pro Ziel gefiltert nach Ereignissen und Spaces, optional mit einem Secret, das als Header X-Webhook-Secret mitgeht. Der typische Einsatz: den Build des statischen Frontends anstoßen oder den Cache davor leeren.

Ein Zustelllog hält die letzten 500 Auslieferungen, fehlgeschlagene lassen sich von Hand erneut senden. Wer nur eine URL braucht, setzt RUSTYCMS_WEBHOOKS in der Umgebung.

Zahlen, die Prometheus versteht

GET /api/metrics

rustycms_content_cache_hits_total
rustycms_transform_cache_bytes
rustycms_content_entries{environment="prod",collection="post"}
rustycms_batch_subrequests_total
rustycms_schedule_published_total

Trefferquoten von Content- und Bild-Cache, Speicher der Bild-Varianten, Einträge je Space und Collection, Versions-Snapshots, Batch-Aufrufe, Läufe des Publikations-Schedulers, Abrufe externer Collections. Textformat, Read-Auth, direkt scrapebar — kein Exporter dazwischen.

Git als Sicherheitsnetz

Im Dateimodus commitet RUSTYCMS_GIT_AUTOCOMMIT=true nach jedem Schreibvorgang automatisch: git add -A && git commit, asynchron, der Request wartet nicht darauf. Der Content-Ordner wird damit zu einem Repo mit lückenloser Historie, git log und git diff inklusive. Im Datenbankmodus übernimmt das der Git-Spiegel, der den Content in einem Intervall exportiert und commitet.

Willst du das an deinem Projekt sehen?

Sag kurz, was du vorhast. Ich zeige die Admin-UI an einer echten Installation und sage ehrlich, ob es passt.

Früher Zugang anfragen