The examples show the tool arguments as JSON. How you phrase them depends on your MCP client; usually you describe the task and the model picks the tool and arguments.
{
"path": "projects/my-plugin",
"title": "My Plugin",
"content": "# My Plugin\n\nDescription ...",
"description": "Short description for the meta tag",
"locale": "en",
"tags": ["plugin", "documentation"]
}
Without locale the page is created in the en locale. If the path already exists in that locale, the call fails with Failed to create page: ....
The safe flow for content changes:
wikijs_get_page.wikijs_update_page and pass isPublished: true.{
"path": "projects/my-plugin",
"locale": "en",
"content": "# My Plugin\n\nNew, complete content ...",
"isPublished": true
}
Change only the description or title (content and tags are preserved):
{ "id": 42, "description": "New short description", "isPublished": true }
For pages over 100,000 characters always send the complete
content, see Tools reference.
wikijs_get_page returns no tags. Read them through wikijs_list_pages (the entry with the matching id or path). To set them, send the complete array in tags; it replaces the existing tags.
{ "id": 42, "tags": ["mcp", "wikijs"], "isPublished": true }
{ "query": "plugin", "locale": "en" }
The response contains results with id, title, path, description and locale, plus suggestions from Wiki.js.
{ "locale": "en", "limit": 100, "offset": 0 }
Continue with offset = pagination.next_offset as long as has_more is true. Mind the caveat about total_count when locale is set in the Tools reference.
{
"path": "old/my-plugin",
"locale": "en",
"destinationPath": "archive/my-plugin",
"destinationLocale": "en"
}
Always pass destinationLocale, otherwise en is used.
Wiki.js keeps every language as a separate page under the same path. Therefore make one wikijs_create_page call per language with the matching locale and update both pages separately.
{ "path": "drafts/idea", "locale": "en" }
Deletion is permanent and the server does not ask for confirmation. Handle confirmation in your client or have the page shown with wikijs_get_page first.