@redairforce/wikijs-mcp

@redairforce/wikijs-mcp

A comprehensive MCP server for Wiki.js integration with hierarchical documentation support and multi-level context management.

Category
Visit Server

README

@redairforce/wikijs-mcp

npm version License: MIT

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

  1. wikijs_connection_status - Test Wiki.js connection
  2. wikijs_get_site_info - Get detailed site information

Core Page Management

  1. wikijs_create_page - Create new pages
  2. wikijs_update_page - Update existing pages
  3. wikijs_get_page - Retrieve pages by ID/path
  4. wikijs_delete_page - Delete pages
  5. wikijs_list_pages - List pages with pagination
  6. wikijs_search_pages - Search page content

Hierarchical Documentation

  1. wikijs_create_nested_page - Create pages with parent-child relationships
  2. wikijs_create_repo_structure - Generate complete repository documentation

Bulk Operations

  1. wikijs_bulk_create_pages - Create multiple pages at once

File Integration

  1. wikijs_sync_file_docs - Sync source files with documentation
  2. wikijs_generate_file_overview - Generate documentation from code files

Multi-Level Context Management

  1. wikijs_detect_context - Auto-detect repository and workspace context
  2. wikijs_init_repository - Initialize repository documentation context
  3. wikijs_init_workspace - Initialize multi-repository workspace
  4. wikijs_set_context_mode - Switch between repository/workspace/architectural modes
  5. wikijs_get_context - Get current context optimized for Claude consumption
  6. wikijs_repository_status - Show current repository context and documentation status
  7. wikijs_workspace_status - Show workspace with all repositories and status
  8. wikijs_cross_repo_link - Create architectural mapping between repositories
  9. wikijs_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

  1. Token Efficiency: 200-1200 tokens vs 25,000+ token explosion
  2. Persistent Intelligence: Context survives between sessions via JSON files
  3. Cross-Repository Relationships: Documents dependencies and integrations
  4. Iterative Refinement: Easy corrections and updates to existing documentation
  5. Documentation Interrogation: Query your documentation like a knowledge base
  6. Automatic Organization: Smart categorization and wiki space management
  7. 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured