Token导航 LogoToken导航

MCP Server · 开发工具

Gitlab Mr Diagnosis MCP

专为AI Agent设计的GitLab合并请求构建状态诊断服务,提供智能诊断、测试分析、覆盖率检查和修复建议。

未说明官方级别未说明来源级核验工具 4
TypeScriptClaude开发工具Claude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
ZhipingYang
提供方
ZhipingYang

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Gitlab Mr Diagnosis MCP 属于开发工具类 MCP Server,公开资料标注 4 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

未说明

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

GitLab MR Diagnosis MCP

GitLab Merge Request Pipeline 构建状态诊断 MCP (Model Context Protocol) 服务,专为 AI Agent 设计。

✨ 功能特性

  • 🔍 智能诊断 - 自动分析 MR 构建失败原因
  • 🧪 测试分析 - 提取失败的单元测试用例及错误详情
  • 📊 覆盖率检查 - 检测 Diff Coverage 是否达标
  • 📋 阶段状态 - 展示 CI Pipeline 各阶段执行状态
  • 💡 修复建议 - 提供具体可操作的修复步骤

🚀 快速开始

MCP 配置 (推荐)

在 Claude Desktop 或其他 MCP 客户端的配置文件中添加:

{
  "mcpServers": {
    "gitlab-mr-diagnosis-mcp": {
      "command": "npx",
      "args": ["-y", "gitlab-mr-diagnosis-mcp@latest"],
      "env": {
        "GITLAB_TOKEN": "your_gitlab_private_token"
      }
    }
  }
}

源码安装

git clone https://github.com/ZhipingYang/gitlab-mr-diagnosis-mcp.git
cd gitlab-mr-diagnosis-mcp
npm install
npm run build

然后配置:

{
  "mcpServers": {
    "gitlab-mr-diagnosis-mcp": {
      "command": "node",
      "args": ["/path/to/gitlab-mr-diagnosis-mcp/dist/index.js"],
      "env": {
        "GITLAB_TOKEN": "your_gitlab_private_token"
      }
    }
  }
}

⚙️ 环境变量

变量必填默认值说明
GITLAB_TOKEN✅ 是-GitLab Private Token
GITLAB_BASE_URL否https://git.ringcentral.comGitLab 服务器地址
DIFF_COVERAGE_GATE否90Diff Coverage 阈值 (%)

🛠️ MCP 工具

服务提供以下 4 个工具:

1. diagnose_mr - 完整诊断 ⭐

自动诊断 MR 构建状态,返回详细的诊断报告。

{
  "name": "diagnose_mr",
  "arguments": {
    "mr_url": "https://gitlab.example.com/group/project/-/merge_requests/123",
    "diff_coverage_gate": 90
  }
}

返回内容:

  • 构建状态和构建号
  • 各阶段执行状态 (checkout, tsc, ut, diffcoverage 等)
  • 失败的测试用例列表(含错误类型和错误消息)
  • Diff Coverage 统计(从 HTML artifact 解析)
  • 未达标文件列表
  • 修复建议(包含 Coverage 解析错误提示)

新增功能 (v1.0.4):

  • ✅ Coverage 解析失败时提供详细错误信息
  • ✅ 提供 Coverage Report 的直接链接
  • ✅ 区分 "解析失败" 和 "Coverage 为 0%"

2. get_coverage_report - 获取 Coverage 数据 🆕

获取 Jenkins 构建的 Coverage Report 数据(从 HTML artifact 解析)。

{
  "name": "get_coverage_report",
  "arguments": {
    "build_url": "https://jenkins.example.com/job/your-job/123/",
    "coverage_threshold": 90,
    "include_html": false
  }
}

返回内容:

  • Diff Coverage 和 Overall Coverage 百分比
  • 未达标文件列表(文件路径 + 覆盖率)
  • Coverage 是否达标
  • Coverage Report 的 artifact URL
  • 可选:原始 HTML(用于调试)

