
Efficient Gitlab
Connects Claude to GitLab's entire API surface through three meta-tools that dynamically cover 167 operations: projects, merge requests, issues, pipelines, wiki, releases, milestones, and repository browsing. The token-efficient approach uses field projection to fetch only what you need and keyset pagination for large result sets. Supports both gitlab.com and self-hosted instances. Ships with PAT and OAuth2 auth, read-only mode, and multiple transports including stdio for local use and streamable HTTP for remote deployments. Handles the full project lifecycle from code review to CI/CD monitoring without burning through your context window on unnecessary API responses.
- GitHub stars
- 3
- tools
- 80
- auth
- Secret needed
- transport
- STDIO
- env vars
- 2
- last updated
- May 15, 2026
Tools
80 toolsPublic tool metadata for what this MCP can expose to an agent.
merge_merge_requestMerge a merge request in a GitLab project
Merge a merge request in a GitLab project
No parameter schema in public metadata yet.
create_or_update_fileCreate or update a single file in a GitLab project
Create or update a single file in a GitLab project
No parameter schema in public metadata yet.
search_repositoriesSearch for GitLab projects
Search for GitLab projects
No parameter schema in public metadata yet.
create_repositoryCreate a new GitLab project
Create a new GitLab project
No parameter schema in public metadata yet.
get_file_contentsGet the contents of a file or directory from a GitLab project
Get the contents of a file or directory from a GitLab project
No parameter schema in public metadata yet.
push_filesPush multiple files to a GitLab project in a single commit
Push multiple files to a GitLab project in a single commit
No parameter schema in public metadata yet.
create_issueCreate a new issue in a GitLab project
Create a new issue in a GitLab project
No parameter schema in public metadata yet.
create_merge_requestCreate a new merge request in a GitLab project
Create a new merge request in a GitLab project
No parameter schema in public metadata yet.
fork_repositoryFork a GitLab project to your account or specified namespace
Fork a GitLab project to your account or specified namespace
No parameter schema in public metadata yet.
create_branchCreate a new branch in a GitLab project
Create a new branch in a GitLab project
No parameter schema in public metadata yet.
get_merge_requestGet details of a merge request with compact deployment summary, behind-count, commit addition summary, and approval summary (Either mergeRequestIid or branchName must be provided)
Get details of a merge request with compact deployment summary, behind-count, commit addition summary, and approval summary (Either mergeRequestIid or branchName must be provided)
No parameter schema in public metadata yet.
get_merge_request_diffsGet the changes/diffs of a merge request (Either mergeRequestIid or branchName must be provided)
Get the changes/diffs of a merge request (Either mergeRequestIid or branchName must be provided)
No parameter schema in public metadata yet.
list_merge_request_diffsList merge request diffs with pagination support (Either mergeRequestIid or branchName must be provided)
List merge request diffs with pagination support (Either mergeRequestIid or branchName must be provided)
No parameter schema in public metadata yet.
get_merge_request_conflictsGet the conflicts of a merge request in a GitLab project
Get the conflicts of a merge request in a GitLab project
No parameter schema in public metadata yet.
list_merge_request_changed_filesSTEP 1 of code review workflow. Returns ONLY the list of changed file paths in a merge request — WITHOUT diff content. Call this first to get file paths, then call get_merge_request_file_diff with multiple files in a single batched call (recommended 3-5 files per call). Suppor...
STEP 1 of code review workflow. Returns ONLY the list of changed file paths in a merge request — WITHOUT diff content. Call this first to get file paths, then call get_merge_request_file_diff with multiple files in a single batched call (recommended 3-5 files per call). Suppor...
No parameter schema in public metadata yet.
get_merge_request_file_diffSTEP 2 of code review workflow. Get diffs for one or more files from a merge request. Call list_merge_request_changed_files first, then pass them as an array to fetch diffs efficiently. Batching multiple files (recommended 3-5) is supported. (Either mergeRequestIid or branchNa...
STEP 2 of code review workflow. Get diffs for one or more files from a merge request. Call list_merge_request_changed_files first, then pass them as an array to fetch diffs efficiently. Batching multiple files (recommended 3-5) is supported. (Either mergeRequestIid or branchNa...
No parameter schema in public metadata yet.
list_merge_request_versionsList all versions of a merge request
List all versions of a merge request
No parameter schema in public metadata yet.
get_merge_request_versionGet a specific version of a merge request
Get a specific version of a merge request
No parameter schema in public metadata yet.
get_branch_diffsGet the changes/diffs between two branches or commits in a GitLab project
Get the changes/diffs between two branches or commits in a GitLab project
No parameter schema in public metadata yet.
update_merge_requestUpdate a merge request (Either mergeRequestIid or branchName must be provided)
Update a merge request (Either mergeRequestIid or branchName must be provided)
No parameter schema in public metadata yet.
create_noteCreate a new note (comment) to an issue or merge request
Create a new note (comment) to an issue or merge request
No parameter schema in public metadata yet.
create_merge_request_threadCreate a new thread on a merge request
Create a new thread on a merge request
No parameter schema in public metadata yet.
mr_discussionsList discussion items for a merge request
List discussion items for a merge request
No parameter schema in public metadata yet.
resolve_merge_request_threadResolve a thread on a merge request
Resolve a thread on a merge request
No parameter schema in public metadata yet.
update_merge_request_noteModify an existing merge request thread note
Modify an existing merge request thread note
No parameter schema in public metadata yet.
create_merge_request_noteAdd a new note to an existing merge request thread
Add a new note to an existing merge request thread
No parameter schema in public metadata yet.
delete_merge_request_discussion_noteDelete a discussion note on a merge request
Delete a discussion note on a merge request
No parameter schema in public metadata yet.
update_merge_request_discussion_noteUpdate a discussion note on a merge request
Update a discussion note on a merge request
No parameter schema in public metadata yet.
create_merge_request_discussion_noteAdd a new discussion note to an existing merge request thread
Add a new discussion note to an existing merge request thread
No parameter schema in public metadata yet.
delete_merge_request_noteDelete an existing merge request note
Delete an existing merge request note
No parameter schema in public metadata yet.
get_merge_request_noteGet a specific note for a merge request
Get a specific note for a merge request
No parameter schema in public metadata yet.
get_merge_request_notesList notes for a merge request
List notes for a merge request
No parameter schema in public metadata yet.
get_draft_noteGet a single draft note from a merge request
Get a single draft note from a merge request
No parameter schema in public metadata yet.
list_draft_notesList draft notes for a merge request
List draft notes for a merge request
No parameter schema in public metadata yet.
create_draft_noteCreate a draft note for a merge request
Create a draft note for a merge request
No parameter schema in public metadata yet.
update_draft_noteUpdate an existing draft note
Update an existing draft note
No parameter schema in public metadata yet.
delete_draft_noteDelete a draft note
Delete a draft note
No parameter schema in public metadata yet.
publish_draft_notePublish a single draft note
Publish a single draft note
No parameter schema in public metadata yet.
bulk_publish_draft_notesPublish all draft notes for a merge request
Publish all draft notes for a merge request
No parameter schema in public metadata yet.
list_merge_requestsList merge requests globally or in a specific GitLab project with filtering options (project_id is now optional)
List merge requests globally or in a specific GitLab project with filtering options (project_id is now optional)
No parameter schema in public metadata yet.
approve_merge_requestApprove a merge request (requires appropriate permissions)
Approve a merge request (requires appropriate permissions)
No parameter schema in public metadata yet.
unapprove_merge_requestUnapprove a previously approved merge request
Unapprove a previously approved merge request
No parameter schema in public metadata yet.
get_merge_request_approval_stateGet merge request approval details including approvers (uses `approval_state` when available, otherwise falls back to `approvals`)
Get merge request approval details including approvers (uses `approval_state` when available, otherwise falls back to `approvals`)
No parameter schema in public metadata yet.
update_issue_noteModify an existing issue thread note
Modify an existing issue thread note
No parameter schema in public metadata yet.
create_issue_noteAdd a new note to an existing issue thread
Add a new note to an existing issue thread
No parameter schema in public metadata yet.
list_issuesList issues (default: created by current user only; use scope='all' for all accessible issues)
List issues (default: created by current user only; use scope='all' for all accessible issues)
No parameter schema in public metadata yet.
my_issuesList issues assigned to the authenticated user (defaults to open issues)
List issues assigned to the authenticated user (defaults to open issues)
No parameter schema in public metadata yet.
get_issueGet details of a specific issue in a GitLab project
Get details of a specific issue in a GitLab project
No parameter schema in public metadata yet.
update_issueUpdate an issue in a GitLab project
Update an issue in a GitLab project
No parameter schema in public metadata yet.
delete_issueDelete an issue from a GitLab project
Delete an issue from a GitLab project
No parameter schema in public metadata yet.
list_issue_linksList all issue links for a specific issue
List all issue links for a specific issue
No parameter schema in public metadata yet.
list_issue_discussionsList discussions for an issue in a GitLab project
List discussions for an issue in a GitLab project
No parameter schema in public metadata yet.
get_issue_linkGet a specific issue link
Get a specific issue link
No parameter schema in public metadata yet.
create_issue_linkCreate an issue link between two issues
Create an issue link between two issues
No parameter schema in public metadata yet.
delete_issue_linkDelete an issue link
Delete an issue link
No parameter schema in public metadata yet.
list_namespacesList all namespaces available to the current user
List all namespaces available to the current user
No parameter schema in public metadata yet.
get_namespaceGet details of a namespace by ID or path
Get details of a namespace by ID or path
No parameter schema in public metadata yet.
verify_namespaceVerify if a namespace path exists
Verify if a namespace path exists
No parameter schema in public metadata yet.
get_projectGet details of a specific project
Get details of a specific project
No parameter schema in public metadata yet.
list_projectsList projects accessible by the current user
List projects accessible by the current user
No parameter schema in public metadata yet.
list_project_membersList members of a GitLab project
List members of a GitLab project
No parameter schema in public metadata yet.
list_group_projectsList projects in a GitLab group with filtering options
List projects in a GitLab group with filtering options
No parameter schema in public metadata yet.
list_group_iterationsList group iterations with filtering options
List group iterations with filtering options
No parameter schema in public metadata yet.
list_labelsList labels for a project
List labels for a project
No parameter schema in public metadata yet.
get_labelGet a single label from a project
Get a single label from a project
No parameter schema in public metadata yet.
create_labelCreate a new label in a project
Create a new label in a project
No parameter schema in public metadata yet.
update_labelUpdate an existing label in a project
Update an existing label in a project
No parameter schema in public metadata yet.
delete_labelDelete a label from a project
Delete a label from a project
No parameter schema in public metadata yet.
list_pipelinesList pipelines in a GitLab project with filtering options
List pipelines in a GitLab project with filtering options
No parameter schema in public metadata yet.
get_pipelineGet details of a specific pipeline in a GitLab project
Get details of a specific pipeline in a GitLab project
No parameter schema in public metadata yet.
list_pipeline_jobsList all jobs in a specific pipeline
List all jobs in a specific pipeline
No parameter schema in public metadata yet.
list_pipeline_trigger_jobsList all trigger jobs (bridges) in a specific pipeline that trigger downstream pipelines
List all trigger jobs (bridges) in a specific pipeline that trigger downstream pipelines
No parameter schema in public metadata yet.
get_pipeline_jobGet details of a GitLab pipeline job number
Get details of a GitLab pipeline job number
No parameter schema in public metadata yet.
get_pipeline_job_outputGet the output/trace of a GitLab pipeline job with optional pagination to limit context window usage
Get the output/trace of a GitLab pipeline job with optional pagination to limit context window usage
No parameter schema in public metadata yet.
create_pipelineCreate a new pipeline for a branch or tag
Create a new pipeline for a branch or tag
No parameter schema in public metadata yet.
retry_pipelineRetry a failed or canceled pipeline
Retry a failed or canceled pipeline
No parameter schema in public metadata yet.
cancel_pipelineCancel a running pipeline
Cancel a running pipeline
No parameter schema in public metadata yet.
play_pipeline_jobRun a manual pipeline job
Run a manual pipeline job
No parameter schema in public metadata yet.
retry_pipeline_jobRetry a failed or canceled pipeline job
Retry a failed or canceled pipeline job
No parameter schema in public metadata yet.
cancel_pipeline_jobCancel a running pipeline job
Cancel a running pipeline job
No parameter schema in public metadata yet.
Sponsors
Configuration
GITLAB_PERSONAL_ACCESS_TOKEN*secretGitLab personal access token with API scope
GITLAB_API_URLGitLab API base URL (default: https://gitlab.com)
Readme
Efficient GitLab MCP
[!CAUTION] This repository is archived (2026-05-22).
Upstream
zereight/gitlab-mcpv2.1+ has independently implemented progressive disclosure and schema slimming (commit44983ec). The differentiators that justified this fork no longer apply — please use upstream instead.
Details
- Repository
- github.com/detailobsessed/efficient-gitlab-mcp
- Category
- Developer Tools
- Package
efficient-gitlab-mcp-server- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active