使用说明
项目简介
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 功能。
安装步骤
-
克隆仓库
git clone https://github.com/pawankumar94/confluence-mcp-server.git cd confluence-mcp-server -
安装依赖 确保已安装 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 访问令牌的步骤:
- 登录您的 Atlassian 账户。
- 进入 "Account Settings" -> "Security" -> "API tokens"。
- 点击 "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 镜像。
基本使用方法
-
启动服务器 在项目根目录下,运行以下命令启动 Confluence MCP Server:
python app.py服务器默认会在 'http://localhost:8080' 启动。
-
使用 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' 工具的输出。
信息
分类
生产力应用