Skip to main content
Glama

wikijs-mcp

Wiki.js를 GraphQL API를 통해 접근하기 위한 MCP 서버로, 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 도구는 Administrators 그룹(manage:system 권한) 소유의 Wiki.js API 키로만 사용할 수 있습니다. wikijs_mail_update_config는 또한 REPLACE-ALL 방식입니다 — 한 번의 호출로 인스턴스의 전체 메일 구성이 덮어써지며, 명시된 필드만 변경되는 것이 아닙니다.

storage 도메인 역시 manage:system 권한을 요구합니다. 네 개의 storage 도구는 Administrators 그룹 소유의 API 키로만 사용할 수 있습니다. 강제 동기화(Admin → Storage의 버튼)는 wikijs_storage_action_execute(target_key="git", handler="sync")로 실행합니다. wikijs_storage_target_list는 자격 증명 성격의 구성 값(basicPassword, sshPrivateKeyContent)을 ***로 가립니다 — 원래 값은 MCP를 통해 읽을 수 없습니다. 핸들러는 화이트리스트에 없습니다: wikijs_storage_target_list의 actions를 사용하여 사용 가능한 핸들러를 찾으세요. 일부 핸들러는 파괴적이라는 점에 유의하세요(purge는 로컬 Git 저장소를 삭제하고, importAll은 로컬 저장소의 내용으로 위키 콘텐츠를 덮어씁니다).

wikijs_storage_target_update(target_key, is_enabled, mode, sync_interval, config)는 부분 업데이트 의미론으로 하나의 대상 구성을 변경합니다: 채워지지 않은 인수는 "변경하지 않음"을 의미하며, config는 키별로 병합됩니다. 그 뒤의 Wiki.js mutation(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

필수 변수

변수

설명

WIKIJS_URL

Wiki.js 인스턴스의 기본 URL, 예: https://wiki.example.com

WIKIJS_API_KEY

Wiki.js API 키 (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 원격)

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)

.env의 모든 AUTHENTIK_* 및 MCP_BASE_URL 변수를 채운 후:

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

라이선스

MIT

Related MCP Connectors

Related MCP Servers