Confluence内容管理工具

一个用于管理和操作Confluence(Data Center/Server)内容的工具,支持读取和受控写入功能。

  • by Janus-06
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Janus-06/inhouse_confluence_mcp

使用说明

内部影响_mcp

内部Confluence(数据中心/服务器)MCP服务器实现。 默认模式为只读,写入工具由策略控制。

工具

  • confluence_list_spaces
  • confluence_search_cql
  • confluence_get_content
  • confluence_get_labels
  • confluence_get_children
  • confluence_get_attachments
  • confluence_get_comments
  • confluence_scan_content
  • confluence_get_likes (实验性,默认关闭)
  • confluence_create_page (默认情况下为核销)
  • confluence_update_page (默认情况下为核销)
  • confluence_add_label (默认情况下为核销)
  • confluence_add_comment (默认情况下为核销)

快速开始

  1. 复制 .env.example 到 .env
  2. 设置所需值:
  • CONFLUENCE_BASE_URL
  • CONFLUENCE_AUTH_MODE (pat 或 basic)
  • CONFLUENCE_PAT 或 CONFLUENCE_USERNAME/CONFLUENCE_PASSWORD
  1. 安装并运行:
python -m pip install -e .
confluence-mcp

或者:

python -m confluence_mcp.main

OpenCode注册

使用OpenCode本地MCP配置 command 阵列和 environment 对象。

{
  "mcp": {
    "inhouse-confluence": {
      "type": "local",
      "command": [
        "C:\\Users\\jae_chul.lee\\inhouse_confluence_mcp\\.venv\\Scripts\\python.exe",
        "-m",
        "confluence_mcp.main",
        "--env-file",
        "C:\\Users\\jae_chul.lee\\inhouse_confluence_mcp\\.env"
      ],
      "environment": {
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

笔记:

  • 不要依赖 Activate.ps1 在MCP命令中。
  • 更喜欢直接的venv-python路径。
  • --env-file 使创业独立于 cwd.
  • 可选覆盖:设置 CONFLUENCE_MCP_ENV_FILE 在 environment.

.env加载规则

启动时,服务器会查找 .env 按照以下顺序:

  1. --env-file 路径
  2. CONFLUENCE_MCP_ENV_FILE
  3. 当前工作目录(.env, .env.local)
  4. Python可执行邻居(适用于 .venv 布局)
  5. 项目/模块目录

如果找不到文件,启动会记录搜索路径。

太空自动发现

  • 如果 ALLOWED_SPACES 是空的并且 AUTO_DISCOVER_SPACES=true,服务器在启动时自动加载可用空间键。
  • DENIED_SPACES 是可选的。仅当您需要显式的敏感空间块列表时才使用它。
  • 要手动生成准备复制的env行:
confluence-mcp-sync-spaces
  • 输出文件: logs/spaces_discovered.json

推荐设置

  • 保持 WRITE_ENABLED=false 最初
  • 配置 ALLOWED_SPACES 第一
  • 添加 DENIED_SPACES 仅适用于敏感空间
  • 保持 EXPERIMENTAL_LIKES=false 除非需要

日志

  • 审核日志路径: AUDIT_LOG_PATH (默认值: logs/audit.jsonl)
  • 字段:时间戳、工具、状态、延迟Ms、traceId、错误

测试

python -m unittest discover -s tests -v

启动时的工具探测

  • 默认情况下,服务器在启动时探测API权限,并仅公开可访问的工具。
  • 使用以下选项切换所有探头 TOOL_PROBE_ON_STARTUP=true|false.
  • 仅禁用空间探测器 SPACE_PROBE_ON_STARTUP=false.
  • 当 SPACE_PROBE_ON_STARTUP=false,用户声明 ALLOWED_SPACES 受信任进行策略检查。
  • 如果 /rest/api/space 被阻塞, confluence_list_spaces 是隐藏的。
  • 如果 /rest/api/content/search 被阻止,读/写内容工具被隐藏。