GitLab日志MCP服务器

基于GitLab提交哈希获取作业日志的Model Context Protocol (MCP)服务器,用于获取与当前项目提交哈希匹配的作业及其控制台日志。

  • by owayo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 owayo/gitlab-log-mcp-server

使用说明

GitLab日志MCP服务器

GitLab的提交散列来获取作业日志Model Context Protocol (MCP) 服务器。获取与当前项目提交散列匹配的作业,并获取作业的控制台日志。

概要

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

  1. 当前Git与提交相关GitLab作业列表
  2. 特定作业ID控制台日志

MCP中所述的工具,调整墙的布局和几何形状AI助手是GitLab的作业信息CI/CD对较大场景进行渲染期间已观察到该故障。

安装

# uvのインストール
$ curl -LsSf https://astral.sh/uv/install.sh | sh

$ cd /path/to/this-mcp-server
# ライブラリのインストール
$ uv sync

准备

GitLab中所述修改相应参数的值。 访问标记为GitLab的设置→请用访问令牌发行。 发行时read_api 中所述修改相应参数的值。

机能

1.获取当前提交的作业列表(get_current_commit_jobs)

当前Git所有与提交相关的GitLab获取作业列表。

出力:

  • 作业名称ID、阶段、状态和管线ID包含的作业一览表

2.获取作业的控制台日志(get_job_log)

指定的作业ID查看项目中可用的所有族。

入力:

  • job_id:要获取的作业的ID(数字)

出力:

  • 指定作业的完整控制台日志

AI与助手合作

AI助手(Claude等)MCP可以对服务器调用以下函数:

  • get_current_commit_jobs():获取与当前提交相关的作业列表
  • get_job_log(job_id):获取指定作业的控制台日志

这些函数自动检索与当前分支和提交相关的信息。

Claude for Desktop中的设置

claude_desktop_config.json 中添加以下设置:

{
    "mcpServers": {
        "gitlab-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/this-mcp-server",
                "run",
                "main.py"
            ],
            "env": {
                "GITLAB_URL": "your_gitlab_url",
                "GITLAB_PROJECT_NAME": "gitlab_project_name",
                "GITLAB_API_KEY": "your_gitlab_api_key",
                "GIT_REPO_PATH": "/path/to/git/repo"
            }
        }
    }
}

Cursor中的设置

项目根目录 .cursor/mcp.json 中添加以下设置:

{
    "mcpServers": {
        "gitlab-mcp": {
            "command": "env",
            "args": [
                "GITLAB_URL=your_gitlab_url",
                "GITLAB_PROJECT_NAME=gitlab_project_name",
                "GITLAB_API_KEY=your_gitlab_api_key",
                "GIT_REPO_PATH=/path/to/git/repo",
                "uv",
                "--directory",
                "/path/to/this-mcp-server",
                "run",
                "main.py"
            ]
        }
    }
}

注:在上述设置示例中,请适当替换以下值:

  • your_gitlab_api_key: GitLab API访问标记
  • /path/to/git/repo:本地Git存储库绝对路径
  • /path/to/this-mcp-server:此MCP服务器目录的绝对路径