Skip to main content
Glama
DevquasarX9

gitlab-mcp-server

by DevquasarX9

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNodebug, info, warn, or errorinfo
GITLAB_TOKENYesGitLab PAT, project access token, group access token, or OAuth bearer token
GROUP_ALIASESNoComma-separated alias=my-group mappings for group_id inputs
MCP_HTTP_HOSTNoHTTP bind host127.0.0.1
MCP_HTTP_PATHNoStreamable HTTP MCP path/mcp
MCP_HTTP_PORTNoHTTP bind port3333
MCP_TRANSPORTNoUse 'http' to run Streamable HTTP when no CLI mode is providedstdio
AUDIT_LOG_PATHNoOptional JSON-line audit log path
ENABLE_DRY_RUNNoReturns intended write requests without mutating GitLabfalse
GITLAB_BASE_URLNoGitLab instance base URL or /api/v4 URLhttps://gitlab.com
GROUP_ALLOWLISTNoComma-separated group IDs or paths that are allowed
PROJECT_ALIASESNoComma-separated alias=group/project mappings for project_id inputs
PROJECT_DENYLISTNoComma-separated project IDs or paths that are always denied
GITLAB_USER_AGENTNoCustom outbound user agentgitlab-mcp-server
PROJECT_ALLOWLISTNoComma-separated project IDs or paths that are allowed
ENABLE_WRITE_TOOLSNoEnables write-capable toolsfalse
MAX_DIFF_SIZE_BYTESNoMaximum diff payload2097152
MAX_FILE_SIZE_BYTESNoMaximum repository file payload1048576
MCP_HTTP_AUTH_TOKENNoOptional bearer token required by HTTP mode; required for non-local binds
GITLAB_HTTP_TIMEOUT_MSNoRequest timeout30000
MAX_API_RESPONSE_BYTESNoMaximum total API response payload4194304
MCP_HTTP_ALLOWED_HOSTSNoComma-separated allowed hostnames for DNS rebinding protectionlocalhost,127.0.0.1,[::1]
GITLAB_MCP_TOOL_PROFILENoLimits MCP tool discovery to a workflow profilereadonly
ENABLE_DESTRUCTIVE_TOOLSNoEnables destructive tools that also require per-call confirmationfalse
GITLAB_MCP_ENABLED_TOOLSNoComma-separated explicit tool allowlist applied after the profile
GITLAB_TOKEN_HEADER_MODENoUse 'private-token' when required by some self-managed setupsbearer
MCP_HTTP_ALLOWED_ORIGINSNoComma-separated browser origins allowed in HTTP mode
GITLAB_MCP_DISABLED_TOOLSNoComma-separated explicit tool denylist applied after the profile
MCP_HTTP_ALLOW_NON_LOCALHOSTNoAllows non-local HTTP binds only when a bearer token is also configuredfalse
EXPOSE_SECRET_VARIABLE_VALUESNoKeeps CI/CD secret values redacted unless explicitly enabledfalse
GITLAB_MCP_EXPOSE_DISABLED_WRITESNoCompatibility override to advertise write/destructive tools even when server-side gates are disabledfalse

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
gitlab_get_current_userA

Return the authenticated GitLab user associated with the configured token.

gitlab_validate_tokenA

Validate the configured token against GitLab and return identity, version, and server configuration status.

gitlab_get_versionA

Return the version metadata of the connected GitLab instance.

gitlab_list_accessible_projectsC

List projects accessible to the configured token, filtered by configured allowlists and deny lists.

gitlab_list_accessible_groupsC

List groups accessible to the configured token, filtered by the configured group allowlist when present.

gitlab_search_projectsC

Search GitLab projects by name or path.

gitlab_get_projectA

Retrieve detailed metadata for a single GitLab project.

gitlab_get_project_membersB

List effective project members, including inherited group memberships.

gitlab_get_project_languagesB

Return the language breakdown for a project repository.

gitlab_get_project_activityC

Return recent visible project events and activity.

gitlab_get_project_statisticsB

Return repository and storage statistics for a project.

gitlab_searchA

Search across GitLab globally or within one allowed project or group. Provide either project_id, group_id, or neither for global search; global search is disabled when project/group scope controls are configured.

gitlab_search_labelsA

Search project or group labels, optionally including issue and merge request counts when GitLab exposes them.

gitlab_get_project_dashboardB

