Provides containerized deployment options with Docker and Docker Compose, including commands for configuration management and server operations within containers.
Interfaces with Wiki.js through its GraphQL API endpoint, allowing for querying and mutating wiki content through structured GraphQL operations.
Enables searching, reading, listing, and managing pages in a Wiki.js instance, with features for browsing wiki structure, creating new documentation pages, and updating existing content.
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:
- Install dependencies:
- Configure environment:
Configuration
Create a .env
file with your Wiki.js configuration:
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
.env
file
Usage
🐳 Docker (Recommended)
Quick Start with Docker
- Create your
.env
file in theconfig/
directory with your WikiJS settings - Start the server:
- View logs:
Docker Management Commands
Docker with Claude Code
Add to your Claude Code MCP configuration:
Standalone Server
Run the server directly:
With Claude Code (Native)
Add to your Claude Code MCP configuration:
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 with pagination.
- Parameters:
limit
(optional integer),offset
(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
Development
Setup Development Environment
Install development dependencies:
Testing
The project has comprehensive test coverage with pytest:
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:
Type checking:
Security scanning:
Docker Testing
Test the Docker build:
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
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
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.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server utilizing Claude AI for generating intelligent queries and offering documentation assistance based on API documentation analysis.Last updated -32TypeScript
- -securityAlicense-qualityA Model Context Protocol server that allows Claude to interact with Warpcast accounts, enabling actions like posting casts, reading content, searching by keywords, and managing channel interactions through natural language.Last updated -2PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Claude to interact with the ConnectWise Manage API to perform operations like retrieving, creating, updating, and deleting tickets, companies, contacts, and other entities.Last updated -JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Claude to perform advanced web research with intelligent search queuing, enhanced content extraction, and deep research capabilities.Last updated -53TypeScriptMIT License