Die Beispiele zeigen die Tool-Argumente als JSON. Wie du sie formulierst, hängt von deinem MCP-Client ab; in der Regel beschreibst du die Aufgabe, und das Modell wählt Tool und Argumente.
{
"path": "projekte/mein-plugin",
"title": "Mein Plugin",
"content": "# Mein Plugin\n\nBeschreibung ...",
"description": "Kurzbeschreibung für die Meta-Angabe",
"locale": "de",
"tags": ["plugin", "dokumentation"]
}
Ohne locale entsteht die Seite in der Sprache en. Existiert der Pfad in dieser Sprache schon, schlägt der Aufruf mit Failed to create page: ... fehl.
Der sichere Ablauf bei Inhaltsänderungen:
wikijs_get_page lesen.wikijs_update_page den vollständigen Inhalt senden und isPublished: true mitgeben.{
"path": "projekte/mein-plugin",
"locale": "de",
"content": "# Mein Plugin\n\nNeuer, vollständiger Inhalt ...",
"isPublished": true
}
Nur die Beschreibung oder den Titel ändern (Inhalt und Tags bleiben erhalten):
{ "id": 42, "description": "Neue Kurzbeschreibung", "isPublished": true }
Bei Seiten über 100.000 Zeichen immer den vollständigen
contentmitsenden, siehe Tools-Referenz.
wikijs_get_page liefert keine Tags. Lies sie über wikijs_list_pages (Eintrag mit passender id oder path). Zum Setzen sendest du das vollständige Array in tags; es ersetzt die bisherigen Tags.
{ "id": 42, "tags": ["mcp", "wikijs"], "isPublished": true }
{ "query": "Plugin", "locale": "de" }
Die Antwort enthält results mit id, title, path, description und locale sowie suggestions von Wiki.js.
{ "locale": "de", "limit": 100, "offset": 0 }
Setze den nächsten Aufruf mit offset = pagination.next_offset fort, solange has_more true ist. Beachte die Besonderheit von total_count bei gesetztem locale in der Tools-Referenz.
{
"path": "alt/mein-plugin",
"locale": "de",
"destinationPath": "archiv/mein-plugin",
"destinationLocale": "de"
}
destinationLocale immer mitgeben, sonst wird en verwendet.
Wiki.js führt jede Sprache als eigene Seite unter demselben Pfad. Lege deshalb pro Sprache einen eigenen wikijs_create_page-Aufruf mit dem passenden locale an und aktualisiere beide Seiten getrennt.
{ "path": "entwuerfe/idee", "locale": "de" }
Das Löschen ist endgültig und wird vom Server nicht abgefragt. Kläre die Rückfrage im Client oder lass dir die Seite vorher mit wikijs_get_page anzeigen.