Owayo_gitlab Mcp Server

Owayo_gitlab Mcp Server

🚀 GitLab-MCP-Server

GitLab-MCP-Server 是一个提供与 GitLab 集成功能的 Model Context Protocol (MCP) 服务器。它能够从 GitLab 的特定项目中获取流水线失败信息和合并请求中的问题,并将这些信息提供给 AI 助手,帮助 AI 助手提供更精准的支持。

🚀 快速开始

这个 MCP 服务器利用 GitLab 的 API 为 AI 助手提供以下信息:

  1. GitLab 流水线中失败作业的控制台输出。
  2. GitLab 合并请求(MR)中未解决的问题(评论)。
  3. GitLab 合并请求的更改内容(与本地仓库当前状态的差异)。

借助 MCP 的功能,AI 助手可以直接获取 GitLab 的信息,从而提供更准确的支持。

📦 安装指南

# 安装 uv
$ curl -LsSf https://astral.sh/uv/install.sh | sh

$ cd /path/to/this-mcp-server
# 安装库
$ uv sync

📚 详细文档

准备工作

需要 GitLab 的访问令牌。请在 GitLab 的设置→访问令牌中发行令牌,发行时请勾选 read_api

功能介绍

1. 获取并修正流水线失败信息 (get_pipeline_failed_jobs)

获取 GitLab 流水线中失败作业的控制台输出,并基于这些信息由 AI 助手进行修正。 输出

  • 失败作业的控制台输出(包含作业名称、状态和详细日志)。

2. 获取并处理 MR 的指摘事项 (get_review_comments)

获取 GitLab 合并请求(MR)中未解决的指摘事项(评论)并进行处理,已解决的评论和未关联文件的评论将被排除。 输出

  • MR 中未解决且关联文件的指摘事项(包含评论者、时间、评论内容和文件位置信息等)。

3. 获取并审查 MR 的变更内容 (get_review_changes)

获取 GitLab 合并请求从基础提交(base_sha)到本地仓库当前状态的差异。

💻 使用示例

基础用法

1. 获取失败作业的控制台输出

from mcp_server import get_pipeline_failed_jobs

jobs = get_pipeline_failed_jobs()
for job in jobs:
print(f"Job Name: {job['name']}")
print(f"Status: {job['status']}")
print(f"Log: {job['log']}\n")

2. 获取 MR 的指摘事项

from mcp_server import get_review_comments

comments = get_review_comments()
for comment in comments:
print(f"Author: {comment['author']}")
print(f"Time: {comment['time']}")
print(f"Content: {comment['content']}\n")

3. 获取 MR 的变更内容

from mcp_server import get_review_changes

changes = get_review_changes()
for change in changes:
print(f"File: {change['file']}")
print(f"Type: {change['type']}")
print(f"Differences: {change['differences']}\n")

⚠️ 重要提示

  • 在上述代码示例中,请适当替换以下值:
    • your_gitlab_api_key:GitLab API 的访问令牌。
    • /path/to/git/repo:本地 Git 仓库的绝对路径。
    • /path/to/this-mcp-server:此 MCP 服务器目录的绝对路径。
  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-09-27 04:03

相似服务问题

相关AI产品