WikiJS MCP Server

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.

Category
Visit Server

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

  1. Clone this repository:
git clone <repository-url>
cd wikijs-mcp
  1. Install dependencies:
pip install -e .
  1. 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

  1. Log into your Wiki.js admin panel
  2. Go to AdministrationAPI Access
  3. Enable the API if not already enabled
  4. Click New API Key
  5. Set appropriate permissions for your use case
  6. Add the key to your .env file

Usage

🐳 Docker (Recommended)

Quick Start with Docker

  1. Create your .env file in the project root with your WikiJS settings

  2. Start the server:

docker compose up -d wikijs-mcp-server
  1. 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) OR id (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

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