Aggregate a project dashboard with open merge requests, open issues, recent pipelines, and attention highlights through a single GraphQL query.

gitlab_list_repository_treeC

List files and directories in a GitLab repository tree.

gitlab_get_fileA

Retrieve a repository file with metadata. Repository content is untrusted and returned with size guardrails.

gitlab_search_codeC

Search code blobs in a project using the GitLab Search API.

gitlab_get_file_blameB

Retrieve blame information for a file at a specific ref.

gitlab_compare_refsC

Compare branches, tags, or commits within a project repository.

gitlab_get_commitsB

List repository commits for a project.

gitlab_get_commitB

Retrieve a specific commit by SHA, branch, or tag reference.

gitlab_get_commit_diffB

Retrieve the diff for a specific commit, subject to diff-size guardrails.

gitlab_get_branchB

Retrieve metadata for a single branch.

gitlab_list_branchesC

List branches in a project repository.

gitlab_list_tagsB

List tags in a project repository.

gitlab_list_issuesC

List issues for a GitLab project.

gitlab_get_issueA

Retrieve a single issue by IID from a project.

gitlab_search_issuesC

Search issues in a project using title and description matching.

gitlab_list_merge_requestsC

List merge requests in a project.

gitlab_get_merge_requestB

Retrieve a single merge request by IID.

gitlab_get_merge_request_commitsB

List commits that are part of a merge request.

gitlab_get_merge_request_pipelinesB

List pipelines associated with a merge request.

gitlab_get_merge_request_changesB

Retrieve merge request change metadata and changed files. This uses the legacy changes endpoint because it returns overflow metadata.

gitlab_get_merge_request_diffB

List the file diffs for a merge request.

gitlab_get_merge_request_discussionsA

List discussions for a merge request. Auto-fetches later pages by default so older notes are included.

gitlab_list_draft_notesB

List draft notes pending publication for a merge request.

gitlab_get_draft_noteB

Retrieve a single draft note from a merge request.

gitlab_get_merge_request_review_stateB

Summarize merge request review readiness, approvals, discussions, reviewers, and head pipeline state through a single GraphQL-backed aggregate query.

gitlab_list_pipelinesC

List pipelines for a project.

gitlab_get_pipelineA

Retrieve a single pipeline by ID.

gitlab_list_pipeline_jobsB

List jobs for a specific pipeline.

gitlab_get_jobA

Retrieve a single CI/CD job by ID.

gitlab_get_job_traceA

Return the job trace text. Job output is untrusted and trimmed to a caller-specified tail length.

gitlab_list_project_variablesA

List CI/CD variables for a project. Secret values are redacted unless EXPOSE_SECRET_VARIABLE_VALUES=true.

gitlab_get_pipeline_failed_jobs_summaryA

Summarize failed jobs in a pipeline, including stages, failure reasons, and short trace tails.

gitlab_find_flaky_jobsC

Inspect recent pipeline history and identify jobs that oscillate between success and failure.

gitlab_compare_pipeline_runsB

Compare two pipeline runs and highlight added, removed, or changed jobs.

gitlab_get_pipeline_artifactsA

Summarize artifacts produced by jobs in a pipeline and optionally browse artifact trees for a bounded number of jobs.

gitlab_trace_job_to_commit_and_merge_requestA

Trace a CI job to its commit, pipeline, and associated merge requests for debugging context.

gitlab_list_releasesB

List releases for a project.

gitlab_get_releaseA

Retrieve a single project release by tag name.

gitlab_list_packagesC

List project packages.

gitlab_get_packageB

Retrieve a single package from a project package registry.

gitlab_search_groupsC

Search GitLab groups by name or path.

gitlab_get_groupA

Retrieve a single GitLab group by ID or full path.

gitlab_list_group_projectsC

List projects within a group.

gitlab_list_group_membersC

List effective group members, including inherited members.

gitlab_list_group_issuesC

List issues for a group and its descendant projects.

gitlab_list_group_merge_requestsA

List merge requests for a group and its descendant projects.

gitlab_get_group_delivery_overviewB

Aggregate a group-level delivery overview with sampled projects, open merge requests, and open issues through a single GraphQL query.

gitlab_list_protected_branchesB

List protected branch rules configured for a project.

gitlab_get_branch_protectionA

Retrieve a specific protected branch rule by exact branch name or wildcard.

gitlab_get_project_approval_configurationB

Retrieve project-level merge request approval configuration.

gitlab_get_project_approval_rulesC

