Markus Michalski FAQ

Wiki.js Plugin: Tools

Referenz aller zehn MCP-Tools des Wiki.js Plugins: Parameter, Rückgabewerte, Validierung, Schrumpf-Schutz confirmContentShrink, Veröffentlichungsstatus, verified-Marker.

English Version

Zurück zur Übersicht

Wiki.js Plugin: Tools

Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.

Der MCP-Server wikijs-mcp stellt zehn Tools bereit. Sieben davon sprechen mit der Wiki.js-GraphQL-API, drei arbeiten ausschließlich auf der lokalen SQLite-Datenbank.

Tool Zweck Ziel
wikijs_create_page Seite anlegen Wiki.js (schreibend)
wikijs_update_page Seite ändern Wiki.js (schreibend)
wikijs_get_page Seite lesen Wiki.js (lesend)
wikijs_list_pages Seiten auflisten Wiki.js (lesend)
wikijs_search_pages Volltextsuche Wiki.js (lesend)
wikijs_delete_page Seite löschen Wiki.js (destruktiv)
wikijs_move_page Seite verschieben Wiki.js (schreibend)
wikijs_get_page_history Lokale Änderungshistorie lesen nur lokale DB
wikijs_mark_verified Seite als gegen den Code geprüft markieren nur lokale DB
wikijs_get_verified_refs Verifizierte Refs lesen nur lokale DB

Gemeinsame Regeln

Alle Eingaben werden geprüft, bevor eine Anfrage an Wiki.js geht.

Feld Regel
path 1 bis 500 Zeichen, nur Buchstaben, Ziffern, -, _ und /, beginnt und endet mit Buchstabe oder Ziffer, kein .. und kein //, kein führender Slash
locale Format de oder en-US (zwei Kleinbuchstaben, optional Bindestrich und zwei Großbuchstaben)
id positive ganze Zahl
title 1 bis 200 Zeichen
description 1 bis 500 Zeichen
content 1 bis 500.000 Zeichen
tags höchstens 50 Tags, jeder 1 bis 100 Zeichen

Die Datenbank-Spalte der Wiki.js-Beschreibung ist in der Praxis auf 255 Zeichen begrenzt. Halte die Beschreibung unter 250 Zeichen, sonst scheitert das Speichern in Wiki.js, obwohl die Validierung des Tools 500 erlaubt.

Pfade mit Punkt oder Nicht-ASCII-Zeichen lehnt die Validierung ab. Solche Seiten sprichst du über ihre id an.

Fehler kommen als normales Tool-Ergebnis zurück. Typische Meldungen: Page not found at path: ..., Either "id" or "path" must be provided, HTTP error! status: ..., GraphQL request failed: ..., Request timed out. Please try again..

wikijs_create_page

Legt eine neue Seite an. Existiert unter dem Pfad schon eine Seite, schlägt der Aufruf fehl.

Parameter Typ Pflicht Standard Beschreibung
path string Ja Seitenpfad ohne führenden Slash
title string Ja Titel
content string Ja Inhalt (Markdown oder HTML)
description string Ja Meta-Beschreibung
locale string Nein en Sprache
editor string Nein markdown markdown, code oder ckeditor
isPublished boolean Nein true Sofort veröffentlichen
isPrivate boolean Nein false Private Seite
tags string Nein [] Tags
sourceRepo string Nein leer Quellprojekt für die lokale Historie
sourceRef string Nein leer Commit oder Tag für die lokale Historie
summary string Nein leer Ein Satz zur Änderung, nur lokale Historie

Rückgabe: message (Page created successfully at /<pfad>) und page mit id, path, title.

wikijs_update_page

Ändert eine bestehende Seite. Die Seite wird über id oder über path plus locale bestimmt.

Parameter Typ Pflicht Standard Beschreibung
id integer Nein* Seiten-ID
path string Nein* Seitenpfad
locale string Nein en Sprache, bei Pfad-Zugriff wichtig
content string Nein Neuer Inhalt, ersetzt die ganze Seite
title string Nein Neuer Titel
description string Nein Neue Beschreibung
isPublished boolean Nein nicht gesetzt Veröffentlichungsstatus
tags string Nein Ersetzt die Tags
sourceRepo, sourceRef, summary string Nein leer Nur lokale Historie
confirmContentShrink boolean Nein false Bestätigt eine beabsichtigte starke Kürzung

*Eine der beiden Angaben id oder path ist Pflicht.

Was nicht mitgeschickt wird, bleibt erhalten: Der Server lädt die Seite und sendet Inhalt, Titel, Beschreibung und Tags unverändert mit. Das gilt nicht für den Veröffentlichungsstatus.

Sende bei jedem Update einer veröffentlichten Seite isPublished: true mit. Ohne diesen Parameter schickt der Server keinen Status, und Wiki.js speichert die Seite als Entwurf.

content ersetzt den kompletten Seiteninhalt, es gibt kein Patchen. Lade die Seite zuerst mit wikijs_get_page und sende den vollständigen neuen Text.

Schrumpf-Schutz (confirmContentShrink)

Ist der alte Inhalt mindestens 200 Zeichen lang und der neue Inhalt kürzer als die Hälfte des alten, lehnt der Server das Update ab. Die Fehlermeldung nennt beide Längen. Ist die Kürzung gewollt (zum Beispiel beim Umbau eines Hubs auf eine Kurzfassung), wiederhole den Aufruf mit confirmContentShrink: true. Der Schutz greift nur, wenn content mitgeschickt wird.

Rückgabe: message (Page <id> updated successfully) und result (Wiki.js-Antwort mit succeeded, errorCode, message).

