用途:在 GitLab.com 或自建 GitLab 实例上查看与更新合并请求(MR)、评论、流水线及作业日志。属于仓库内 Python 工作流,不是官方 GitLab MCP 服务器集成,当前实现仅支持 Python。
主要能力:列出与获取 MR、创建与更新 MR、添加评论、列出 MR 评论(--fields 下排除系统评论);按 ID 获取流水线、按分支或标签触发流水线、列出流水线作业、输出作业原始日志。读操作建议配合 --fields 使用点号字段名,输出更简洁。
使用方式:需 Python 3.11 或以上。运行前设置环境变量:GITLAB_URL(必填)、GITLAB_AUTH_MODE(可选 oauth 或 legacy-token)、GITLAB_OAUTH_CLIENT_ID、GITLAB_TOKEN、GITLAB_PROFILE、GITLAB_TOKEN_STORE、GITLAB_ALLOW_INSECURE、XDG_DATA_HOME、LOCALAPPDATA、GITLAB_PROJECT。未设置 GITLAB_PROJECT 时尝试从 git remote get-url origin 检测。命令通过 python scripts/gitlab.py 调用,例如:
export GITLAB_URL="https://gitlab.com" export GITLAB_OAUTH_CLIENT_ID="your-application-id" export GITLAB_PROJECT="group/project"
python scripts/gitlab.py auth login python scripts/gitlab.py mr-list opened --fields iid,title,author.name python scripts/gitlab.py pipeline-jobs 12345 --fields id,name,status,stage
凭据:默认 OAuth,需注册非机密应用,回调地址 http://127.0.0.1:8766/callback,作用域 api;浏览器登录需轮换刷新令牌,设备登录可能仅返回访问令牌。也可用 GITLAB_AUTH_MODE=legacy-token 配合 PAT。默认令牌存储位置在 POSIX 下为 $XDG_DATA_HOME/hve-core/gitlab/gitlab-token.json;Windows 上 OAuth 持久化 fail-closed。
审计:设置 GITLAB_AUDIT_LOG 后,对每个 REST 与 OAuth 表单请求写 JSON Lines 审计,先写尝试记录、后写结果;审计写入失败会中止操作。审计记录不含令牌与授权头,但源站信息敏感,需放置于受控路径。
限制:MR 使用项目内数值 IID(如 !42 对应 42),不是全局 ID;设备授权需人工在浏览器确认;GitLab 地址、项目路径及各类 ID 必须正确,否则报 401/403/404 等错误。其余功能、收费与平台细节暂未提供。