Tools Overview
GitLab MCP Server exposes GitLab operations as MCP tools that AI assistants can invoke directly. The server offers two operating modes to balance capability with token efficiency.
Operating modes
Section titled “Operating modes”Individual mode
Section titled “Individual mode”In individual mode, the server registers 1006 individual tools, each mapping to a single GitLab API operation. This provides maximum granularity but consumes significant LLM context tokens for tool discovery.
Meta-tool mode (default)
Section titled “Meta-tool mode (default)”In meta-tool mode (META_TOOLS=true), related operations are consolidated into domain-level meta-tools. Each meta-tool accepts an action parameter that routes to the appropriate handler. This reduces the tool count to 42 base meta-tools (or 57 with enterprise features), dramatically improving LLM token efficiency while preserving full functionality.
{ "tool": "gitlab_issue", "arguments": { "action": "create", "project": "my-group/my-project", "title": "Fix login redirect", "description": "Users are redirected to 404 after login", "labels": "bug,priority::high" }}Tool naming convention
Section titled “Tool naming convention”All tools follow a consistent naming pattern:
- Individual tools:
gitlab_{action}_{resource}(e.g.,gitlab_create_issue,gitlab_list_projects) - Meta-tools:
gitlab_{domain}(e.g.,gitlab_issue,gitlab_project)
Base meta-tools (42)
Section titled “Base meta-tools (42)”Project management
Section titled “Project management”| Meta-tool | Description | Key Actions |
|---|---|---|
gitlab_project | Project CRUD and configuration | list, get, create, update, delete, archive, unarchive, fork, star, unstar, transfer |
gitlab_issue | Issue lifecycle management | list, get, create, update, delete, close, reopen, subscribe, move, clone |
gitlab_milestone | Milestone management | list, get, create, update, delete |
gitlab_label | Label management | list, get, create, update, delete |
gitlab_issue_link | Issue relationships | list, create, delete |
gitlab_issue_note | Issue comments | list, get, create, update, delete |
gitlab_todo | Todo/task management | list, mark_done, mark_all_done |
Code & repository
Section titled “Code & repository”| Meta-tool | Description | Key Actions |
|---|---|---|
gitlab_branch | Branch management | list, get, create, delete |
gitlab_protected_branch | Branch protection rules | list, get, protect, unprotect |
gitlab_commit | Commit operations | list, get, diff, refs, cherry_pick, revert |
gitlab_tag | Tag management | list, get, create, delete |
gitlab_file | Repository file operations | get, create, update, delete, raw |
gitlab_repository | Repository tree and compare | tree, compare, archive, contributors |
gitlab_merge_request | Merge request lifecycle | list, get, create, update, merge, close, reopen, rebase, approve, unapprove |
gitlab_mr_note | MR comments | list, get, create, update, delete |
gitlab_mr_discussion | MR discussion threads | list, get, create, reply, resolve, unresolve |
gitlab_mr_draft_note | MR draft notes | list, get, create, update, delete, publish |
gitlab_mr_changes | MR diff and changes | list, summary |
gitlab_mr_approval | MR approval rules | get, approve, unapprove, configuration |
gitlab_wiki | Wiki page management | list, get, create, update, delete |
| Meta-tool | Description | Key Actions |
|---|---|---|
gitlab_pipeline | Pipeline management | list, get, create, cancel, retry, delete, wait |
gitlab_job | CI job management | list, get, play, cancel, retry, trace, artifacts, wait |
gitlab_pipeline_schedule | Scheduled pipelines | list, get, create, update, delete, trigger |
gitlab_ci_lint | CI configuration validation | validate, project_lint |
gitlab_ci_variable | CI/CD variables | list, get, create, update, delete |
gitlab_environment | Environment management | list, get, create, update, delete, stop |
gitlab_deployment | Deployment tracking | list, get |
gitlab_package | Package registry | list, get, delete |
Collaboration
Section titled “Collaboration”| Meta-tool | Description | Key Actions |
|---|---|---|
gitlab_member | Project member management | list, get, add, update, remove |
gitlab_group | Group management | list, get, create, update, delete, projects, subgroups |
gitlab_search | Cross-resource search | code, issues, merge_requests, projects, users, commits, blobs |
gitlab_user | User information | get, current, list, status |
gitlab_release | Release management | list, get, create, update, delete |
gitlab_release_link | Release asset links | list, get, create, update, delete |
gitlab_upload | File uploads | upload |
Administration & utilities
Section titled “Administration & utilities”| Meta-tool | Description | Key Actions |
|---|---|---|
gitlab_health | Server health check | check, version |
gitlab_server_update | Self-update management | check, apply |
gitlab_resolve_project | Git remote to project resolution | resolve |
Sampling & analysis
Section titled “Sampling & analysis”| Meta-tool | Description |
|---|---|
gitlab_analyze_mr_changes | AI analysis of merge request changes |
gitlab_summarize_issue | AI-powered issue summarization |
gitlab_generate_release_notes | Automated release notes generation |
gitlab_analyze_pipeline_failure | Pipeline failure root cause analysis |
gitlab_summarize_mr_review | MR review summarization |
gitlab_generate_milestone_report | Milestone progress reporting |
gitlab_analyze_ci_configuration | CI config quality analysis |
gitlab_analyze_issue_scope | Issue scope and complexity estimation |
gitlab_review_mr_security | Security review of MR changes |
gitlab_find_technical_debt | Technical debt identification |
gitlab_analyze_deployment_history | Deployment pattern analysis |
Enterprise-only tools (15)
Section titled “Enterprise-only tools (15)”When GITLAB_ENTERPRISE=true, the server registers 15 additional meta-tools for GitLab Premium and Ultimate features:
gitlab_merge_train, gitlab_audit_event, gitlab_dora_metrics, gitlab_dependency, gitlab_external_status_check, gitlab_group_scim, gitlab_member_role, gitlab_enterprise_user, gitlab_attestation, gitlab_compliance_policy, gitlab_project_alias, gitlab_geo, gitlab_storage_move, gitlab_vulnerability, gitlab_security_finding
Further reading
Section titled “Further reading”- Meta-tools — detailed meta-tool architecture and usage
- Analysis Tools — AI-powered sampling tools
- Resources & Prompts — read-only context and prompt templates