Nicht änderbar über dieses Tool sind isPrivate und der Editor-Typ.

wikijs_get_page

Liest eine Seite per id oder per path plus locale (Standard en).

Rückgabe: id, path, title, description, content, contentType, isPublished, locale, createdAt, updatedAt.

Inhalte über 100.000 Zeichen werden gekürzt und mit dem Hinweis [Content truncated. Original length: ... chars. ...] abgeschlossen.

Den updatedAt-Wert brauchst du für wikijs_mark_verified. Lies ihn nach dem letzten Publish.

wikijs_list_pages

Parameter Typ Standard Beschreibung
locale string alle Nach Sprache filtern
limit integer 50 1 bis 200
offset integer 0 Anzahl zu überspringender Einträge, mindestens 0

Rückgabe: pages (je Seite id, path, title, description, locale, isPublished, tags, updatedAt) und pagination mit limit, offset, total_count, has_more und, solange es weitere Seiten gibt, next_offset. Der Server holt dafür jedes Mal alle Seiten von Wiki.js und filtert und schneidet lokal. total_count gilt nach dem Locale-Filter.

wikijs_search_pages

Parameter Typ Pflicht Beschreibung
query string Ja Suchbegriff, 2 bis 200 Zeichen
locale string Nein Ergebnisse nach Sprache filtern

Rückgabe: totalHits, suggestions und results (je Treffer id, title, path, description, locale). Der Locale-Filter wird erst nach der Suche angewendet.

wikijs_delete_page

Löscht eine Seite endgültig. Parameter wie bei wikijs_get_page (id oder path, locale). Rückgabe: message (Page <id> deleted permanently) und result.

Das Löschen ist nicht rückgängig zu machen. Frage vorher nach.

wikijs_move_page

Parameter Typ Pflicht Standard Beschreibung
destinationPath string Ja Neuer Pfad
id integer Nein* Seiten-ID
path string Nein* Aktueller Pfad
locale string Nein en Aktuelle Sprache
destinationLocale string Nein en Zielsprache

Rückgabe: message, from, to, destinationLocale, result.

Die URL der Seite ändert sich, Links müssen nachgezogen werden. Historie-Einträge und verified-Marker sind nach dem Pfad abgelegt: Nach einem Verschieben bleiben sie beim alten Pfad, die Seite gilt am neuen Pfad als nie verifiziert.

wikijs_get_page_history

Liest die lokal geloggte Änderungshistorie. Ruft Wiki.js nicht auf.

Parameter Typ Pflicht Standard Beschreibung
path string Ja Seitenpfad, wie bei create/update verwendet
locale string Nein alle Nach Sprache filtern
limit integer Nein 20 1 bis 200, neueste zuerst

Rückgabe: path und entries. Jeder Eintrag hat id, page_path, changed_at (UTC), locale, source_repo, source_ref, summary, verified und page_updated_at. verified ist nur bei Einträgen von wikijs_mark_verified gleich 1. Bei Einträgen aus create/update heißt source_ref nur: Die Seite wurde bei diesem Stand geschrieben.

Geloggt werden nur Aufrufe, bei denen mindestens eines von sourceRepo, sourceRef, summary gesetzt war.

wikijs_mark_verified

Hält fest, dass eine Seite bei einem bestimmten Commit gegen den Quellcode geprüft wurde. Schreibt nur in die lokale Datenbank, ändert die Wiki.js-Seite nicht und prüft weder, ob die Seite existiert, noch, ob der Ref gültig ist.

Parameter Typ Pflicht Beschreibung
path string Ja Seitenpfad, ein führender / wird ignoriert
locale string Ja Sprache
sourceRepo string Ja Name des Quellprojekts
sourceRef string Ja Commit oder Tag, gegen den geprüft wurde
pageUpdatedAt string Ja updatedAt der Seite, nach dem letzten Publish gelesen
summary string Nein Kurze Notiz, z. B. baseline claim check

Leere Werte (nach Entfernen von Leerzeichen und Zeilenumbrüchen) für sourceRepo, sourceRef oder pageUpdatedAt lehnt das Tool ab. Pfade mit .., //, abschließendem Slash oder Leerzeichen werden abgelehnt.

Rückgabe: message (Marked /<pfad> (<locale>) as verified at <ref>).

wikijs_get_verified_refs

Liefert je Seite und Sprache den neuesten verifizierten Ref. Seiten, die nie markiert wurden, erscheinen nicht, auch wenn sie einen geschriebenen sourceRef haben. Ruft Wiki.js nicht auf.

Parameter Typ Pflicht Beschreibung
path string Nein Seitenpfad, ohne Angabe alle verifizierten Seiten
locale string Nein Nach Sprache filtern

Rückgabe: entries mit page_path, locale, source_repo, source_ref, page_updated_at, verified_at.

Der Marker gilt nur, solange page_updated_at mit dem aktuellen updatedAt der Seite aus Wiki.js übereinstimmt. Das Tool vergleicht nicht selbst, das übernimmt der Skill source-check.

Tool-Hinweise (Annotations)

Tool Lesend Destruktiv Idempotent
wikijs_get_page, wikijs_list_pages, wikijs_search_pages ja nein ja
wikijs_get_page_history, wikijs_get_verified_refs ja nein ja
wikijs_create_page, wikijs_move_page, wikijs_mark_verified nein nein nein
wikijs_update_page nein nein ja
wikijs_delete_page nein ja nein

Wie die Tools zusammenspielen, zeigt die Seite Arbeitsabläufe.