Skip to main content
Glama

WikiJS MCP Server

by jaalbin24

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

Quick Start with Docker
  1. Create your .env file in the config/ directory 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

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 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

# 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

-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Features
    1. Installation
      1. Configuration
        1. Getting Wiki.js API Key
      2. Usage
        1. 🐳 Docker (Recommended)
        2. Standalone Server
        3. With Claude Code (Native)
      3. Available Tools
        1. wiki_search
        2. wiki_get_page
        3. wiki_list_pages
        4. wiki_get_tree
        5. wiki_create_page
        6. wiki_update_page
      4. Example Usage with Claude
        1. Development
          1. Setup Development Environment
          2. Testing
          3. Test Categories
          4. Code Quality
          5. Docker Testing
          6. CI/CD
        2. Requirements
          1. License

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server utilizing Claude AI for generating intelligent queries and offering documentation assistance based on API documentation analysis.
              Last updated -
              3
              2
              TypeScript
            • -
              security
              A
              license
              -
              quality
              A 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 -
              2
              Python
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A 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 -
              JavaScript
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A 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 -
              53
              TypeScript
              MIT License
              • Apple

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaalbin24/wikijs-mcp-server'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server