项目简介
Confluence MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器示例,旨在演示如何使用 MCP 协议将 Confluence 知识库集成到 LLM 应用中。该服务器允许 LLM 客户端通过工具调用,便捷地检索、创建和管理 Confluence 页面和空间信息,从而扩展 LLM 的上下文理解和知识获取能力。
主要功能点
- Confluence 数据访问: 提供工具,允许 LLM 客户端检索 Confluence 空间和页面列表,以及获取特定页面的内容。
- Confluence 内容创建: 支持创建新的 Confluence 页面,使 LLM 能够直接在 Confluence 中生成和存储信息。
- 基于 MCP 协议: 遵循 MCP 协议标准,易于与任何兼容 MCP 客户端的 LLM 应用集成。
- 示例性质: 作为一个示例项目,代码结构清晰,易于理解和扩展,方便开发者学习和参考。
安装步骤
- 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node Package Manager)。
- 克隆仓库: 使用 git 命令克隆仓库到本地:
git clone https://github.com/7nohe/confluence-mcp-server.git cd confluence-mcp-server - 安装依赖: 在仓库根目录下运行 npm 命令安装项目依赖:
npm install - 构建项目: 运行 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邮箱>' 为您的真实信息。
基本使用方法
-
启动服务器: 配置完成后,MCP 服务器会在后台运行,监听来自 MCP 客户端的请求。无需手动启动服务器,MCP 客户端会在需要时自动启动。
-
在 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) 参数。
-
通过 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 知识库,实现更智能的知识检索、内容创作和工作流程自动化。
信息
分类
生产力应用