Skip to main content
Glama

wikijs-mcp

MCP-сервер для доступа к Wiki.js через GraphQL API, созданный на базе FastMCP (Python).

Предоставляемые инструменты

Домен

Инструмент

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

Домен mail требует права manage:system. В отличие от других доменов, оба инструмента mail можно использовать только с API-ключом Wiki.js, принадлежащим группе Administrators (право manage:system). wikijs_mail_update_config также работает по принципу REPLACE-ALL — один вызов перезаписывает всю почтовую конфигурацию инстанса, а не только указанные поля.

Домен storage также требует права manage:system. Все четыре инструмента storage можно использовать только с API-ключом, принадлежащим группе Administrators. Force Sync (кнопка в Admin → Storage) запускается командой wikijs_storage_action_execute(target_key="git", handler="sync"). wikijs_storage_target_list скрывает значения конфигурации, носящие характер учётных данных (basicPassword, sshPrivateKeyContent), м** ито ***. Исходные значения невозможно прочитать через MCP. Хендлеры не внесены в белый список: используйте actions из wikijs_storage_target_list, чтобы найти доступные хендлеры, и учтите, что некоторые из них деструктивны (purge удаляет локальный Git-репозиторий, importAll перезаписывает содержимое вики из локального репозитория).

wikijs_storage_target_update(target_key, is_enabled, mode, sync_interval, config) изменяет конфигурацию одной цели хранения с семантикой частичного обновления: незаполненный аргумент означает «не изменять», а config объединяется по каждому ключу. Лежащая в основе мутация Wiki.js (storage.updateTargets) на самом деле REPLACE-ALL, поэтому инструмент самостоятельно выполняет read-modify-write, чтобы неупомянутые поля не были удалены. Ключи config, которых ещё нет на целевом объекте, отвергаются (ValueError), как и значение "***" — это маскирующий маркер от wikijs_storage_target_list, а не настоящие учётные данные.

Related MCP server: mcp-wikijs-mv

Конфигурация

Скопируйте .env.example в .env и заполните подходящие значения:

cp .env.example .env

Обязательные переменные

Variable

Описание

WIKIJS_URL

Базовый URL инстанса Wiki.js, например https://wiki.example.com

WIKIJS_API_KEY

API-ключ Wiki.js (Admin → API Access)

Использование

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-ключ (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)

Заполните все переменные AUTHENTIK_* и MCP_BASE_URL в .env, затем:

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

Лицензия

MIT

Related MCP Connectors

Related MCP Servers