Skip to main content
Glama

wikijs-mcp

MCP server for accessing Wiki.js through the GraphQL API, built with FastMCP (Python).

Exposed Tools

Domain

Tool

pages

wikijs_page_list, wikijs_page_get, wikijs_page_get_by_path, wikijs_page_create, wikijs_page_update, wikijs_page_delete, wikijs_page_move, wikijs_page_render, wikijs_page_tree

search

wikijs_page_search

tags

wikijs_tag_list, wikijs_page_list_by_tags

groups

wikijs_group_list, wikijs_group_get, wikijs_group_create, wikijs_group_update, wikijs_group_delete, wikijs_group_assign_user, wikijs_group_unassign_user

users

wikijs_user_list, wikijs_user_get, wikijs_user_create, wikijs_user_update, wikijs_user_delete, wikijs_user_activate, wikijs_user_deactivate, wikijs_user_enable_tfa, wikijs_user_disable_tfa

system

wikijs_system_info

mail

wikijs_mail_update_config, wikijs_mail_send_test

storage

wikijs_storage_target_list, wikijs_storage_status, wikijs_storage_action_execute, wikijs_storage_target_update

The mail domain requires the manage:system permission. Unlike the other domains, both mail tools can only be used with a Wiki.js API key belonging to the Administrators group (the manage:system permission). wikijs_mail_update_config is also REPLACE-ALL in nature — a single call overwrites the entire mail configuration of the instance, not just the fields mentioned.

The storage domain also requires the manage:system permission. The four storage tools can only be used with an API key belonging to the Administrators group. Force Sync (the button in Admin → Storage) is run with wikijs_storage_action_execute(target_key="git", handler="sync"). wikijs_storage_target_list masks configuration values that are credentials (basicPassword, sshPrivateKeyContent) as *** — the original values cannot be read via MCP. Handlers are not whitelisted: use the actions from wikijs_storage_target_list to find available handlers, and note that some of them are destructive (purge deletes the local Git repo, importAll overwrites the wiki content from the local repo).

wikijs_storage_target_update(target_key, is_enabled, mode, sync_interval, config) changes the configuration of one target with partial update semantics: arguments that are not filled in mean "don't change", and config is merged per key. The underlying Wiki.js mutation (storage.updateTargets) is actually REPLACE-ALL, so the tool performs its own read-modify-write so that fields not mentioned are not deleted. config keys that do not yet exist on the target are rejected (ValueError), as is the value "***" — that is the redaction sentinel of wikijs_storage_target_list, not the real credential.

Related MCP server: mcp-wikijs-mv

Configuration

Copy .env.example to .env and fill in the appropriate values:

cp .env.example .env

Required Variables

Variable

Description

WIKIJS_URL

Base URL of the Wiki.js instance, e.g. https://wiki.example.com

WIKIJS_API_KEY

Wiki.js API key (Admin → API Access)

How to Use

stdio (Claude Desktop / VS Code)

{
  "mcpServers": {
    "wikijs": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/andhit-r/wikijs-mcp", "wikijs-mcp"],
      "env": {
        "WIKIJS_URL": "https://wiki.example.com",
        "WIKIJS_API_KEY": "your-api-key"
      }
    }
  }
}

HTTP + API Key (Claude Code / VS Code remote)

docker run -p 8000:8000 \
  -e WIKIJS_URL=https://wiki.example.com \
  -e WIKIJS_API_KEY=your-wikijs-api-key \
  -e MCP_API_KEY=your-mcp-api-key \
  ghcr.io/andhit-r/wikijs-mcp:latest

HTTP + Authentik OAuth (Claude Web)

Fill in all AUTHENTIK_* and MCP_BASE_URL variables in .env, then:

docker run -p 8000:8000 --env-file .env ghcr.io/andhit-r/wikijs-mcp:latest

License

MIT

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
<1hResponse time
3wRelease cycle
3Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.

  • MCP server for accessing curated awesome list documentation

View all MCP Connectors

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/andhit-r/wikijs-mcp'

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