wikijs-mcp
Allows managing Wiki.js 2.x pages: search, read, create, update, move, delete, browse version history, and list assets through the Wiki.js GraphQL API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wikijs-mcpsearch for 'onboarding guide'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wikijs-mcp
An MCP server for managing Wiki.js 2.x pages: search, read, create, update, move, delete, browse version history, and list assets — all through the Wiki.js GraphQL API.
Tools
Tool | Description |
| Full-text search across pages. |
| List pages with ordering, tag, and locale filters. |
| Fetch a page by id or path, including its content. |
| Browse the page hierarchy. |
| List all tags, or search tags matching a query. |
| Create a new page. |
| Partially update a page by id. |
| Move/rename a page (requires |
| Delete a page (destructive). |
| Fetch a page's version history trail. |
| Fetch the content of a specific historical version. |
| Restore a page to a prior version. |
| List asset folders and files (read-only). |
Related MCP server: wiki-js-mcp
Quick start (stdio)
Add the server to Claude Code with claude mcp add:
claude mcp add wikijs -e WIKIJS_URL=https://wiki.example.com -e WIKIJS_TOKEN=your-api-key-here -- npx @sondt2709/wikijs-mcpFor Claude Desktop, Cursor, or any other MCP client that reads a JSON config, add:
{
"mcpServers": {
"wikijs": {
"command": "npx",
"args": ["@sondt2709/wikijs-mcp"],
"env": {
"WIKIJS_URL": "https://wiki.example.com",
"WIKIJS_TOKEN": "your-api-key-here"
}
}
}
}Getting an API key
Log in to your Wiki.js instance as an administrator.
Go to Administration → API Access.
Toggle Enable API on.
Click New API Key, give it a name and expiration, and grant it the permissions your workflow needs (
read:pagesat minimum;write:pages,manage:pages, andmanage:systemfor creating/updating/moving/deleting pages).Copy the generated token — it's shown only once — and use it as
WIKIJS_TOKEN.
Configuration
Variable / flag | Default | Description |
| — | Base URL of your Wiki.js instance (required). |
| — | API key from Administration → API Access (required). |
|
|
|
|
| Port to listen on when |
|
| pino log level: |
CLI flags take precedence over environment variables. See .env.example for a template.
HTTP / Docker mode
Run the server as a long-lived streamable-HTTP service instead of stdio — useful for sharing one instance across multiple clients, or running behind a reverse proxy.
cp .env.example .env # set WIKIJS_URL and WIKIJS_TOKEN
docker compose upThis builds the image from the included Dockerfile and starts the server with
TRANSPORT=http on port 3000:
MCP endpoint:
http://localhost:3000/mcpHealth check:
http://localhost:3000/healthz
Point your MCP client at the /mcp endpoint instead of spawning the process directly.
MCP Inspector
To poke at the server interactively:
pnpm inspectThis builds the project and launches the MCP Inspector against the stdio transport.
To inspect an HTTP deployment instead, start the server with docker compose up (or
TRANSPORT=http pnpm dev), then run npx @modelcontextprotocol/inspector on its own and
connect the Inspector UI to http://localhost:3000/mcp using the "Streamable HTTP"
transport option.
Development
pnpm install # install dependencies
pnpm dev # run from source with --watch
pnpm lint # eslint
pnpm typecheck # tsc --noEmit
pnpm format # prettier --write
pnpm build # bundle to dist/End-to-end tests run against a real, disposable Wiki.js instance in Docker:
pnpm e2e:wiki:up # start local Wiki.js in Docker
pnpm e2e:bootstrap # headless setup: admin account + API key + e2e/.env
pnpm test:e2e # build + run the e2e suite
pnpm e2e:wiki:down # tear down the container and its dataSee e2e/setup.md for details, including a manual setup fallback if
the bootstrap script fails.
Lefthook runs eslint --fix and prettier
on staged files at pre-commit, and typecheck + build at pre-push. It's installed
automatically via the prepare script after pnpm install.
Releasing
Pushing a tag matching v* (e.g. v0.2.0) triggers .github/workflows/release.yml,
which lints, typechecks, builds, and publishes the package to npm with provenance.
The NPM_TOKEN repository secret must be set (an npm automation token with publish
access to @sondt2709/wikijs-mcp) before pushing a release tag, or the workflow will fail at the
publish step.
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sondt2709/wikijs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server