Skip to main content
Glama

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

Tool

Description

wiki_get_page

Read a page's content and metadata by path

wiki_create_page

Create a new page with markdown content

wiki_update_page

Update content, metadata, or patch a named section

wiki_search_pages

Full-text search — returns title, path, description, tags

wiki_list_pages

List pages with an optional path-prefix filter

wiki_move_page

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

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/osianet/wiki-js-mcp'

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