GitLab PR Analysis MCP Server

GitLab PR Analysis MCP Server

site icon
2025.03.22 0
PythonGitLab 集成Confluence 集成代码分析文档管理交流协作开发效率
MRConfluenceLinker-mcp-server 是一个基于 MCP(Model Control Protocol)的服务,用于将 GitLab 的合并请求分析与 Confluence 文档集成。它能够获取合并请求的详细信息,分析代码变更,并将结果存储在 Confluence 页面中。该服务适用于开发团队在代码审查和文档管理方面的需求。
View on GitHub

Overview

基本能力

产品定位

MRConfluenceLinker-mcp-server 是一个集成 GitLab 合并请求分析与 Confluence 文档管理的 MCP 服务,旨在帮助开发团队更高效地进行代码审查和文档管理。

核心功能

  • 从 GitLab 获取合并请求的详细信息
  • 分析合并请求中的代码变更
  • 生成详细的报告,包括:
  • 基本合并请求信息
  • 代码变更统计
  • 文件类型分析
  • 详细文件变更
  • 将分析结果存储在 Confluence 中
  • 提供全面的日志记录用于调试

适用场景

  • 开发团队需要自动化代码审查和文档记录
  • 项目管理者需要跟踪和分析代码变更
  • 团队需要将代码审查结果与文档系统集成

工具列表

  1. fetch_mr_details: 获取特定合并请求或所有合并请求的详细信息
  2. 参数:

    • project_id: GitLab 项目 ID
    • mr_id (可选): 特定合并请求 ID
  3. analyze_code_changes: 分析合并请求中的代码变更

  4. 参数:

    • project_id: GitLab 项目 ID
    • mr_id: 要分析的合并请求 ID
  5. store_in_confluence: 将分析结果存储在 Confluence 中

  6. 参数:
    • project_id: GitLab 项目 ID
    • mr_id (可选): 特定合并请求 ID
    • analysis (可选): 要存储的分析结果

常见问题解答

  • GitLab API 访问问题: 确保 GitLab 令牌具有 api 范围
  • Confluence 集成问题: 检查 Atlassian 账户设置中的 API 令牌
  • 网络连接问题: 确保服务器可以访问 GitLab 和 Confluence 的 API
  • 无效的项目或合并请求 ID: 确认项目 ID 和合并请求 ID 是否正确
  • Confluence 权限问题: 确保账户有权限在指定空间创建和更新页面

使用教程

使用依赖

  • Python 3.8 或更高版本
  • 具有 API 访问权限的 GitLab 账户
  • Confluence 账户(可选,用于存储分析结果)
  • 访问所需的 GitLab 项目

安装教程

  1. 克隆仓库:
git clone https://github.com/CodeByWaqas/MRConfluenceLinker-mcp-server.git
cd MRConfluenceLinker-mcp-server
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # Windows 上使用: .venv\Scripts\activate
  1. 安装依赖:
pip install -r requirements.txt

uv add "mcp[cli]" python-gitlab python-dotenv atlassian-python-api requests

配置

  1. 复制示例环境文件:
cp .env.example .env
  1. 编辑 .env 文件,填入您的凭证:
GITLAB_URL=https://gitlab.com
GITLAB_TOKEN=your_gitlab_token
GITLAB_PROJECT_ID=your_project_id

# 可选的 Confluence 集成
CONFLUENCE_URL=your_confluence_url
CONFLUENCE_USERNAME=your_username
CONFLUENCE_TOKEN=your_confluence_token
CONFLUENCE_SPACE=your_space_key

调试方式

  1. 启动 MCP 服务器:
python src/MRConfluenceLinker-mcp-server/server.py
  1. 服务器将通过 stdin/stdout 监听命令。您可以使用以下提示进行交互:
Can you fetch details for merge request #1 from project "my-project"?
Can you analyze code changes in merge request #1 from project "my-project"?
Can you store a summary of merge request #1 from project "my-project" in Confluence?
  1. 查看日志文件 mcp_server.log 以获取调试信息。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。