使用说明

项目简介

Confluence MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使 AI Agent 能够无缝集成和操作 Atlassian Confluence 知识库。它提供了一系列工具,允许 AI Agent 通过标准化的 MCP 协议与 Confluence 内容进行交互,例如搜索页面、获取空间列表、以及创建、读取、更新和删除页面等操作。该服务器使用 Flask 框架开发,易于部署到云平台如 Cloud Run。

主要功能点

  • Confluence 内容搜索: 使用 Confluence Query Language (CQL) 搜索页面和空间。
  • Confluence 空间管理: 列出所有可用的 Confluence 空间。
  • Confluence 页面管理: 创建、读取、更新和删除 Confluence 页面。
  • 丰富的元数据支持: 为 Confluence 资源提供丰富的元数据。
  • 易于部署: 基于 Flask 开发,方便部署到 Cloud Run 等平台。
  • AI Agent 集成: 提供 MCP 工具,方便 AI Agent 集成 Confluence 功能。

安装步骤

  1. 克隆仓库

    git clone https://github.com/pawankumar94/confluence-mcp-server.git
    cd confluence-mcp-server
  2. 安装依赖 确保已安装 Python 和 pip,然后运行:

    pip install -r requirements.txt

服务器配置

Confluence MCP Server 需要以下配置信息才能连接到您的 Confluence 实例。您需要在项目根目录下创建 '.env' 文件,并填入以下变量:

CONFLUENCE_URL=https://your-instance.atlassian.net/wiki  # 您的 Confluence 实例 URL,例如:https://your-domain.atlassian.net/wiki
CONFLUENCE_ACCESS_TOKEN=your_access_token # 您的 Confluence API 访问令牌
PORT=8080  # (可选)服务器端口,默认为 8080

获取 Confluence API 访问令牌的步骤:

  1. 登录您的 Atlassian 账户。
  2. 进入 "Account Settings" -> "Security" -> "API tokens"。
  3. 点击 "Create API token",创建新的 API 令牌并复制它。

MCP 客户端配置 (JSON 格式):

以下 JSON 配置信息用于 MCP 客户端连接到 Confluence MCP Server。客户端需要配置 'serverName', 'command', 和 'args' 来启动和连接服务器。

{
  "serverName": "confluence-mcp-server",
  "command": "python",
  "args": ["app.py"]
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "confluence-mcp-server"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 命令参数,指定要运行的 Python 脚本为 'app.py'。

注意:

  • 确保 MCP 客户端能够访问到 'app.py' 文件,通常客户端需要在与 'app.py' 相同的目录下启动服务器,或者在 'args' 中提供正确的 'app.py' 文件路径。
  • 如果服务器部署在远程,'command' 和 'args' 需要根据远程服务器的实际情况进行配置,例如使用 'docker run' 命令启动 Docker 镜像。

基本使用方法

  1. 启动服务器 在项目根目录下,运行以下命令启动 Confluence MCP Server:

    python app.py

    服务器默认会在 'http://localhost:8080' 启动。

  2. 使用 MCP 客户端 配置 MCP 客户端连接到 'http://localhost:8080' (或您配置的端口和部署地址)。客户端可以通过 MCP 协议调用服务器提供的工具,例如:

    • 'confluence_search': 在 Confluence 中搜索内容。
    • 'confluence_get_spaces': 获取 Confluence 空间列表。
    • 'confluence_get_page': 获取 Confluence 页面内容。
    • 'confluence_create_page': 创建 Confluence 页面。
    • 'confluence_update_page': 更新 Confluence 页面。
    • 'confluence_delete_page': 删除 Confluence 页面。

    客户端在调用工具时,需要根据工具的 'inputSchema' 传递相应的参数,例如调用 'confluence_search' 工具时,需要提供 'confluence_url', 'access_token' 和 'query' 参数。 'confluence_url' 和 'access_token' 也可以通过 HTTP Header 'X-Confluence-URL' 和 'X-Confluence-Token' 传递。

    示例 (MCP 客户端调用 'confluence_search' 工具): 假设 MCP 客户端已经连接到服务器,以下是一个调用 'confluence_search' 工具的示例 (伪代码):

    # 假设 client 是 MCP 客户端实例
    search_query = "关键词"
    params = {
        "query": search_query,
        "confluence_url": "https://your-instance.atlassian.net/wiki", # 可以省略,如果通过 Header 传递
        "access_token": "your_access_token" # 可以省略,如果通过 Header 传递
    }
    response = client.call_tool("confluence_search", params, headers={"X-Confluence-URL": "https://your-instance.atlassian.net/wiki", "X-Confluence-Token": "your_access_token"})
    
    if response.is_success():
        search_results = response.get_content()
        print("搜索结果:", search_results)
    else:
        error_message = response.get_error()
        print("调用失败:", error_message)

    详细的工具参数和使用方法可以参考仓库中的 'server.py' 文件和 'list_tools' 工具的输出。

信息

分类

生产力应用