gitlab-mcp-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

gitlab-mcp

gitlab-mcp

GitLab MCP server providing 217 tools: 215 tools across 20 toolsets, plus
execute_graphql
and the always-available
discover_tools
meta-tool.
For exact generated parameter tables, see
docs/tools/
. Use this file for workflow shape and high-signal parameter hints.
GitLab MCP服务器提供217个工具:涵盖20个工具集的215个工具,外加
execute_graphql
和始终可用的
discover_tools
元工具。
如需精确的生成参数表,请查看
docs/tools/
。本文件可用于了解工作流架构及高价值参数提示。

Toolsets

工具集

ToolsetDefaultEnable with
merge_requests (43 tools)yes-
issues (24 tools)yes-
repositories (7 tools)yes-
branches (15 tools)yes-
projects (11 tools)yes-
labels (5 tools)yes-
ci (4 tools)yes-
groups (1 tool)yes-
users (7 tools)yes-
pipelines (19 tools)no
USE_PIPELINE=true
or
GITLAB_TOOLSETS=pipelines
milestones (17 tools)no
USE_MILESTONE=true
or
GITLAB_TOOLSETS=milestones
wiki (10 tools)no
USE_GITLAB_WIKI=true
or
GITLAB_TOOLSETS=wiki
releases (7 tools)no
GITLAB_TOOLSETS=releases
tags (5 tools)no
GITLAB_TOOLSETS=tags
workitems (18 tools)no
GITLAB_TOOLSETS=workitems
webhooks (3 tools)no
GITLAB_TOOLSETS=webhooks
search (3 tools)no
GITLAB_TOOLSETS=search
variables (10 tools)no
GITLAB_TOOLSETS=variables
dependency_proxy (4 tools)no
GITLAB_TOOLSETS=dependency_proxy
vulnerabilities (4 tools)no
GITLAB_TOOLSETS=vulnerabilities
Enable all:
GITLAB_TOOLSETS=all
. Use
GITLAB_TOOLS
to enable individual tools outside their toolset.
discover_tools
can list and activate opt-in categories for the current session.
execute_graphql
is not in a toolset; enable it explicitly with
GITLAB_TOOLS=execute_graphql
.
工具集默认启用启用方式
merge_requests (43个工具)-
issues (24个工具)-
repositories (7个工具)-
branches (15个工具)-
projects (11个工具)-
labels (5个工具)-
ci (4个工具)-
groups (1个工具)-
users (7个工具)-
pipelines (19个工具)
USE_PIPELINE=true
GITLAB_TOOLSETS=pipelines
milestones (17个工具)
USE_MILESTONE=true
GITLAB_TOOLSETS=milestones
wiki (10个工具)
USE_GITLAB_WIKI=true
GITLAB_TOOLSETS=wiki
releases (7个工具)
GITLAB_TOOLSETS=releases
tags (5个工具)
GITLAB_TOOLSETS=tags
workitems (18个工具)
GITLAB_TOOLSETS=workitems
webhooks (3个工具)
GITLAB_TOOLSETS=webhooks
search (3个工具)
GITLAB_TOOLSETS=search
variables (10个工具)
GITLAB_TOOLSETS=variables
dependency_proxy (4个工具)
GITLAB_TOOLSETS=dependency_proxy
vulnerabilities (4个工具)
GITLAB_TOOLSETS=vulnerabilities
启用全部工具集:
GITLAB_TOOLSETS=all
。使用
GITLAB_TOOLS
可启用工具集外的单个工具。
discover_tools
可列出并激活当前会话中的可选工具分类。
execute_graphql
不属于任何工具集,需通过
GITLAB_TOOLS=execute_graphql
显式启用。

Key Workflows

核心工作流

Code Review (see reference/code-review.md)

