Per-domain tool reference for gitlab-mcp-server. Each document covers one logical domain, listing all individual MCP tools with their descriptions, parameter tables, and annotation types.
Every operation is defined once in the canonical action catalog and projected onto three surfaces: the default dynamic pair (gitlab_find_action and gitlab_execute_action, which call actions by domain.action ID), a curated set of domain meta-tools (GITLAB_MCP_TOOL_SURFACE=meta), each consolidating a non-overlapping GitLab REST/GraphQL surface area, and one tool per action (GITLAB_MCP_TOOL_SURFACE=individual). The domain boundary described below is the meta-tool boundary, and it is also the domain half of every canonical ID, so it holds on every surface. The self-managed Ultimate catalog exposes 1085 individual tools; GitLab.com Ultimate adds 6 experimental Orbit Knowledge Graph tools for a maximum of 1091. The meta-tool boundary maps 1:1 to GitLab's resource taxonomy (project, group, merge_request, issue, pipeline, etc.), so domains never duplicate functionality: lifecycle CRUD lives in the resource's own meta-tool (gitlab_merge_request for MR open/merge/close), peripheral concerns ship as siblings (gitlab_mr_review for diffs, comments, draft notes; gitlab_pipeline for CI runs, never MR pipelines). Project discovery in gitlab_discover_project, Orbit graph queries in gitlab_orbit, and infrastructure self-management in gitlab_server. Premium and Ultimate domains (epics, audit events, DORA metrics, vulnerabilities, compliance, etc.) are gated by GITLAB_MCP_TIER (Premium or Ultimate), and Orbit is gated on top of that to GitLab.com, where it is served on Premium and Ultimate alike. Such domains either ship as dedicated meta-tools or attach as additional actions on the relevant base meta-tool, never as duplicate alternatives. This keeps every meta-tool independently invokable, free of overlap with its siblings, and minimal in surface area for LLM tool selection.
The dynamic toolset reuses the same canonical action catalog as meta-tools. In dynamic mode, clients see only gitlab_find_action and gitlab_execute_action, then discover and execute the same canonical domain actions progressively.
This directory is a domain-oriented reference, not a one-heading-per-runtime-tool dump. The table below groups related actions into stable user-facing domains so humans can scan the API surface without reading more than a thousand individual entries. For the exact runtime catalog exposed by the current GITLAB_MCP_TOOL_SURFACE, including every action ID, input schema, output schema, annotations, compatibility names, and deprecation state, read gitlab://tools and then gitlab://tools/{id} from the MCP server.
| Domain | Tools | Meta-tool | Document |
|---|---|---|---|
| Projects | 91 | gitlab_project |
projects.md |
| Repository & Files | 40 | gitlab_repository |
repository.md |
| Branches | 10 | gitlab_branch |
branches.md |
| Tags | 9 | gitlab_tag |
tags.md |
| Merge Requests | 56 | gitlab_merge_request |
merge-requests.md |
| MR Review | 23 | gitlab_mr_review |
mr-review.md |
| Issues | 56 | gitlab_issue |
issues.md |
| CI/CD | 65 | gitlab_pipeline, gitlab_job, etc. |
ci-cd.md |
| Releases | 12 | gitlab_release |
releases.md |
| Environments & Deployments | 23 | gitlab_environment |
environments.md |
| Groups | 104 | gitlab_group |
groups.md |
| Users & Todos | 64 | gitlab_user |
users.md |
| Access & Tokens | 62 | various | access.md |
| Boards, Labels & Milestones | 25 | gitlab_project, gitlab_group |
boards.md |
| Search | 10 | gitlab_search |
search.md |
| Orbit (GitLab.com Premium/Ultimate) | 6 | gitlab_orbit |
orbit.md |
| Wikis | 6 | gitlab_wiki |
wikis.md |
| Snippets | 26 | gitlab_snippet |
snippets.md |
| Packages & Registry | 33 | gitlab_package |
packages.md |
| Mirrors | 7 | gitlab_project (enterprise routes) |
mirrors.md |
| Dependency Firewall | 1 | gitlab_project (enterprise routes) |
dependency-firewall.md |
| Runners & Resource Groups | 34 | gitlab_runner |
runners.md |
| Security & Feature Flags | 28 | various | security.md |
| Notifications & Events | 42 | various | notifications.md |
| Admin & Instance | 75 | gitlab_admin |
admin.md |
| Templates | 12 | gitlab_template |
templates.md |
| Integrations & Misc | 29 | various | integrations.md |
| MCP Capabilities | 5 | gitlab_server (plus individually-registered elicitation tools) |
capabilities.md |
| Project Discovery | 1 | gitlab_discover_project (individual tool) |
project-discovery.md |
| Identity & Security | 30 | gitlab_group_scim, gitlab_member_role, etc. |
identity-security.md |
| Enterprise Users & Attestations | 6 | gitlab_enterprise_user, gitlab_attestation |
enterprise-attestations.md |
| Analytics & Compliance | 12 | gitlab_group (enterprise routes), gitlab_compliance_policy, gitlab_project_alias |
analytics-compliance.md |
| Geo & Model Registry | 9 | gitlab_geo, gitlab_model_registry |
geo-model-registry.md |
| Repository Storage Moves | 18 | gitlab_storage_move |
storage-moves.md |
| Epics | 23 | gitlab_group (enterprise routes) |
epics.md |
| Vulnerabilities | 8 | gitlab_vulnerability |
vulnerabilities.md |
| Security Attributes | 5 | gitlab_security_attribute |
security-attributes.md |
| Security Categories | 3 | gitlab_security_category |
security-categories.md |
| Security Findings | 1 | gitlab_security_finding |
security-findings.md |
| Security Scan Profiles | 3 | gitlab_security_scan_profile |
security-scan-profiles.md |
| CI/CD Catalog | 2 | gitlab_ci_catalog |
ci-catalog.md |
| Branch Rules | 1 | gitlab_branch (routed) |
branch-rules.md |
| Custom Emoji | 3 | gitlab_custom_emoji |
custom-emoji.md |
| Achievements | 12 | gitlab_achievement |
achievements.md |
Note: The
eventssub-package (2 tools:gitlab_project_event_list,gitlab_user_contribution_event_list) is registered into thegitlab_usercatalog group and documented inusers.md(DOC-002 first-claimer-wins rule). Five sub-packages (projectimportexport,projectstatistics,uploads,projectserviceaccounts,deploymentmergerequests— 20 tools) are covered by their parent domain docs (Projects, Environments). Orbit is registered only forhttps://gitlab.comconnections with the Premium or Ultimate catalog enabled. Nine GraphQL-only domains (Vulnerabilities, Security Attributes, Security Categories, Security Findings, Security Scan Profiles, CI/CD Catalog, Branch Rules, Custom Emoji, Achievements) use the GitLab GraphQL API instead of REST — see GraphQL Integration for details.
All tool responses include dual output:
- Markdown content with tables, clickable
[text](url)links, formatted dates, and💡 Next stepshints — targeted at the LLM viaaudience: ["assistant"]annotations - Structured JSON (
structuredContent) with typed fields — for meta-tools, this also includes anext_stepsarray with actionable hints for JSON-only clients like VS Code
14 domains include clickable links in list results: merge requests, issues, pipelines, projects, branches, commits, releases, tags, todos, milestones, members, environments, groups, and packages. Clicking a link opens the entity directly in GitLab.
See Output Format for details on annotations, priorities, and response anatomy.