WikiJS MCP Server
A Model Context Protocol server that enables Claude to read and update documentation in Wiki.js instances through capabilities like searching, reading, creating, and updating wiki pages.
README
WikiJS MCP Server
A Model Context Protocol (MCP) server for integrating with Wiki.js instances, enabling Claude to read and update documentation.
Features
- Search Pages: Find pages by title or content
- Read Pages: Get full page content by path or ID
- List Pages: Browse all pages with pagination
- Page Tree: View wiki structure as a tree
- Create Pages: Add new documentation pages
- Update Pages: Modify existing page content
- Authentication: Secure API key-based access
Installation
- Clone this repository:
git clone <repository-url>
cd wikijs-mcp
- Install dependencies:
pip install -e .
- Configure environment:
cp .env.example .env
# Edit .env with your Wiki.js details
Configuration
Create a .env file with your Wiki.js configuration:
WIKIJS_URL=https://your-wiki.example.com
WIKIJS_API_KEY=your_api_key_here
WIKIJS_GRAPHQL_ENDPOINT=/graphql # Optional, defaults to /graphql
DEBUG=false # Optional, enables debug logging
Getting Wiki.js API Key
- Log into your Wiki.js admin panel
- Go to Administration → API Access
- Enable the API if not already enabled
- Click New API Key
- Set appropriate permissions for your use case
- Add the key to your
.envfile
Usage
🐳 Docker (Recommended)
Quick Start with Docker
-
Create your
.envfile in the project root with your WikiJS settings -
Start the server:
docker compose up -d wikijs-mcp-server
- View logs:
docker compose logs -f wikijs-mcp-server
Docker Management Commands
# Start server in background
docker compose up -d wikijs-mcp-server
# Access interactive shell
docker compose run --rm wikijs-mcp-server bash
# Stop server
docker compose down
Docker with Claude Code
Add to your Claude Code MCP configuration:
{
"mcpServers": {
"wikijs": {
"command": "docker",
"args": ["exec", "-i", "wikijs-mcp-server", "python3", "-m", "wikijs_mcp.server"],
"env": {
"DOCKER_CONTAINER": "wikijs-mcp-server"
}
}
}
}
Standalone Server
Run the server directly:
python -m wikijs_mcp.server
With Claude Code (Native)
Add to your Claude Code MCP configuration:
{
"mcpServers": {
"wikijs": {
"command": "python3",
"args": ["-m", "wikijs_mcp.server"],
"cwd": "/path/to/wikijs-mcp"
}
}
}
Available Tools
wiki_search
Search for pages by title or content.
- Parameters:
query(string),limit(optional integer)
wiki_get_page
Get a specific page by path or ID.
- Parameters:
path(string) ORid(integer)
wiki_list_pages
List all pages.
- Parameters:
limit(optional integer)
wiki_get_tree
Get wiki page tree structure.
- Parameters:
parent_path(optional string)
wiki_create_page
Create a new wiki page.
- Parameters:
path(string),title(string),content(string),description(optional),tags(optional array)
wiki_update_page
Update an existing wiki page.
- Parameters:
id(integer),content(string),title(optional),description(optional),tags(optional array)
Example Usage with Claude
# Search for documentation
"Search for pages about authentication"
# Read a specific page
"Get the content of the page at path 'docs/api/authentication'"
# Update documentation
"Update page ID 123 with improved authentication examples"
# Create new documentation
"Create a new page at 'docs/troubleshooting/common-issues' with troubleshooting guide"
Development
Setup Development Environment
Install development dependencies:
pip install -e ".[dev]"
Testing
The project has comprehensive test coverage with pytest:
# Run all tests
pytest
# Run with coverage report
pytest --cov=wikijs_mcp --cov-report=html
# Run specific test categories
pytest -m unit # Unit tests only
pytest -m integration # Integration tests only
# Run tests in parallel (faster)
pytest -n auto
Test Categories
- Unit tests (
-m unit): Fast, isolated component tests - Integration tests (
-m integration): Full MCP server functionality tests - Network tests (
-m network): Tests requiring network access (skipped by default)
Code Quality
Format code:
black wikijs_mcp/ tests/
Type checking:
mypy wikijs_mcp/
Security scanning:
bandit -r wikijs_mcp/
safety check
Docker Testing
Test the Docker build:
docker compose build
docker compose run --rm wikijs-mcp-server bash
CI/CD
The project uses GitHub Actions for:
- ✅ Multi-Python testing (3.8-3.12)
- ✅ Code quality checks (black, mypy)
- ✅ Security scanning (bandit, safety)
- ✅ Docker build testing
- ✅ Coverage reporting (Codecov)
Requirements
- Python 3.8+
- Wiki.js 2.2+ (for API access)
- Valid Wiki.js API key with appropriate permissions
License
MIT License
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.