GitLab PR Analysis MCP Server

GitLab PR Analysis MCP Server

site icon
2025.04.04 0
PythonGitLab 集成Confluence 集成代码分析文档管理开发效率交流协作
GitLab PR Analysis MCP Server 是一个集成 GitLab 合并请求分析与 Confluence 文档的 MCP 服务器。它能够获取合并请求的详细信息,分析代码变更,并将结果存储在 Confluence 页面中。该服务适用于开发团队在代码审查和文档管理过程中提高效率。
View on GitHub

Overview

基本能力

产品定位

GitLab PR Analysis MCP Server 是一个用于集成 GitLab 合并请求分析与 Confluence 文档的工具,旨在帮助开发团队更高效地进行代码审查和文档管理。

核心功能

  • 从 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_TOKEN 是否正确
  • Confluence 集成问题: 确保 CONFLUENCE_URLCONFLUENCE_TOKEN 正确配置
  • 网络连接问题: 检查网络连接是否正常
  • 无效的项目或合并请求 ID: 确保提供的 ID 存在且正确

使用教程

使用依赖

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

安装教程

  1. 克隆仓库:
git 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

获取凭证

  • GitLab Token: 在 GitLab 中生成一个具有 api 范围的个人访问令牌
  • Confluence Token: 在你的 Atlassian 账户设置中生成一个 API 令牌

调试方式

  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?

服务器会生成详细的日志在 mcp_server.log 中,并输出到 stderr,这有助于调试: - GitLab API 访问问题 - Confluence 集成问题 - 代码分析问题 - 页面创建和更新问题

许可证

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