返回市场
汇聚-MCP-服务器

汇聚-MCP-服务器

作者:pawankumar944 星标更新:2025-06-24

项目介绍

Confluence MCP Server

MCP 审核通过

这是一个针对 Atlassian Confluence 的 Model Context Protocol (MCP) 服务器实现。该服务器提供了一组工具,用于通过 MCP 协议与 Confluence 进行交互,使 AI 代理能够无缝地处理 Confluence 内容。使用 Flask 构建,便于部署到 Cloud Run。

功能

  • 使用 Confluence 查询语言(CQL)搜索页面和空间
  • 列出所有可用的 Confluence 空间
  • 创建、读取、更新和删除 Confluence 页面
  • 支持丰富的 Confluence 资源元数据
  • 基于 Flask 的服务器,适用于 Cloud Run 部署
  • 用于 AI 代理集成的 MCP 工具

安装

  1. 克隆仓库
  2. 安装依赖项:
pip install -r requirements.txt

配置

在项目根目录创建一个 .env 文件,并包含以下变量:

CONFLUENCE_URL=https://your-instance.atlassian.net/wiki
CONFLUENCE_ACCESS_TOKEN=your_access_token
PORT=8080  # 可选,默认为 8080

获取访问令牌的方法:

  1. 登录您的 Atlassian 账户
  2. 前往账户设置 > 安全 > 创建和管理 API 令牌
  3. 创建一个新的 API 令牌并复制它

可用工具

服务器提供了以下 MCP 工具:

1. 搜索内容

@tool("search_confluence")
def search(query: str) -> Dict[str, Any]

2. 获取空间

@tool("get_spaces")
def get_spaces() -> Dict[str, Any]

3. 获取页面内容

@tool("get_page_content")
def get_page_content(space_key: str, page_id: str) -> Dict[str, Any]

4. 创建页面

@tool("create_page")
def create_page(space_key: str, title: str, content: str) -> Dict[str, Any]

5. 更新页面

@tool("update_page")
def update_page(space_key: str, page_id: str, content: str) -> Dict[str, Any]

6. 删除页面

@tool("delete_page")
def delete_page(space_key: str, page_id: str) -> Dict[str, Any]

本地运行

本地运行服务器:

python example.py

服务器将在 http://localhost:8080 启动

Cloud Run 部署

  1. 构建 Docker 镜像:
docker build -t confluence-mcp .
  1. 标记并推送到 Google 容器注册表:
docker tag confluence-mcp gcr.io/[PROJECT-ID]/confluence-mcp
docker push gcr.io/[PROJECT-ID]/confluence-mcp
  1. 部署到 Cloud Run:
gcloud run deploy confluence-mcp \
  --image gcr.io/[PROJECT-ID]/confluence-mcp \
  --platform managed \
  --allow-unauthenticated \
  --set-env-vars="CONFLUENCE_URL=[YOUR_URL],CONFLUENCE_ACCESS_TOKEN=[YOUR_TOKEN]"

错误处理

所有工具都包含了适当的错误处理,并会在响应中返回合适的错误信息。响应格式包括:

  • 成功情况:指定格式的相关数据
  • 错误情况:{"error": "错误信息"}

安全注意事项

  1. 总是使用环境变量存储敏感数据
  2. 考虑使用 Cloud Run 内置的秘密管理功能
  3. 实现端点的适当认证
  4. 保护好您的 Confluence 访问令牌

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

本项目采用 MIT 许可证 - 详情见 LICENSE 文件。