代码评审(详见reference/code-review.md)

  1. list_merge_request_changed_files
    - get file paths only (no diffs)
  2. get_merge_request_file_diff
    - get diffs for 3-5 files per call (batch)
  3. create_merge_request_thread
    or
    create_draft_note
    - leave review comments
  4. bulk_publish_draft_notes
    - publish all drafts at once
  1. list_merge_request_changed_files
    - 仅获取文件路径(不含差异内容)
  2. get_merge_request_file_diff
    - 每次调用批量获取3-5个文件的差异内容
  3. create_merge_request_thread
    create_draft_note
    - 留下评审评论
  4. bulk_publish_draft_notes
    - 一次性发布所有草稿评论

MR Lifecycle (see reference/merge-requests.md)

MR生命周期(详见reference/merge-requests.md)

create_merge_request
-> review ->
approve_merge_request
->
merge_merge_request
create_merge_request
-> 评审 ->
approve_merge_request
->
merge_merge_request

Issue Management (see reference/issues.md)

议题管理(详见reference/issues.md)

create_issue
->
create_issue_link
->
create_issue_note
->
update_issue
Use
update_issue_description_patch
for small edits to long issue descriptions instead of resending the full body.
create_issue
->
create_issue_link
->
create_issue_note
->
update_issue
若需对长议题描述进行小幅编辑,建议使用
update_issue_description_patch
,而非重新发送完整内容。

Projects & Namespaces

项目与命名空间

  • get_project
    ,
    list_projects
    ,
    update_project
    - inspect or change project settings
  • list_project_members
    ,
    list_group_members
    - search members by name or username within a project or group
  • list_namespaces
    ,
    get_namespace
    ,
    verify_namespace
    - find target namespaces before creating projects/groups
  • verify_namespace.parent_id
    scopes nested namespace checks
  • create_repository.namespace_id
    creates a project under a group namespace
  • get_project
    ,
    list_projects
    ,
    update_project
    - 查看或修改项目设置
  • list_project_members
    ,
    list_group_members
    - 在项目或群组内按名称或用户名搜索成员
  • list_namespaces
    ,
    get_namespace
    ,
    verify_namespace
    - 创建项目/群组前查找目标命名空间
  • verify_namespace.parent_id
    用于限定嵌套命名空间的检查范围
  • create_repository.namespace_id
    用于在群组命名空间下创建项目

Branches & Commits

分支与提交

  • create_branch
    ,
    list_branches
    ,
    get_branch
    ,
    delete_branch
  • Protected branches:
    list_protected_branches
    ,
    get_protected_branch
    ,
    protect_branch
    ,
    unprotect_branch
    ,
    update_default_branch
  • Commits:
    list_commits
    ,
    get_commit
    ,
    get_commit_diff
    ,
    get_file_blame
    ,
    list_commit_statuses
    ,
    create_commit_status
  • create_branch
    ,
    list_branches
    ,
    get_branch
    ,
    delete_branch
  • 受保护分支:
    list_protected_branches
    ,
    get_protected_branch
    ,
    protect_branch
    ,
    unprotect_branch
    ,
    update_default_branch
  • 提交记录:
    list_commits
    ,
    get_commit
    ,
    get_commit_diff
    ,
    get_file_blame
    ,
    list_commit_statuses
    ,
    create_commit_status

CI

CI

  • Lint configs:
    validate_ci_lint
    ,
    validate_project_ci_lint
  • Catalog:
    list_ci_catalog_resources
    ,
    get_ci_catalog_resource
  • Pipelines/jobs/deployments: see reference/pipelines.md
  • 配置校验:
    validate_ci_lint
    ,
    validate_project_ci_lint
  • 目录:
    list_ci_catalog_resources
    ,
    get_ci_catalog_resource
  • 流水线/作业/部署:详见reference/pipelines.md

Work Items (see reference/work-items.md)

工作项(详见reference/work-items.md)

list_work_items
->
get_work_item
->
update_work_item
->
create_work_item_note
list_work_items
->
get_work_item
->
update_work_item
->
create_work_item_note

