GitLab MCP 工具使用指南

April 9, 2025 · View on GitHub

本 MCP 服务提供了与 GitLab 实例的强大集成能力,支持多种 GitLab RESTful API 操作,已拆分为多个职责单一的 MCP 工具,方便调用和维护。


配置要求

在使用本工具前,您需要配置以下环境变量:

  • GITLAB_TOKEN:GitLab 个人访问令牌(PAT),具有适当的权限
  • GITLAB_API_URL:您的 GitLab 实例 URL (例如:gitlab.com)

可用 MCP 工具及示例

1. GitlabSearchUserProjectsTool

根据用户名搜索用户及其活跃项目。

示例参数

{
  "username": "xxx",
  "fields": ["id", "name", "path_with_namespace", "last_activity_at", "visibility"]
}

2. GitlabGetUserTasksTool

获取当前用户的待办任务,支持多种过滤。

示例参数

{
  "taskFilters": {
    "includeAssignedMRs": true,
    "includeReviewMRs": false,
    "includePipelines": false,
    "includeIssues": false
  },
  "fields": ["id", "title", "state"]
}

3. GitlabSearchProjectDetailsTool

根据项目名称搜索项目及其详细信息。

示例参数

{
  "projectName": "mcp",
  "fields": ["id", "name", "description"]
}

4. GitlabCreateMRCommentTool

为指定项目的合并请求添加评论。

示例参数

{
  "projectId": "123",
  "mergeRequestId": 456,
  "comment": "请尽快审核"
}

5. GitlabAcceptMRTool

接受并合并指定项目的合并请求。

示例参数

{
  "projectId": "123",
  "mergeRequestId": 456,
  "mergeOptions": {
    "squash": true,
    "merge_when_pipeline_succeeds": false
  }
}

6. GitlabRawApiTool

直接调用 GitLab REST API,支持自定义 endpoint、method、params、data。

示例参数

{
  "endpoint": "/projects",
  "method": "GET",
  "params": "search=backend",
  "data": ""
}

注意事项

  • 字段参数 fields 支持数组或逗号分隔字符串
  • 布尔值支持 true/false 或字符串 "true"/"false"
  • 参数需符合对应工具的 schema 定义
  • 推荐使用 JSON 格式传参,避免格式错误