Wiki.js MCP server
Search, read and edit Wiki.js pages, and manage its assets, users, groups and comments
3 stars77 downloads/wk
Reviews
Write oneNobody has reviewed Wiki.js yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Wiki.js tools (62, 19 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
assign_user_to_groupAdds one account to one group, leaving its other memberships alone —
convert_page_editorChanges the storage format of a page. Wiki.js does not translate the
create_asset_folderwrite actionCreates a folder in the asset store. The slug is what appears in the
create_commentwrite actionPosts a comment on a page, optionally as a reply to another. The
create_groupwrite actionCreates an empty group. It starts with no permissions and no page
create_pagewrite actionCreates a page. The path must not already exist in this locale —
create_userwrite actionCreates an account. For a local account supply a password, or set
delete_assetwrite actionDeletes an asset permanently. Any page embedding it will show a broken
delete_commentwrite actionRemoves a comment permanently. Replies to it are not removed with it.
delete_groupwrite actionRemoves a group. Its members keep their accounts but lose whatever
delete_pagewrite actionDeletes a page and its history. Wiki.js has no trash — this cannot be
delete_tagwrite actionRemoves a tag from the wiki and from every page that carries it. The
delete_userwrite actionRemoves an account. Wiki.js needs somebody to inherit the pages it
diff_page_versionsReturns a unified diff between two versions of a page — or between one
flush_page_cachewrite actionDrops Wiki.js’ rendered-page cache for the whole wiki. Nothing is
get_commentReturns a single comment by id, with its source and its rendered HTML.
get_groupReturns one group with its global permissions, its page rules and its
get_navigation_treeThe sidebar navigation as configured, per locale. This is curated by
get_pageReads one page, addressed by page_id or by path plus locale. Choose a
get_page_conflictReturns the version of a page that is newer than the one you read —
get_page_treeLists the pages and folders directly under a path — the structural
get_page_versionReturns a single historical version of a page, including its full
get_site_infoVersion, database, host summary and the site’s own title and
get_userFull detail for one account, including its group memberships and
grep_pagesSearches the actual text of pages with a regular expression, by
list_api_keysLists the wiki’s API keys with their expiry and whether they are
list_asset_foldersLists the folders directly under an asset folder. Folder 0 is the
list_assetsLists the images and files in one asset folder. Folder 0 is the root.
list_commentsReturns the comments on one page, addressed by path and locale — not
list_groupsLists the wiki’s groups with how many users each has. Groups marked
list_localesWhich locales are installed and which one is the default. Worth
list_page_historyLists the stored versions of a page, newest first, with who changed
list_page_linksReturns every page together with the internal links it contains — the
list_pagesLists pages with their metadata, newest first by default. The result
list_search_enginesWhich search engine this wiki uses. Worth knowing before trusting
list_storage_targetsThe configured storage backends — git mirrors, S3 buckets, local
list_tagsEvery tag in the wiki, with its display title and when it was last
list_usersLists the wiki’s user accounts. `providerKey` says how they log in —
migrate_pages_localeMoves all pages from one locale to another, across the whole wiki.
move_pageMoves a page to another path, another locale, or both. Internal links
purge_page_historywrite actionDeletes stored page versions older than a cutoff, across the whole
rebuild_page_treeRecomputes the folder structure Wiki.js derives from page paths. The
rebuild_search_indexReindexes every page in the active search engine. Required once after
rename_assetRenames an asset. Pages embedding it by its old URL will break —
render_pageForces Wiki.js to regenerate one page’s HTML from its source. The fix
reset_user_passwordStarts Wiki.js’ own password reset for a local account, which emails
restore_page_versionRolls a page back to a stored version. The current content is not
revoke_api_keyRevokes an API key immediately and for good — Wiki.js has no way to
search_pagesFull-text search — but read this first: on a default Wiki.js the
search_tagsFinds tags matching a fragment. Cheaper than list_tags on a wiki with
search_usersFinds users by name or email. Use it to resolve a person to the id
set_api_stateSwitches Wiki.js’ whole API on or off. Turning it off disables every
set_user_activeSwitches an account on or off. A deactivated account keeps its pages
set_user_tfaSwitches an account’s second factor. Turning it OFF weakens that
unassign_user_from_groupTakes one account out of one group. Requires a confirmation token —
update_commentwrite actionReplaces the body of a comment. Wiki.js keeps no history for
update_groupwrite actionReplaces a group’s name, permissions, page rules and login redirect
update_pagewrite actionChanges a page. Pass content to replace the whole body, or edits for
update_tagwrite actionChanges a tag’s name or display title across every page carrying it.
update_userwrite actionChanges an account’s details or its group membership. The groups list
upload_assetwrite actionUploads an image or file to an asset folder, so it can be embedded in
verify_userMarks an account’s email as verified, which is otherwise done by the
Public scan report
scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it
- Code scan63 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Wiki.js compares
Against every graded Web search MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 70% of 3,470 Web search servers
- Tools
- 62
- the typical Web search server has 5
- Tools that change things
- 31%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 3
- more than 73% of 1,786 Web search servers
- Downloads a week
- 77
- more than 51% of 827 Web search servers with a package
What its tools let an agent do: 36 read · 6 create · 12 change · 8 delete
Install Wiki.js in Claude Code, Cursor or VS Code
Runs npx -y @ni-c/wikijs-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add wikijs-mcp -- npx -y @ni-c/wikijs-mcp
What the publisher says
From the Wiki.js repository's README, as published. We do not edit it. Read it on GitHub
wikijs-mcp
<!-- badges: start -->
<!-- badges: end -->
<!-- The opening is three paragraphs in a fixed shape: what it IS, what it LETS A CLIENT DO, and how to make it smaller. Keep "Lets MCP clients like Claude Code, Claude Desktop or Codex …" verbatim — the family drifted into "It lets an AI assistant", "It gives a model" and "This server speaks" before it was pinned.
There is NO standalone "Full documentation" line. The docs badge above links to the same page; the line existed in five different spellings and said nothing the badge did not. -->
A Model Context Protocol (MCP) server for Wiki.js, the self-hosted wiki that keeps its pages as markdown and exposes everything through one GraphQL endpoint.
Lets MCP clients like Claude Code, Claude Desktop or Codex search, read and edit wiki pages — and, if you let them, manage its assets, comments, users, groups and maintenance jobs.
Sixty-two tools is the ceiling, not the floor: WIKIJSALLOWTOOLS=essential registers a curated seven instead, and a model picks the right tool far more reliably from seven than from sixty-two — see choosing which tools load.
<!-- is resolved against the colour scheme of the page showing it, so GitHub picks the variant that matches its own theme toggle. npm strips and when it sanitises the README and keeps the , which is why that fallback brings its own dark card instead of relying on a media query. All three URLs must stay absolute: npm does not resolve repo-relative paths. -->
<!-- Absolute, like the diagram: npm does not resolve repo-relative paths, and a recording nobody sees is a recording that was not worth making. -->
What makes it different
Finds text search cannot. Wiki.js' default engine indexes titles and descriptions only — so searchpages says which engine is running, and greppages searches the actual text of pages.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Wiki.js: common questions
- Is Wiki.js MCP server safe?
- Mostly: it is graded B (83/100). Read the Wiki.js safety report
- How do I install Wiki.js?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Wiki.js need an API key?
- Yes. The registry entry asks for
WIKIJS_TOKEN. - Is Wiki.js maintained?
- The last commit was 23 days ago (2026-10-12). The latest release is v0.3.0.
- What can I use instead of Wiki.js?
- Servers from other publishers that do the same job: Exa Search MCP server, Zoteus MCP server and Search1API MCP server.
- How does Wiki.js compare with other Web search MCP servers?
- safety score 83/100 (higher than 70% of 3,470 Web search servers); tools 62 (the typical Web search server has 5); tools that change things 31% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Wiki.js
Same job from other publishers: the closest match first, then the best rated.
- Exa SearchSearch the live web and fetch clean content from source pages.not reviewedEstablishedA
- ZoteusZotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.not reviewedEstablishedA
Search1APIWeb search, agentic search, news, page retrieval, sitemaps, and trending topics through Search1API.not reviewedEstablishedA
Free SearchNo-API-key web search, page fetching and document reading across many engines. Local-first.not reviewedEstablishedB- RedditReddit MCP server with full read/write - posts, comments, search, and content creation.not reviewedEstablishedB