MCP Hub
Back to servers

wiki-js-mcp

An MCP server for Wiki.js that enables AI agents to create, read, update, search, list, and move wiki pages via the GraphQL API. It supports surgical section updates and structured content management through named sections.

glama
Updated
Apr 18, 2026

wiki-js-mcp

An MCP server for Wiki.js — lets AI agents create, read, update, search, list, and move wiki pages via the Wiki.js GraphQL API.

Tools

ToolDescription
wiki_get_pageRead a page's content and metadata by path
wiki_create_pageCreate a new page with markdown content
wiki_update_pageUpdate content, metadata, or patch a named section
wiki_search_pagesFull-text search — returns title, path, description, tags
wiki_list_pagesList pages with an optional path-prefix filter
wiki_move_pageRename or restructure a page path

All tools return {"success": bool, "error": str | null, ...} and never raise — the calling agent decides how to handle failures.

Section patching

wiki_update_page supports surgical updates to named sections without touching the rest of the page. Fence any block in your wiki content with HTML comments:

<!-- OSIA:AUTO:watchlist -->
Content managed by the AI agent goes here.
<!-- /OSIA:AUTO:watchlist -->

Then call:

wiki_update_page(
    path="desks/geopolitical-and-security",
    section="watchlist",
    section_content="- Benjamin Netanyahu (🔴 Critical)\n- ...",
)

The markers and surrounding content are left untouched.

Requirements

  • Python 3.11+
  • uv (recommended) or pip
  • A running Wiki.js 2.x instance with a valid API key

Installation

git clone https://github.com/osianet/wiki-js-mcp.git
cd wiki-js-mcp
uv sync

Copy .env.example to .env and fill in your values:

cp .env.example .env
WIKIJS_URL=http://localhost:3000/graphql
WIKIJS_API_KEY=your-api-key-here

Generate an API key at https://your-wiki/a/api-keys in the Wiki.js admin panel.

Usage

Standalone (stdio)

uv run wiki-mcp

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "wiki-js": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/wiki-js-mcp", "wiki-mcp"],
      "env": {
        "WIKIJS_URL": "http://localhost:3000/graphql",
        "WIKIJS_API_KEY": "your-api-key-here"
      }
    }
  }
}

With Claude Code

Add to your project's .claude/settings.json or ~/.claude/settings.json:

{
  "mcpServers": {
    "wiki-js": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/wiki-js-mcp", "wiki-mcp"]
    }
  }
}

Development

uv sync --extra dev

# Lint
uv run ruff check wiki_mcp.py

# Format
uv run ruff format wiki_mcp.py

# Type check
uv run pyright wiki_mcp.py

# Tests
uv run pytest

License

MIT — see LICENSE.

Reviews

No reviews yet

Sign in to write a review