wikijs-mcp-server
Wiki.js MCP Server
Model Context Protocol Server for Wiki.js integration - Create and manage wiki pages directly from your AI assistant.
Using this from Claude Code? Use wikijs-plugin instead — it combines this server (ported to Python) with a
docs-wikiskill into a single plugin installable via the Claude Code marketplace mechanism, no manual clone/build/config steps. Config moves from this repo's.envto~/.wikijs-plugin/.env(set up via/wikijs-plugin:setup); the runtime changes from Node.js 18+ to Python 3.11+; tool names (wikijs_create_page, ...) are unchanged. This repo continues to receive fixes and remains the way to run the server directly (see Quick Start below) for any MCP client other than Claude Code.Migrating an existing install: copy
~/.claude/mcp-servers/wikijs/.envto~/.wikijs-plugin/.env(same keys, same values — no new API token needed), then remove the oldwikijsentry from~/.claude.jsonso the tools aren't registered twice.
v2.0.0 - Major Refactoring
This version includes a complete rewrite following MCP Best Practices:
TypeScript - Full type safety with strict mode
Modern SDK - Uses MCP SDK v1.24+ with
McpServer.tool()APIZod Validation - Runtime input validation for all tools
Service-Prefixed Tools - All tools use
wikijs_prefix for namespace clarityTool Annotations - Proper
readOnlyHint,destructiveHint, etc.Pagination Support - List operations return
has_more,next_offset,total_countCharacter Limits - Large content is truncated with clear notices
Documentation
The comprehensive guide includes:
Installation instructions
Configuration examples
All 7 MCP tools with parameters
GraphQL API integration details
Troubleshooting guide
Quick Start
For any MCP client other than Claude Code (see the note above for Claude Code):
# 1. Clone repository
git clone https://github.com/markus-michalski/wikijs-mcp-server.git
cd wikijs-mcp-server
# 2. Install dependencies
npm install
# 3. Build TypeScript
npm run build
# 4. Configure environment
cp .env.example .env
# Edit .env with your Wiki.js API credentials
# 5. Point your MCP client's config at dist/index.js and restart itRequirements
Node.js 18+
Wiki.js instance (v2.x or v3.x)
Wiki.js API Token with page management permissions
Available Tools
Tool | Description | Annotations |
| Create new wiki pages with Markdown or HTML |
|
| Update existing pages (content, title, tags) |
|
| Retrieve full page content and metadata |
|
| List pages with pagination and filtering |
|
| Full-text search across wiki pages |
|
| Permanently delete pages |
|
| Move pages to new paths |
|
Development
# Development with hot-reload
npm run dev
# Build for production
npm run build
# Type checking
npm run typecheckProject Structure
wikijs-mcp-server/
├── src/
│ ├── index.ts # Main server entry point
│ ├── constants.ts # Shared constants (CHARACTER_LIMIT, etc.)
│ ├── types.ts # TypeScript type definitions
│ ├── schemas/ # Zod validation schemas
│ ├── services/ # API client and error handling
│ └── tools/ # Tool implementations
├── dist/ # Compiled JavaScript
├── evaluation.xml # MCP evaluation test questions
└── package.jsonLicense
MIT License - See LICENSE for details
Author
Markus Michalski
Website: markus-michalski.net
GitHub: @markus-michalski
Links
Full Documentation (English)
Vollstaendige Dokumentation (Deutsch)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/markus-michalski/wikijs-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server