项目简介

Confluence MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器示例,旨在演示如何使用 MCP 协议将 Confluence 知识库集成到 LLM 应用中。该服务器允许 LLM 客户端通过工具调用,便捷地检索、创建和管理 Confluence 页面和空间信息,从而扩展 LLM 的上下文理解和知识获取能力。

主要功能点

  • Confluence 数据访问: 提供工具,允许 LLM 客户端检索 Confluence 空间和页面列表,以及获取特定页面的内容。
  • Confluence 内容创建: 支持创建新的 Confluence 页面,使 LLM 能够直接在 Confluence 中生成和存储信息。
  • 基于 MCP 协议: 遵循 MCP 协议标准,易于与任何兼容 MCP 客户端的 LLM 应用集成。
  • 示例性质: 作为一个示例项目,代码结构清晰,易于理解和扩展,方便开发者学习和参考。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node Package Manager)。
  2. 克隆仓库: 使用 git 命令克隆仓库到本地:
    git clone https://github.com/7nohe/confluence-mcp-server.git
    cd confluence-mcp-server
  3. 安装依赖: 在仓库根目录下运行 npm 命令安装项目依赖:
    npm install
  4. 构建项目: 运行 npm 命令构建项目,生成可执行的 JavaScript 文件:
    npm run build

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 Confluence MCP 服务器,您需要提供服务器的启动配置。以下是一个 JSON 格式的配置示例,请根据您的实际情况进行修改:

{
  "mcpServers": {
    "confluence-mcp-server": {
      "command": "/path/to/confluence-mcp-server/dist/index.js",
      "env": {
        "ATLASSIAN_API_TOKEN": "<您的Atlassian API令牌>",
        "CONFLUENCE_URL": "https://<您的域名>.atlassian.net/wiki/api/v2",
        "CONFLUENCE_EMAIL": "<您的Confluence邮箱>"
      }
    }
  }
}

配置参数说明:

  • server name (服务器名称): 'confluence-mcp-server' - MCP 服务器的唯一标识符,您可以自定义名称。
  • command (启动命令): '/path/to/confluence-mcp-server/dist/index.js' - 指向服务器启动脚本 'index.js' 的绝对路径。请将其替换为您实际的脚本路径。
  • env (环境变量): 用于配置 Confluence API 访问凭据:
    • ATLASSIAN_API_TOKEN (Atlassian API 令牌): 您的 Atlassian API 令牌,用于 Confluence API 的身份验证。您需要在 Atlassian 开发者控制台中创建 API 令牌。
    • CONFLUENCE_URL (Confluence URL): 您的 Confluence 域名和 API 路径。请将 '<您的域名>.atlassian.net' 替换为您的实际 Confluence 域名。
    • CONFLUENCE_EMAIL (Confluence 邮箱): 您的 Confluence 账户邮箱地址,用于 API 身份验证。

请注意:

  • 请将 '/path/to/confluence-mcp-server' 替换为您 'confluence-mcp-server' 仓库在您本地文件系统中的实际路径。
  • 请务必替换 '<您的Atlassian API令牌>'、'<您的域名>.atlassian.net' 和 '<您的Confluence邮箱>' 为您的真实信息。

基本使用方法

  1. 启动服务器: 配置完成后,MCP 服务器会在后台运行,监听来自 MCP 客户端的请求。无需手动启动服务器,MCP 客户端会在需要时自动启动。

  2. 在 MCP 客户端中使用工具: 在兼容 MCP 协议的 LLM 客户端中(如 Claude Desktop),您可以使用以下工具来与 Confluence MCP 服务器交互:

    • 'confluence-get-pages-in-space': 获取指定 Confluence 空间内的页面列表。您需要提供 'spaceId' (空间 ID) 参数,以及可选的 'title' (页面标题关键词) 参数进行筛选。
    • 'confluence-get-spaces': 获取 Confluence 空间列表。可选参数 'spaceKeys' (空间 Key 列表) 用于筛选特定 Space Key 的空间。
    • 'confluence-get-page': 获取指定 Confluence 页面的内容。您需要提供 'pageId' (页面 ID) 参数。
    • 'confluence-get-pages': 获取所有 Confluence 页面列表。
    • 'confluence-create-page': 在 Confluence 中创建新页面。您需要提供 'title' (页面标题)、'content' (页面内容)、'parentId' (父页面 ID) 和 'spaceId' (空间 ID) 参数。
  3. 通过 LLM 调用工具: 在 LLM 应用中,您可以指示 LLM 调用上述工具,并传递相应的参数。LLM 客户端会将请求发送到 Confluence MCP 服务器,服务器会调用 Confluence API 获取数据或执行操作,并将结果返回给 LLM 客户端,最终由 LLM 应用使用。

示例使用场景:

您可以指示 LLM 执行以下任务:

  • "请查找 Confluence 空间 ID 为 'DOC' 中标题包含 'AI' 的页面" (LLM 客户端会调用 'confluence-get-pages-in-space' 工具,'spaceId' 为 'DOC', 'title' 为 'AI')
  • "请在 Confluence 空间 ID 为 'PROJECT' 的父页面 ID 为 '123456' 下创建标题为 '会议纪要',内容为 '今天的会议讨论了...'" (LLM 客户端会调用 'confluence-create-page' 工具,并传递相应的参数)

通过这些工具,LLM 应用可以轻松地利用 Confluence 知识库,实现更智能的知识检索、内容创作和工作流程自动化。

信息

分类

生产力应用