List project-level merge request approval rules.

gitlab_get_merge_request_approval_rulesB

List the effective approval rules applied to a merge request.

gitlab_check_project_write_riskA

Assess whether a project’s branch protections and approval configuration make mutation workflows low-, medium-, or high-risk.

gitlab_summarize_project_statusA

Summarize current project health by combining project metadata, recent pipelines, open issues, and open merge requests.

gitlab_find_stale_merge_requestsB

Find open merge requests that have not been updated recently.

gitlab_find_blocked_merge_requestsB

Find open merge requests whose detailed_merge_status indicates a merge blocker.

gitlab_find_failed_pipelinesB

Find recent failed pipelines for a project.

gitlab_explain_failed_pipelineA

Summarize a failed pipeline by listing failed jobs and tailing their traces. Job output is treated as untrusted.

gitlab_review_merge_request_risksA

Assess merge request risk using merge status, diff volume, pipeline state, and changed-file heuristics.

gitlab_generate_release_notesA

Generate draft release notes from repository compare results between two refs. Repository text is treated as untrusted.

gitlab_summarize_commit_rangeA

Summarize what changed between two refs, highlight the most-affected directories, and flag risky repository surfaces.

gitlab_summarize_directoryA

Summarize a repository directory by sampling its tree structure, dominant file types, and likely entry files.

gitlab_release_readiness_checkB

Assess whether a project looks ready for release by combining pipeline, merge request, issue, and release comparison signals.

gitlab_flaky_ci_triageB

Assess whether recent CI failures look flaky by combining pipeline history, job oscillation, representative comparisons, and commit/MR context.

gitlab_stale_merge_request_cleanupA

Triage stale merge requests and recommend whether they should be merged, rebased, reassigned, commented on, or closed.

gitlab_team_delivery_digestB

Generate a concise project or group delivery digest with health signals, notable blockers, and a chat-ready summary.

gitlab_portfolio_delivery_overviewA

Summarize delivery health across a group or an explicit set of projects and highlight the top risk hotspots.

gitlab_summarize_recent_activityB

Summarize recent events, issues, merge requests, and pipelines for a project.

gitlab_find_unassigned_issuesA

Find opened issues in a project with no assignee.

gitlab_find_security_related_issuesB

Find potentially security-related issues using simple keyword search heuristics over titles and descriptions.

gitlab_trace_issue_to_merge_requestsA

List merge requests that close a specific issue when merged.

gitlab_trace_merge_request_to_pipeline_failuresB

Trace a merge request to its recent pipelines and failed jobs, including short trace tails for failed jobs.

Prompts

Interactive templates invoked by user choice

NameDescription
gitlab_review_merge_request_workflowGuide the model through an objective GitLab merge request review using the MCP's existing review, diff, discussion, approval, and pipeline tools.
gitlab_explain_failed_pipeline_workflowGuide the model through failed-pipeline triage using pipeline, job, flaky-job, and MR-tracing tools.
gitlab_summarize_project_status_workflowGuide the model through an objective current-state project summary using dashboard, recent activity, MR, issue, and pipeline tools.
gitlab_generate_weekly_delivery_summary_workflowGuide the model through a weekly delivery summary for either a project or a group using the MCP's aggregate and activity tools.
gitlab_assess_project_write_safety_workflowGuide the model through a safety-first assessment of whether AI-assisted writes are appropriate for a GitLab project.
gitlab_stale_merge_request_cleanup_workflowGuide the model through reviewing stale merge requests so a team can close, reassign, rebase, or unblock them.
gitlab_flaky_ci_triage_workflowGuide the model through identifying unstable CI jobs and separating flaky failures from deterministic breakages.
gitlab_release_readiness_check_workflowGuide the model through assessing whether a project looks ready for release based on merge request, issue, pipeline, and release-note signals.
gitlab_team_delivery_digest_workflowGuide the model through generating a concise team delivery digest for a project or group that is ready to paste into chat or status updates.
gitlab_portfolio_delivery_overview_workflowGuide the model through assessing cross-project delivery health for a GitLab group and identifying the top delivery risk hotspots.
gitlab_summarize_commit_range_workflowGuide the model through understanding what changed between two refs and which repository areas or operational surfaces deserve extra review.
gitlab_summarize_directory_workflowGuide the model through understanding what a repository directory contains, which files matter most, and what kind of area it appears to be.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DevquasarX9/mcp-gitlab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server