Confluence MCP 服务器

一个为Atlassian Confluence实现的模型上下文协议(MCP)服务器,提供通过MCP协议与Confluence交互的工具,使AI代理能够无缝处理Confluence内容。

  • by pawankumar94
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 pawankumar94/confluence-mcp-server

使用说明

汇流MCP服务器

Atlassian Confluence的模型上下文协议(MCP)服务器实现。该服务器提供了一组通过MCP协议与Confluence交互的工具,允许AI代理无缝地处理Confluence内容。使用Flask构建,便于部署到Cloud Run。

特性

  • 使用Confluence查询语言(CQL)搜索页面和空间
  • 列出所有可用的汇流空间
  • 创建、读取、更新和删除Confluence页面
  • 对Confluence资源的丰富元数据支持
  • 基于Flask的云运行部署服务器
  • 用于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  # Optional, defaults to 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

云运行部署

  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. 部署到云运行:
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": "error message"}

安全考虑

  1. 始终对敏感数据使用环境变量
  2. 考虑使用Cloud Run的内置密钥管理
  3. 为您的端点实施适当的身份验证
  4. 确保您的Confluence访问令牌安全

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。