Skip to main content
Glama
mfic
by mfic
README.md
# wikijs-mcp

MCP (Model Context Protocol) server for [Wiki.js](https://js.wiki/) that exposes page management through Wiki.js's GraphQL API.

## Tools

| Tool | Description |
|---|---|
| `wikijs_list_pages` | List all pages (sortable by title, path, ID, date) |
| `wikijs_get_page` | Get full content and metadata of a page by ID |
| `wikijs_get_page_tree` | Browse the page/folder hierarchy |
| `wikijs_search_pages` | Full-text search across pages |
| `wikijs_create_page` | Create a new page (markdown, HTML, AsciiDoc) |
| `wikijs_update_page` | Update a page's content, title, or metadata |
| `wikijs_delete_page` | Delete a page by ID |

## Prerequisites

1. A running Wiki.js instance (v2.x)
2. An API key — create one at **Administration > API Access** in your Wiki.js admin panel
3. The API key needs appropriate permission scopes for pages (read/write/manage)

## Setup

```bash
cp .env.example .env
# Edit .env with your Wiki.js URL and API key
```

### Option A: Local (Node.js >=18)

```bash
npm install
npm run build
npm start
```

For development:

```bash
npm run dev
```

### Option B: Docker

```bash
docker compose build
docker compose up -d
```

## Claude Code Integration

Add to your Claude Code MCP config (`.claude/settings.json` or project settings):

```json
{
  "mcpServers": {
    "wikijs": {
      "command": "node",
      "args": ["d:/projects/ai/wikijs-mcp/dist/index.js"],
      "env": {
        "WIKIJS_URL": "https://wiki.example.com",
        "WIKIJS_API_KEY": "your-api-key"
      }
    }
  }
}
```

Or using `npx tsx` for development without building:

```json
{
  "mcpServers": {
    "wikijs": {
      "command": "npx",
      "args": ["tsx", "d:/projects/ai/wikijs-mcp/src/index.ts"],
      "env": {
        "WIKIJS_URL": "https://wiki.example.com",
        "WIKIJS_API_KEY": "your-api-key"
      }
    }
  }
}
```

## Wiki.js API Reference

This server uses the [Wiki.js GraphQL API](https://docs.requarks.io/dev/api). You can explore the full schema interactively at `https://your-wiki.example.com/graphql` when logged in as admin.