wiki-js-mcp

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.

Category
Visit Server

README

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.

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