Wiki.js API服务器

一个基于Wiki.js 2.x GraphQL API的MCP服务器,提供页面管理、导航查询等功能。

  • by cmet7
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cmet7/mcp-wikijs

使用说明

Wiki.js MCP服务器

MCP服务器 Wiki.js 2.x使用其GraphQL API。

工具

工具 说明
wikijs_healthcheck 检查API连接和令牌有效性
wikijs_graphql 执行任意GraphQL(仅与受信任的输入一起使用)
wikijs_get_page_by_path 按路径和区域设置读取页面
wikijs_get_page_by_id 按数字ID读取页面
wikijs_create_page 创建新页面
wikijs_update_page 按ID更新现有页面
wikijs_delete_page 按ID删除页面
wikijs_get_navigation_tree 区域设置的完整导航树
wikijs_get_navigation_subtree 路径上有深度限制的子树
wikijs_get_navigation_menu 顶级菜单项

需求

  • Python 3.10+
  • Wiki.js 2.x实例
  • Wiki.js API令牌(在“管理”>“API访问”中创建)

安装

git clone https://github.com/cmet7/mcp-wikijs.git
cd mcp-wikijs
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

配置

复制 .env.example 到 .env 并填写您的值:

cp .env.example .env
变量 必填 默认 描述
WIKIJS_URL 是 -- Wiki.js基本URL(例如。 https://wiki.example.com)
WIKIJS_API_TOKEN 是 - Wiki.js管理>API访问中的API令牌
WIKIJS_TIMEOUT_SECONDS 没有 20 HTTP请求超时
WIKIJS_VERIFY_TLS 没有 true 设置为 false 用于自签名证书

用法

直接运行

export WIKIJS_URL="https://wiki.example.com"
export WIKIJS_API_TOKEN="your_token"
wikijs-mcp-server

克劳德代码

claude mcp add wikijs -s user \
  -e WIKIJS_URL=https://wiki.example.com \
  -e WIKIJS_API_TOKEN=your_token \
  -- wikijs-mcp-server

或者添加到您的MCP客户端配置中:

{
  "mcpServers": {
    "wikijs": {
      "command": "/path/to/venv/bin/wikijs-mcp-server",
      "env": {
        "WIKIJS_URL": "https://wiki.example.com",
        "WIKIJS_API_TOKEN": "your_token"
      }
    }
  }
}

测试

python3 -m unittest discover -s tests -p 'test_*.py' -q

测试完全离线,不需要运行Wiki.js实例。

安全说明

  • 使用最少特权的Wiki.js API令牌。
  • 不要暴露 WIKIJS_API_TOKEN 在日志或版本控制中。
  • 更喜欢 wikijs_get_* 用于正常读取的工具;保留 wikijs_graphql 用于高级/管理操作。
  • 导航工具从页面路径派生结构。对于未通过页面路径反映的自定义UI菜单,请使用 wikijs_graphql.

许可证

麻省理工学院