Variables & Dependency Proxy

变量与依赖代理

Enable with
GITLAB_TOOLSETS=variables
or
GITLAB_TOOLSETS=dependency_proxy
.
  • Variables: project/group CRUD tools (
    list_*_variables
    ,
    get_*_variable
    ,
    create_*_variable
    ,
    update_*_variable
    ,
    delete_*_variable
    )
  • Dependency proxy:
    get_dependency_proxy_settings
    ,
    update_dependency_proxy_settings
    ,
    list_dependency_proxy_blobs
    ,
    purge_dependency_proxy_cache
通过
GITLAB_TOOLSETS=variables
GITLAB_TOOLSETS=dependency_proxy
启用。
  • 变量:项目/群组的增删改查工具(
    list_*_variables
    ,
    get_*_variable
    ,
    create_*_variable
    ,
    update_*_variable
    ,
    delete_*_variable
  • 依赖代理:
    get_dependency_proxy_settings
    ,
    update_dependency_proxy_settings
    ,
    list_dependency_proxy_blobs
    ,
    purge_dependency_proxy_cache

Webhooks & Search

Webhook与搜索

  • Webhooks: see reference/webhooks.md
  • Code search: see reference/search.md
  • Webhook:详见reference/webhooks.md
  • 代码搜索:详见reference/search.md

Vulnerability Triage (see reference/vulnerability-triage.md)

漏洞分类处理(详见reference/vulnerability-triage.md)

Enable with
GITLAB_TOOLSETS=vulnerabilities
(requires GitLab Ultimate).
list_project_vulnerabilities
->
get_vulnerability
->
dismiss_vulnerability
or
confirm_vulnerability
通过
GITLAB_TOOLSETS=vulnerabilities
启用(需GitLab Ultimate版本)。
list_project_vulnerabilities
->
get_vulnerability
->
dismiss_vulnerability
confirm_vulnerability

File Operations

文件操作

  • Read:
    get_file_contents
    ,
    get_repository_tree
  • Write:
    create_or_update_file
    (single file),
    push_files
    (multiple files in one commit)
  • 读取:
    get_file_contents
    ,
    get_repository_tree
  • 写入:
    create_or_update_file
    (单个文件),
    push_files
    (单次提交多个文件)

Parameter Hints

参数提示

  • project_id: numeric ID or URL-encoded path (
    group%2Fsubgroup%2Fproject
    )
  • namespace_id: numeric namespace ID for
    create_repository
    ; use
    list_namespaces
    /
    verify_namespace
    first
  • parent_id: scope subgroup creation or
    verify_namespace
    for nested groups
  • MR lookup: provide
    mergeRequestIid
    OR
    branchName
    (not both)
  • list_issues: default scope = created by current user. Use
    scope: "all"
    for all issues
  • list_merge_requests: without project_id returns user's MRs across all projects
  • CI catalog resource lookup: provide exactly one of
    id
    or
    full_path
  • emoji reactions: merge request, issue, and work item reaction tools use GitLab emoji names like
    thumbsup
    ,
    rocket
    , or
    eyes
  • work items: status and custom fields require GitLab Premium/Ultimate features
  • execute_graphql: escape double quotes in query strings
  • project_id:数字ID或URL编码路径(
    group%2Fsubgroup%2Fproject
  • namespace_id
    create_repository
    使用的数字命名空间ID;建议先使用
    list_namespaces
    /
    verify_namespace
    查询
  • parent_id:限定子群组创建范围,或用于嵌套群组的
    verify_namespace
    检查
  • MR查询:需提供
    mergeRequestIid
    branchName
    (不可同时提供)
  • list_issues:默认范围为当前用户创建的议题。使用
    scope: "all"
    可查询所有议题
  • list_merge_requests:不提供project_id时,返回用户在所有项目中的MR
  • CI目录资源查询:需精确提供
    id
    full_path
    中的一个
  • 表情反应:合并请求、议题和工作项的反应工具使用GitLab表情名称,如
    thumbsup
    ,
    rocket
    eyes
  • 工作项:状态和自定义字段需GitLab Premium/Ultimate版本功能支持
  • execute_graphql:查询字符串中的双引号需转义

Destructive Tools (require caution)

破坏性工具(需谨慎使用)

delete_branch
,
delete_draft_note
,
delete_group_milestone
,
delete_group_variable
,
delete_group_wiki_page
,
delete_issue
,
delete_issue_emoji_reaction
,
delete_issue_link
,
delete_issue_note_emoji_reaction
,
delete_label
,
delete_merge_request_discussion_note
,
delete_merge_request_emoji_reaction
,
delete_merge_request_note
,
delete_merge_request_note_emoji_reaction
,
delete_milestone
,
delete_project_variable
,
delete_release
,
delete_tag
,
delete_wiki_page
,
delete_work_item_emoji_reaction
,
delete_work_item_note_emoji_reaction
,
merge_merge_request
,
protect_branch
,
purge_dependency_proxy_cache
,
push_files
,
unprotect_branch
,
update_default_branch
delete_branch
,
delete_draft_note
,
delete_group_milestone
,
delete_group_variable
,
delete_group_wiki_page
,
delete_issue
,
delete_issue_emoji_reaction
,
delete_issue_link
,
delete_issue_note_emoji_reaction
,
delete_label
,
delete_merge_request_discussion_note
,
delete_merge_request_emoji_reaction
,
delete_merge_request_note
,
delete_merge_request_note_emoji_reaction
,
delete_milestone
,
delete_project_variable
,
delete_release
,
delete_tag
,
delete_wiki_page
,
delete_work_item_emoji_reaction
,
delete_work_item_note_emoji_reaction
,
merge_merge_request
,
protect_branch
,
purge_dependency_proxy_cache
,
push_files
,
unprotect_branch
,
update_default_branch

Advanced

进阶功能

  • Dynamic discovery:
    discover_tools
    lists and activates opt-in toolsets at runtime
  • GraphQL:
    execute_graphql
    for queries not covered by REST tools
  • Tool docs:
    docs/tools/
    is generated from
    tools/registry.ts
    ; prefer it for exact schemas
  • Remote MCP OAuth: when
    GITLAB_MCP_OAUTH=true
    ,
    POST /register
    (DCR) is rate-limited per client IP (default 20/hour via MCP SDK; tune with
    OAUTH_REGISTER_RATE_LIMIT_PER_HOUR
    ). Separate from
    MAX_REQUESTS_PER_MINUTE
    and GitLab API quotas — see environment-variables.md
  • Zoekt search:
    search_code
    ,
    search_project_code
    ,
    search_group_code
    (requires advanced search enabled)
  • Work Items: GraphQL-based alternative to issues (Premium/Ultimate features)
  • 动态发现
    discover_tools
    可在运行时列出并激活可选工具集
  • GraphQL
    execute_graphql
    用于处理REST工具未覆盖的查询需求
  • 工具文档
    docs/tools/
    tools/registry.ts
    生成;如需精确模式,建议优先查看该目录
  • 远程MCP OAuth:当
    GITLAB_MCP_OAUTH=true
    时,
    POST /register
    (DCR)按客户端IP限流(默认通过MCP SDK限制为20次/小时;可通过
    OAUTH_REGISTER_RATE_LIMIT_PER_HOUR
    调整)。此限流独立于
    MAX_REQUESTS_PER_MINUTE
    和GitLab API配额 — 详见environment-variables.md
  • Zoekt搜索
    search_code
    ,
    search_project_code
    ,
    search_group_code
    (需启用高级搜索功能)
  • 工作项:基于GraphQL的议题替代方案(需Premium/Ultimate版本功能支持)