Skip to main content
Glama
ttpears

GitLab MCP Server

by ttpears

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GITLAB_URLNoGitLab instance URLhttps://gitlab.com
GITLAB_TIMEOUTNoRequest timeout in milliseconds30000
GITLAB_AUTH_MODENoAuthentication mode (hybrid, per-user, or shared)hybrid
GITLAB_MAX_PAGE_SIZENoMaximum items per page (1-100)50
GITLAB_SHARED_ACCESS_TOKENNoShared token for read operations (optional in hybrid mode)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_project

Get detailed information about a specific GitLab project (read-only)

get_issues

Get issues from a specific GitLab project (read-only)

get_merge_requests

Get merge requests from a specific GitLab project (read-only)

execute_custom_query

Execute custom GraphQL queries for complex filtering (e.g., issues with assigneeUsernames: ["user"], labelName: ["bug"]). Use this for structured filtering by assignee/author/labels when search tools return 0 results. Use pagination and limit complexity to avoid timeouts.

get_available_queries

Get list of available GraphQL queries and mutations from the GitLab schema

get_merge_request_pipelines

Get CI/CD pipelines for a merge request, including status, duration, and stages

get_pipeline_jobs

Get jobs for a specific pipeline, including status, stage, duration, and retry/cancel info

get_merge_request_diffs

Get diff statistics for a merge request, including per-file additions/deletions and diff refs

get_merge_request_commits

Get commits for a merge request (excluding merge commits), with commit count and details

get_notes

Get notes (comments) on an issue or merge request, including system notes and inline MR comments

list_milestones

List milestones for a project or group with progress statistics (total/closed issue counts)

list_iterations

List iterations (sprints) for a group with cadence info. Requires GitLab Premium/Ultimate.

get_time_tracking

Get time tracking data (estimate, spent, timelogs) for an issue or merge request

get_merge_request_reviewers

Get approval and reviewer status for a merge request, including who approved and review states

get_project_statistics

Get aggregate project statistics: open issues/MRs, star/fork counts, storage sizes, commit count, last pipeline status, release count, and language breakdown

get_current_user

Get information about the current authenticated GitLab user

get_projects

List projects accessible to the user (requires authentication to see private projects)

create_issue

Create a new issue in a GitLab project (requires user authentication with write permissions)

create_merge_request

Create a new merge request in a GitLab project (requires user authentication with write permissions)

create_note

Add a comment/note to an issue or merge request (requires user authentication)

manage_pipeline

Retry or cancel a CI/CD pipeline (requires user authentication with write permissions)

update_issue

Update an issue (title, description, assignees, labels, due date) with schema-aware mutations

update_merge_request

Update a merge request (title, description, assignees, reviewers, labels) with schema-aware mutations

resolve_path

Resolve a GitLab path to either a project or group and list group projects when applicable

get_group_projects

List projects inside a GitLab group (optionally filter by search term)

get_type_fields

List available fields on a GraphQL type using introspected schema (requires schema to be introspected)

search_gitlab

Text search across GitLab projects and issues (Note: Does not support filtering by assignee/labels - use search_issues for that. MRs cannot be searched globally - use search_merge_requests with username)

search_projects

Search for GitLab projects by name or description

search_issues

Search for issues with text search and/or structured filtering (assignee, author, labels, state). For filtering by assignee/author/labels without text search, leave searchTerm empty.

search_merge_requests

Search merge requests by username (supports "username", "author:username", "assignee:username") or search within a specific project. Note: GitLab does not support global text search for MRs - use projectPath for text searches.

get_user_issues

Get all issues assigned to a specific user - uses proper GraphQL filtering for reliable results

get_user_merge_requests

Get merge requests for a specific user (as author or assignee) - uses proper GraphQL filtering

search_users

Search for GitLab users by username or name - useful for finding team members or contributors

search_groups

Search for GitLab groups and organizations

search_labels

Search for labels in a project or group, with optional text filtering

browse_repository

Browse repository files and folders - essential for exploring codebase structure

get_file_content

Get the content of a specific file from a GitLab repository - crucial for code analysis

list_group_members

List group members with access levels, optionally filtered by search term

Prompts

Interactive templates invoked by user choice

NameDescription
explore-projectExplore a GitLab project structure and recent activity
find-my-workFind issues and merge requests assigned to you
review-merge-requestReview a specific merge request with code changes

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

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