使用场景:

  • 单独查看 Coverage 数据
  • 调试 Coverage 解析问题
  • 获取详细的文件级别 Coverage 信息

3. get_mr_comments - 获取评论

获取 MR 的所有评论(原始 JSON 数据)。

{
  "name": "get_mr_comments",
  "arguments": {
    "mr_url": "https://gitlab.example.com/group/project/-/merge_requests/123",
    "per_page": 50
  }
}

4. get_console_log - 获取 Jenkins 日志

获取 Jenkins 构建的 Console Log,支持正则搜索。

{
  "name": "get_console_log",
  "arguments": {
    "build_url": "https://jenkins.example.com/job/your-job/123/",
    "search_pattern": "FAIL project/"
  }
}

📋 输出示例

═══════════════════════════════════════════════════════════════
📊 GitLab MR Pipeline 构建状态诊断报告
═══════════════════════════════════════════════════════════════

🔗 MR URL: https://gitlab.example.com/group/project/-/merge_requests/123
📦 Project: group/project
🔢 MR IID: 123

🏗️  构建状态: 🔴 FAILURE
📌 构建号: #456
👤 触发者: Developer
🌿 分支: feature/branch → develop

📋 阶段状态:
┌──────────────────────┬──────────┐
│ 阶段                 │ 状态     │
├──────────────────────┼──────────┤
│ checkout             │ ✅ 通过   │
│ tsc                  │ ✅ 通过   │
│ phone ut             │ ❌ 失败   │
│ diffcoverage         │ ✅ 通过   │
└──────────────────────┴──────────┘

❌ 失败的测试 (1 个文件, 2 个用例):
  1. project/phone/core/src/__tests__/example.test.ts
     └─ Example › should work correctly
        💥 TypeError: Cannot read property 'foo' of undefined
     └─ Example › should handle edge case

📈 覆盖率统计:
  Diff Coverage: 85.5% ❌ (阈值: 90%)
  Diff Lines: 200 | Covered: 171 | Uncovered: 29

📁 Diff Coverage 未达标文件:
  1. project/phone/core/src/service/UserService.ts
     Diff Coverage:  75.0%
  2. project/phone/ui/src/components/Button.tsx
     Diff Coverage:  80.0%

� 摘要:
  阶段: 3/4 通过
  失败测试: 2 个
  Diff Coverage: 85.5%

�💡 建议:
  发现 2 个测试用例失败,需要修复:
    1. project/phone/core/src/__tests__/example.test.ts
       测试: Example › should work correctly
  建议: 运行 yarn test:no-watch  本地调试
  Diff Coverage 未达标: 85.5% < 90%
  建议: 为新增代码添加单元测试以提高覆盖率

═══════════════════════════════════════════════════════════════

📁 项目结构

gitlab-mr-diagnosis-mcp/
├── src/
│   ├── index.ts                    # MCP 服务入口
│   ├── types.ts                    # TypeScript 类型定义
│   ├── constants.ts                # 常量和正则表达式
│   ├── services/
│   │   ├── gitlab.ts               # GitLab API 服务
│   │   ├── jenkins.ts              # Jenkins 服务
│   │   ├── commentParser.ts        # MR 评论解析器
│   │   └── consoleLogParser.ts     # Console Log 解析器
│   ├── tools/
│   │   └── diagnose.ts             # 诊断工具主逻辑
│   └── utils/
│       └── config.ts               # 配置加载器
├── dist/                           # 编译输出
├── package.json
├── tsconfig.json
├── README.md
└── Tech.md                         # 技术文档

📚 技术文档

详细的技术实现、架构说明和 API 参考请查看 Tech.md。

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 License

MIT

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

GitLabTypeScript本地部署合并请求构建诊断测试分析覆盖率检查

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Gitlab Mr Diagnosis MCP

MCP World · 本页

4未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Gitlab Mr Diagnosis MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Gitlab Mr Diagnosis MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Gitlab Mr Diagnosis MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Gitlab Mr Diagnosis MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Gitlab Mr Diagnosis MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP