Skip to main content
Glama
Alosies

GitLab MCP Server

by Alosies

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NPM_CONFIG_TOKENYesYour GitLab personal access token used to authenticate with the GitLab API. Required with scopes: api, read_user, read_repository

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
logging
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_projectsA

List GitLab projects with minimal info by default (to reduce token usage from 40k+ to much less). Use simple=false for full project details when needed.

get_projectC

Get details of a specific project

upload_project_fileA

Upload a file to a GitLab project. Returns a markdown string and URL that can be embedded in MR comments, issue descriptions, etc.

list_project_uploadsB

List files that have been uploaded to a project

list_project_labelsA

List all labels available in a project. Useful for discovering valid label names before adding them to issues or merge requests.

list_issuesC

List issues in a project

get_issueB

Get details of a specific issue

create_issueC

Create a new issue

list_merge_requestsC

List merge requests in a project

get_merge_requestA

Get details of a merge request. Either merge_request_iid or source_branch must be provided.

get_merge_request_diffsB

Get the changes/diffs of a merge request. Either merge_request_iid or source_branch must be provided.

list_merge_request_diffsA

List merge request diffs with pagination support. Either merge_request_iid or source_branch must be provided.

get_branch_diffsB

Get the changes/diffs between two branches or commits in a GitLab project

create_merge_requestC

Create a new merge request

update_merge_requestA

Update an existing merge request. Either merge_request_iid or source_branch must be provided.

list_mr_notesA

List all notes (comments) on a merge request

list_mr_discussionsA

List discussions (threaded comments including inline code comments) on a merge request. Use unresolved_only=true to fetch only unresolved discussions (saves tokens).

create_mr_noteA

Add a new top-level comment to a merge request. Supports embedding images/files via attachments parameter.

create_mr_discussionA

Create a new discussion on a merge request. Can be a general discussion or an inline comment on the diff. Supports embedding images/files via attachments parameter.

reply_to_mr_discussionB

Reply to an existing discussion thread on a merge request

resolve_mr_discussionB

Mark a discussion on a merge request as resolved

unresolve_mr_discussionA

Mark a discussion on a merge request as unresolved

update_mr_discussion_noteB

Modify an existing merge request discussion note

create_mr_discussion_noteB

Add a new note to an existing merge request discussion thread

delete_mr_discussion_noteC

Delete a note from a merge request discussion

mark_mr_as_draftA

Mark a merge request as draft (work in progress, not ready for review)

mark_mr_as_readyA

Mark a merge request as ready (remove draft status, ready for review)

list_mr_templatesA

List available merge request description templates in a project

get_mr_templateB

Get a specific merge request description template by name

delete_mr_noteA

Delete a top-level note (comment) from a merge request

update_mr_noteA

Update the content of an existing top-level note (comment) on a merge request. Supports embedding images/files via attachments parameter.

update_mr_labelsA

Add or remove labels from a merge request. More convenient than update_merge_request for label-only changes.

get_mr_approvalsA

Get the approval status of a merge request, including who has approved, how many approvals are needed, and approval rules.

approve_mrB

Approve a merge request. The authenticated user must have permission to approve.

unapprove_mrB

Remove your approval from a merge request.

list_project_branchesB

List branches in a project

get_project_commitsB

List repository commits with filtering options

get_commitB

Get details of a specific commit

get_commit_diffB

Get changes/diffs of a specific commit

list_pipelinesB

List pipelines in a project

get_pipelineB

Get details of a specific pipeline

create_pipelineD

Create a new pipeline

retry_pipelineB

Retry a failed pipeline

cancel_pipelineB

Cancel a running pipeline

delete_pipelineC

Delete a pipeline

get_pipeline_variablesB

Get variables of a pipeline

list_pipeline_jobsB

List jobs in a pipeline

get_job_logsB

Get the log (trace) file of a specific job

get_job_traceB

Get job trace with options for partial logs, tail mode, and line limits

get_userA

Get current user information

Prompts

Interactive templates invoked by user choice

NameDescription
review-mrReview a merge request with full context including diffs, discussions, and approval status. Provides a structured analysis template.
analyze-pipeline-failureAnalyze a failed pipeline by examining job logs and identifying the root cause of failure.
summarize-mr-changesGenerate a summary of all changes in a merge request, suitable for release notes or team updates.
check-mr-readinessCheck if a merge request is ready to be merged by verifying approvals, resolved discussions, and pipeline status.
generate-release-notesGenerate release notes from merged merge requests in a project since a given date or tag.

Resources

Contextual data attached and managed by the client

NameDescription
Current UserThe currently authenticated GitLab user

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/Alosies/gitlab-mcp-server'

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