@redairforce/wikijs-mcp
A comprehensive MCP server for Wiki.js integration with hierarchical documentation support and multi-level context management.
README
@redairforce/wikijs-mcp
A comprehensive Model Context Protocol (MCP) server for Wiki.js integration with hierarchical documentation support and multi-level context management. Now available on npm for easy installation and use with Claude Code.
š Quick Start
npm Installation (Recommended)
# Install globally for CLI usage
npm install -g @redairforce/wikijs-mcp
# Or install locally in your project
npm install @redairforce/wikijs-mcp
Local Development Installation
# Clone the repository
git clone https://github.com/redairforce/wikijs-mcp.git
cd wikijs-mcp
# Install dependencies
npm install
# Build the package
npm run build
Configuration
Create a .env file in your project directory:
# Copy the example configuration
cp .env.example .env
# Edit with your Wiki.js credentials
WIKIJS_API_URL=https://your-wiki.example.com
WIKIJS_TOKEN=your_jwt_token_here
Quick CLI Test
# Test your Wiki.js connection
wikijs-mcp test-connection
# List existing pages
wikijs-mcp list-pages
# Start the MCP server
wikijs-mcp server
Usage with Claude Code
Add to your Claude Code MCP configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"wikijs": {
"command": "wikijs-mcp",
"args": ["server"]
}
}
}
šÆ Features
š Core Page Management
- Create/Update/Delete pages with full content support
- Search across all Wiki.js content
- List pages with pagination
- Get individual pages by ID or path
šļø Hierarchical Documentation
- Nested page creation with automatic path management
- Repository structure generation for organized documentation
- Auto-categorization by file type (components, API, utils, etc.)
š§ Advanced Features
- Bulk operations for creating multiple pages
- File-to-documentation sync with code analysis
- Automatic content generation from source files
- GraphQL integration with comprehensive error handling
š Claude Integration
- 22 MCP tools available to Claude Code
- Real-time documentation updates during development
- Code-aware content generation with syntax highlighting
- Project structure analysis and documentation
š Available MCP Tools
Connection & Status
wikijs_connection_status- Test Wiki.js connectionwikijs_get_site_info- Get detailed site information
Core Page Management
wikijs_create_page- Create new pageswikijs_update_page- Update existing pageswikijs_get_page- Retrieve pages by ID/pathwikijs_delete_page- Delete pageswikijs_list_pages- List pages with paginationwikijs_search_pages- Search page content
Hierarchical Documentation
wikijs_create_nested_page- Create pages with parent-child relationshipswikijs_create_repo_structure- Generate complete repository documentation
Bulk Operations
wikijs_bulk_create_pages- Create multiple pages at once
File Integration
wikijs_sync_file_docs- Sync source files with documentationwikijs_generate_file_overview- Generate documentation from code files
Multi-Level Context Management
wikijs_detect_context- Auto-detect repository and workspace contextwikijs_init_repository- Initialize repository documentation contextwikijs_init_workspace- Initialize multi-repository workspacewikijs_set_context_mode- Switch between repository/workspace/architectural modeswikijs_get_context- Get current context optimized for Claude consumptionwikijs_repository_status- Show current repository context and documentation statuswikijs_workspace_status- Show workspace with all repositories and statuswikijs_cross_repo_link- Create architectural mapping between repositorieswikijs_smart_sync_file- Intelligently sync files with context awareness
š ļø Command Line Usage
The package also provides a CLI for direct Wiki.js management:
Test Connection
wikijs-mcp test-connection
Create a Page
wikijs-mcp create-page "My Page Title" "# Content here" "/docs/my-page"
List Pages
wikijs-mcp list-pages --limit 20
Search Pages
wikijs-mcp search "API documentation"
Start MCP Server
wikijs-mcp server
# or simply
wikijs-mcp
š Usage Examples
Creating Nested Documentation
// Claude can execute this via MCP tools
await wikijs_create_nested_page({
title: "Button Component",
content: "# Button Component\n\nReusable button with multiple variants...",
parentPath: "/frontend/components",
description: "React button component documentation"
});
Repository Structure Generation
await wikijs_create_repo_structure({
repoName: "My Frontend App",
description: "Modern React application with TypeScript",
sections: ["Overview", "Components", "API", "Testing", "Deployment"]
});
File-to-Documentation Sync
await wikijs_sync_file_docs({
filePath: "./src/components/Button.tsx",
wikiPath: "/frontend/components/button",
extractContent: true,
includeMetadata: true
});
āļø Configuration Options
Environment Variables
| Variable | Description | Default | Required |
|---|---|---|---|
WIKIJS_API_URL |
Wiki.js instance URL | - | ā |
WIKIJS_TOKEN |
JWT API token | - | ā * |
WIKIJS_USERNAME |
Username (alternative auth) | - | ā * |
WIKIJS_PASSWORD |
Password (alternative auth) | - | ā * |
LOG_LEVEL |
Logging level | INFO |
ā |
DEFAULT_SPACE_NAME |
Default documentation space | Documentation |
ā |
REPOSITORY_ROOT |
Repository root path | ./ |
ā |
*Either WIKIJS_TOKEN or both WIKIJS_USERNAME and WIKIJS_PASSWORD required.
š Development
Setup
git clone <repository>
cd custom-wikijs-mcp
npm install
Build
npm run build
Development Mode
npm run dev
Testing
npm test
š§ Multi-Level Context Architecture
Overview
The WikiJS MCP server features a sophisticated multi-level context system that prevents token explosion while maintaining rich cross-repository intelligence. This enables seamless documentation workflows across multiple repositories and system architecture levels.
š Context Levels
| Level | Focus | Token Budget | Use Case | Wiki Spaces |
|---|---|---|---|---|
| š Repository | Single repo documentation | ~200 tokens | "Document frontend applications" | frontend-docs |
| š¢ Workspace | Multi-repo coordination | ~800 tokens | "Coordinate frontend & backend repos" | frontend-docs, backend-docs |
| šļø Architectural | System-wide relationships | ~1200 tokens | "Document how services integrate with database layer" | system-architecture |
š Documentation Workflow
Phase 1: Individual Repository Documentation
# Navigate to your first repository
cd /path/to/your/repo
# Claude automatically detects repository context
# - Creates .wikijs-state.json for persistent tracking
# - Maps to wiki space: your-project-docs
# - Tracks individual files ā wiki pages with hash tracking
# - Documents components, configurations, and setup guides
Example Interaction:
You: "Document all the components in this repository"
Claude: [Repository Level - 200 tokens]
- Auto-detects current directory as git repository
- Creates comprehensive component catalog
- Maps files to wiki pages with change tracking
- Documents all modules, services, and dependencies
Phase 2: Multi-Repository Coordination
# Navigate to workspace root to coordinate repositories
cd /workspace
# Initialize workspace context (ties repositories together)
# - Creates .wikijs-workspace.json for multi-repo state
# - Detects all repositories in workspace (frontend/, backend/, etc.)
# - Enables cross-repository page linking and references
# - Coordinates documentation structure across repos
Example Interaction:
You: "Now tie the frontend and backend repositories together in the wiki"
Claude: [Workspace Level - 800 tokens]
- Loads context from both frontend and backend repositories
- Creates cross-references between wiki spaces
- Documents how repositories relate to each other
- Builds unified navigation across different spaces
Phase 3: Architectural Documentation
# Still at workspace root - switch to architectural focus
# - Documents system-wide architecture and relationships
# - Creates cross-repository dependency mapping
# - Maintains architectural decision records (ADRs)
# - Shows network flows and component interactions
Example Interaction:
You: "Document the system architecture showing how frontend and backend integrate"
Claude: [Architectural Level - 1200 tokens]
- Creates architectural relationship: "Frontend API calls depend on backend authentication service"
- Documents network topology and data flows
- Shows dependencies between different repositories
- Creates system-wide architectural diagrams and explanations
šÆ Context Switching
Automatic Detection (Recommended)
Claude automatically selects appropriate context based on:
- Current Directory: Repository root vs workspace root
- Request Keywords: "architecture", "cross-repo", "system design"
- Existing Context: Detects existing .wikijs-state.json or .wikijs-workspace.json files
Manual Control (When Needed)
# Explicit context switching
"Switch to workspace level to coordinate between repositories"
"Move to architectural context to document system design"
"Focus on repository level for just this application"
š Iterative Documentation Refinement
Initial Documentation ā Review ā Corrections
# After Claude creates initial documentation
You: "I reviewed the API documentation at https://docs.example.com/en/api
and need corrections. The authentication endpoint actually uses OAuth2."
Claude: [Repository Level - loads existing context]
- Accesses current .wikijs-state.json context (~200 tokens)
- Loads existing wiki page content for reference
- Makes targeted updates based on your corrections
- Updates wiki.js page with accurate information
- Maintains file change tracking for future updates
Loading Documentation for Interrogation
# Later session - return to work on repository
cd /path/to/your/repo
You: "Load the API documentation so I can ask about the authentication flow"
Claude: [Auto-loads repository context]
- Reads .wikijs-state.json (persistent repository state)
- Loads existing wiki page mappings and content
- Tracks recent file changes since last sync
- Ready to answer questions about documented configuration
Cross-Repository Questions
# Working at workspace level
cd /workspace
You: "How does the frontend application connect to backend services?"
Claude: [Workspace Level - cross-repository intelligence]
- Loads frontend-docs documentation context
- Loads backend-docs documentation context
- References architectural relationship mappings
- Provides comprehensive answer spanning both repositories
š§ Smart Features
Change Detection & Incremental Updates
# When returning to a repository later
Claude: [Automatically detects]
"I notice 3 files have changed since last documentation sync"
"The wiki page was last updated 5 days ago - should we review for updates?"
"New package.json dependencies detected - documentation may need updates"
Documentation-Driven Development
You: "I'm updating the API service - what documentation needs updates?"
Claude: [Repository context with file mappings]
"Based on tracked file mappings, updating the API service will require updates to:
- /api/endpoints page (version numbers)
- API configuration guide (if parameters change)
- Architecture page (if networking changes)
Would you like me to prepare these updates?"
šļø Generated Wiki Structure
Wiki.js Organization:
āāā frontend-docs/ (Repository Level)
ā āāā components/ ā Your component documentation
ā āāā deployment-guide/
ā āāā configuration/
ā āāā troubleshooting/
ā
āāā backend-docs/ (Repository Level)
ā āāā api-services/
ā āāā authentication/
ā āāā database-schemas/
ā āāā middleware/
ā
āāā system-architecture/ (Architectural Level)
āāā system-overview/
āāā frontend-backend-integration/
āāā network-topology/
āāā dependency-mapping/
āāā architectural-decisions/
š” Key Benefits
- Token Efficiency: 200-1200 tokens vs 25,000+ token explosion
- Persistent Intelligence: Context survives between sessions via JSON files
- Cross-Repository Relationships: Documents dependencies and integrations
- Iterative Refinement: Easy corrections and updates to existing documentation
- Documentation Interrogation: Query your documentation like a knowledge base
- Automatic Organization: Smart categorization and wiki space management
- Change Tracking: File hash system prevents unnecessary wiki updates
This creates a living documentation system where your wiki becomes an intelligent, queryable knowledge base that grows and evolves with your codebase.
š Advanced Usage
Custom File Analysis
The package automatically categorizes files for documentation:
- Components: React/Vue components, UI elements
- API: Endpoints, controllers, routes
- Utils: Helper functions, utilities
- Services: Business logic, external integrations
- Models: Data models, types, schemas
- Tests: Unit tests, integration tests
- Config: Configuration files, environment setup
GraphQL Integration
Built on the verified GraphQL mutations that work with Wiki.js:
- Proper authentication handling
- Comprehensive error reporting
- Retry logic with exponential backoff
- Full type safety with TypeScript
š¤ Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
š License
MIT License - see LICENSE file for details.
š Acknowledgments
- Wiki.js Team - For the excellent documentation platform
- MCP Protocol - For standardized AI integration
- @modelcontextprotocol/sdk - For the TypeScript MCP implementation
Ready to enhance your documentation workflow? š Install @redairforce/wikijs-mcp and let Claude manage your Wiki.js content seamlessly!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.