GitLab合并请求审查工具

一个用于与GitLab合并请求评论交互的Model-Context-Protocol (MCP)工具,提供从LLM代理检索合并请求信息的实用程序。

  • by ondratuma
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 ondratuma/gitlab-review-mcp

使用说明

GitLab合并请求审核MCP

用于与GitLab合并请求注释交互的模型上下文协议(MCP)工具。此工具提供了一组实用程序,用于从LLM代理检索有关合并请求的信息。

免责声明

这只是一个概念证明。这些工具似乎很好地满足了我的需求。 这个存储库中的大部分代码都是由AI Assistant编写的。

特性

  • 从当前签出的分支检索有关合并请求的一般信息
  • 按ID获取合并请求的注释

安装

先决条件

  • 上涨1.16或更高
  • 带有API令牌的GitLab帐户
  • 您拥有适当权限的GitLab项目

从源头构建

  1. 克隆存储库:

    git clone https://github.com/ondratuma/gitlab-review-mcp.git
    cd gitlab-review-mcp
    
  2. 构建项目:

    go build -o gitlab-review-mcp
    

配置

该工具需要以下环境变量:

  • GITLAB_TOKEN:您的GitLab个人访问令牌
  • GITLAB_PROJECT_ID:您要与之交互的GitLab项目的ID

使用JetBrains IDE进行配置

  1. 首选 settings->Tools->AI Assisstant->Model Context Protocol (MPC)
  2. 添加新服务器
  3. 通过UI设置环境变量
  4. 在git存储库中的某个位置设置工作目录

用法

使用AI助手

在AI助手聊天窗口中, 启用“代码库”选项 访问MCP服务器。

您可以提示助手为您修改评论。

Check all the pending Gitlab Review comments and fix them.

AI Assistant能够提取合并请求列表,并获取活动请求的注释。

可用工具

get_current_branch(本地)

获取当前Git分支的名称。

get_merge_request_info

检索当前签出分支的合并请求的常规信息。

get_merge_request_comments

获取特定合并请求的注释。

参数:

  • mergeRequestIID (必填):合并请求的内部ID

调试

在创建这个工具之前,我尝试了其他几个审查工具,但调试有问题。

出于调试目的,一个简单的代理脚本可以显示日志和请求问题。 您可以在AI Assistant中更改二进制文件的路径,并查看实际代理的请求。

#!/bin/bash

mkdir -p /tmp/mcp_logs

LOG_FILE="/tmp/mcp_logs/mcp-$(date +%Y%m%d-%H%M%S).log"
INPUT_FILE="/tmp/mcp_logs/mcp-$(date +%Y%m%d-%H%M%S).input"
tee $INPUT_FILE | /path/to/binary 2>&1 | tee -a "$LOG_FILE"

致谢

该项目使用 mcp走 MCP服务器功能库。