CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
structured-world avatar

Advanced GitLab MCP server

structured-world/gitlab-mcp
454 toolsauthSTDIOregistry active
Summary

Connects Claude to GitLab with 44 tools spanning projects, merge requests, pipelines, CI/CD variables, wiki pages, milestones, iterations, and webhooks. Built on a CQRS pattern where browse_* tools handle queries and manage_* tools execute changes. Handles connection failures gracefully with bounded startup, auto-reconnect with exponential backoff, and a disconnected mode that keeps diagnostics available when GitLab is unreachable. Supports multi-instance setups with per-URL OAuth, read-only mode for production safety, and stdio/SSE/HTTP transports. Granular feature flags let you disable tool groups you don't need. Useful when you want GitLab operations directly in your Claude workflow without switching to the web UI, especially for teams managing multiple self-hosted instances or needing resilient connections to flaky on-prem deployments.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

Tools

Public tool metadata for what this MCP can expose to an agent.

54 tools
GITLAB_ARCHIVE_PROJECTTool to archive a project. Use when you need to mark a project read-only after finishing active development. Call after confirming no further changes are required.1 params

Tool to archive a project. Use when you need to mark a project read-only after finishing active development. Call after confirming no further changes are required.

Parameters* required
idinteger
The ID or URL-encoded path of the project to archive.
GITLAB_CREATE_GROUPTool to create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.26 params

Tool to create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.

Parameters* required
auto_devops_enabledboolean
Default to Auto DevOps pipeline for all projects within this group.
avatarstring
Image file for avatar of the group.
default_branchstring
The default branch name for group’s projects.
default_branch_protection_defaultsobject
Options for default_branch_protection_defaults. E.g. {"allowed_to_push": [{"access_level":40}], "allow_force_push": False, "allowed_to_merge": [{"access_level":40}], "developer_can_initial_push": F...
descriptionstring
The group’s description.
duo_availabilitystring
Duo availability setting. Note: In the UI, never_on is displayed as "Always Off".one of default_on · default_off · never_on
emails_enabledboolean
Enable email notifications.
enabled_git_access_protocolstring
Enabled protocols for Git access.one of ssh · http · all
experiment_features_enabledboolean
Enable experiment features for this group.
extra_shared_runners_minutes_limitinteger
Can be set by administrators only. Additional compute minutes for this group. GitLab Self-Managed, Premium and Ultimate only.
lfs_enabledboolean
Enable/disable Large File Storage (LFS) for the projects in this group.
membership_lockboolean
Users cannot be added to projects in this group. Premium and Ultimate only.
mentions_disabledboolean
Disable the capability of a group from getting mentioned.
namestring
The name of the group.
organization_idinteger
The organization ID for the group.
parent_idinteger
The parent group ID for creating nested group.
pathstring
The path of the group.
project_creation_levelstring
Determine if developers can create projects in the group.one of administrator · noone · maintainer · developer
request_access_enabledboolean
Allow users to request member access.
require_two_factor_authenticationboolean
Require all users in this group to set up two-factor authentication.

+6 more parameters. See the server's own documentation for the full schema.

GITLAB_CREATE_PROJECTTool to create a new project in GitLab. Implements POST /projects endpoint.12 params

Tool to create a new project in GitLab. Implements POST /projects endpoint.

Parameters* required
build_git_strategystring
Git strategy for builds.
container_registry_enabledboolean
Enable container registry.
default_branchstring
The default branch name.
descriptionstring
Project description.
issues_enabledboolean
Enable issues feature.
merge_requests_enabledboolean
Enable merge requests feature.
namestring
The name of the project.
namespace_idinteger
The namespace (group or user ID) under which to create the project.
pathstring
The path or URL-friendly name for the project.
snippets_enabledboolean
Enable snippets feature.
visibilitystring
Project visibility.one of private · internal · public
wiki_enabledboolean
Enable wiki feature.
GITLAB_CREATE_PROJECT_ISSUETool to create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.17 params

Tool to create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.

Parameters* required
assignee_idinteger
The ID of the user to assign the issue to. Only appears on GitLab Free.
assignee_idsarray
The IDs of the users to assign the issue to. Premium and Ultimate only.
confidentialboolean
Set an issue to be confidential. Default is false.default: false
created_atstring
When the issue was created. Date time string, ISO 8601 formatted, for example `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights.
descriptionstring
The description of an issue. Limited to 1,048,576 characters.
discussion_to_resolvestring
The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with `merge_request_to_resolve_discussions_of`.
due_datestring
The due date. Date time string in the format `YYYY-MM-DD`, for example `2016-03-11`.
epic_idinteger
ID of the epic to add the issue to. Valid values are greater than or equal to 0. Premium and Ultimate only.
epic_iidinteger
IID of the epic to add the issue to. Valid values are greater than or equal to 0. (deprecated, scheduled for removal in API version 5). Premium and Ultimate only.
idstring
The global ID or URL-encoded path of the project.
iidinteger
The internal ID of the project’s issue (requires administrator or project owner rights).
issue_typestring
The type of issue. One of `issue`, `incident`, `test_case` or `task`. Default is `issue`.one of issue · incident · test_case · taskdefault: issue
labelsstring
Comma-separated label names to assign to the new issue. If a label does not already exist, this creates a new project label and assigns it to the issue.
merge_request_to_resolve_discussions_ofinteger
The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these value...
milestone_idinteger
The global ID of a milestone to assign issue. To find the `milestone_id` associated with a milestone, view an issue with the milestone assigned and use the API to retrieve the issue’s details.
titlestring
The title of an issue.
weightinteger
The weight of the issue. Valid values are greater than or equal to 0. Premium and Ultimate only.
GITLAB_CREATE_REPOSITORY_BRANCHTool to create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.3 params

Tool to create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.

Parameters* required
branch_namestring
The name of the new branch.
project_idinteger
The ID or URL-encoded path of the project.
refstring
The branch name or commit SHA to create the new branch from.
GITLAB_DELETE_PROJECTTool to delete a GitLab project by its ID. Use when you need to remove a project, either by marking it for later deletion or deleting it immediately.3 params

Tool to delete a GitLab project by its ID. Use when you need to remove a project, either by marking it for later deletion or deleting it immediately.

Parameters* required
full_pathstring
The full path of the project (e.g., namespace/project_name). Used with `permanently_remove=true` for immediate deletion. Available in GitLab Free from 18.0 (previously Premium/Ultimate only since 1...
idinteger
The ID or URL-encoded path of the project to be deleted.
permanently_removeboolean
If true, the project is deleted immediately. Otherwise, it is marked for deletion and removed after a retention period. Available in GitLab Free from 18.0 (previously Premium/Ultimate only since 15...
GITLAB_DOWNLOAD_PROJECT_AVATARTool to download a project’s avatar image. Use when you need the raw avatar bytes after confirming the project exists.1 params

Tool to download a project’s avatar image. Use when you need the raw avatar bytes after confirming the project exists.

Parameters* required
idstring
The ID or URL-encoded path of the project whose avatar to download.
GITLAB_ERASE_JOBTool to erase the content of a specified job within a project. Use when you need to remove job artifacts and logs.2 params

Tool to erase the content of a specified job within a project. Use when you need to remove job artifacts and logs.

Parameters* required
job_idinteger
The ID of the job to be erased.
project_idinteger
The ID or URL-encoded path of the project.
GITLAB_GET_COMMIT_REFSTool to get all references (branches or tags) a commit is pushed to. Use when you need to find out which branches or tags a specific commit belongs to in a GitLab project.3 params

Tool to get all references (branches or tags) a commit is pushed to. Use when you need to find out which branches or tags a specific commit belongs to in a GitLab project.

Parameters* required
project_idinteger
The ID or URL-encoded path of the project.
ref_typestring
The scope of commits to list. Possible values are `branch`, `tag`, or `all`.one of branch · tag · alldefault: all
shastring
The commit hash.
GITLAB_GET_COMMIT_SEQUENCETool to get the sequence number of a commit in a project by following parent links from the given commit. Use when you need to determine the order of a commit in the project's history.3 params

Tool to get the sequence number of a commit in a project by following parent links from the given commit. Use when you need to determine the order of a commit in the project's history.

Parameters* required
first_parentboolean
Follow only the first parent commit upon seeing a merge commit.
project_idinteger
The ID or URL-encoded path of the project.
shastring
The commit hash.
GITLAB_GET_GROUPTool to retrieve information about a specific group by its ID. Use when you need to get details of a GitLab group.3 params

Tool to retrieve information about a specific group by its ID. Use when you need to get details of a GitLab group.

Parameters* required
idinteger
The ID or URL-encoded path of the group.
with_custom_attributesboolean
Include custom attributes in response (administrators only).
with_projectsboolean
Include details from projects that belong to the specified group (defaults to true). Deprecated, scheduled for removal in API v5.default: true
GITLAB_GET_GROUP_MEMBERTool to retrieve details for a specific group member. Use when you need to fetch membership information for a user in a group after you know both group ID and user ID.2 params

Tool to retrieve details for a specific group member. Use when you need to fetch membership information for a user in a group after you know both group ID and user ID.

Parameters* required
idinteger
The ID or URL-encoded path of the group.
user_idinteger
The user ID of the group member to retrieve.
GITLAB_GET_GROUPSGet Groups13 params

Get Groups

Parameters* required
all_availableboolean
Include all groups the user has access to (admin only).
min_access_levelinteger
Limit to groups with minimum access level.
order_bystring
Return groups ordered by this field.one of id · name · path · created_at · updated_at
ownedboolean
Limit to groups owned by the current user.
pageinteger
Page number for pagination.
per_pageinteger
Number of results per page.
searchstring
Search for groups by name or path.
skip_groups[]array
List of group IDs to exclude.
sortstring
Return groups sorted in 'asc' or 'desc' order.one of asc · desc
statisticsboolean
Include group statistics (admin only).
with_custom_attributesboolean
Include custom attributes in response (admins only).
with_projectsboolean
Include project details in response (deprecated).
with_two_factorboolean
Include groups requiring two-factor authentication.
GITLAB_GET_JOB_DETAILSTool to retrieve details of a single job by its ID within a specified project. Use this when you need to fetch specific information about a particular CI/CD job.2 params

Tool to retrieve details of a single job by its ID within a specified project. Use this when you need to fetch specific information about a particular CI/CD job.

Parameters* required
job_idinteger
The ID of the job.
project_idinteger
The ID or URL-encoded path of the project.
GITLAB_GET_MERGE_REQUEST_NOTESTool to fetch comments on a merge request. Use when you need to retrieve all notes for a specific merge request.4 params

Tool to fetch comments on a merge request. Use when you need to retrieve all notes for a specific merge request.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
merge_request_iidinteger
Internal ID of the merge request.
pageinteger
Page number to retrieve.
per_pageinteger
Number of notes per page (max 100).
GITLAB_GET_PROJECTTool to get a single project by ID or URL-encoded path.1 params

Tool to get a single project by ID or URL-encoded path.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
GITLAB_GET_PROJECT_LANGUAGESTool to list programming languages used in a project with percentages. Use when you need the project language breakdown.1 params

Tool to list programming languages used in a project with percentages. Use when you need the project language breakdown.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
GITLAB_GET_PROJECT_MEMBERTool to retrieve details for a specific project member. Use after confirming project and user IDs to fetch membership information for a project member.2 params

Tool to retrieve details for a specific project member. Use after confirming project and user IDs to fetch membership information for a project member.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
user_idinteger
The user ID of the project member to retrieve.
GITLAB_GET_PROJECT_MEMBER_ALLTool to retrieve details for a specific project member (including inherited and invited members). Use when you need the effective membership info (including invitations and inheritance).2 params

Tool to retrieve details for a specific project member (including inherited and invited members). Use when you need the effective membership info (including invitations and inheritance).

Parameters* required
idinteger
The ID or URL-encoded path of the project.
user_idinteger
The user ID of the project member.
GITLAB_GET_PROJECT_MERGE_REQUEST_COMMITSTool to get commits of a merge request. Use when you need to retrieve all commits associated with a specific merge request.2 params

Tool to get commits of a merge request. Use when you need to retrieve all commits associated with a specific merge request.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
merge_request_iidinteger
Internal ID of the merge request.
GITLAB_GET_PROJECT_MERGE_REQUESTSTool to retrieve a list of merge requests for a specific project. Use when you need to get all merge requests associated with a project, with options to filter by state, labels, milestones, and other attributes.36 params

Tool to retrieve a list of merge requests for a specific project. Use when you need to get all merge requests associated with a project, with options to filter by state, labels, milestones, and other attributes.

Parameters* required
approvedstring
Filters merge requests by their approved status. yes returns only approved merge requests. no returns only non-approved merge requests. Requires the mr_approved_filter feature flag, disabled by def...
approved_by_idsarray
Returns merge requests approved by all the users with the given id, up to 5 users. None returns merge requests with no approvals. Any returns merge requests with an approval. Premium and Ultimate o...
approver_idsarray
Returns merge requests which have specified all the users with the given id as individual approvers. None returns merge requests without approvers. Any returns merge requests with an approver. Prem...
assignee_idinteger
Returns merge requests assigned to the given user id. None returns unassigned merge requests. Any returns merge requests with an assignee.
author_idinteger
Returns merge requests created by the given user id. Mutually exclusive with author_username. Combine with scope=all or scope=assigned_to_me.
author_usernamestring
Returns merge requests created by the given username. Mutually exclusive with author_id.
created_afterstring
Returns merge requests created on or after the given time. Expected in ISO 8601 format (2019-03-15T08:00:00Z).
created_beforestring
Returns merge requests created on or before the given time. Expected in ISO 8601 format (2019-03-15T08:00:00Z).
deployed_afterstring
Returns merge requests deployed after the given date/time. Expected in ISO 8601 format (2019-03-15T08:00:00Z).
deployed_beforestring
Returns merge requests deployed before the given date/time. Expected in ISO 8601 format (2019-03-15T08:00:00Z).
environmentstring
Returns merge requests deployed to the given environment.
idinteger
The ID or URL-encoded path of the project.
iids[]array
Returns the request having the given iid.
labelsstring
Returns merge requests matching a comma-separated list of labels. None lists all merge requests with no labels. Any lists all merge requests with at least one label. Predefined names are case-insen...
merge_user_idinteger
Returns the merge requests merged by the user with the given user id. Mutually exclusive with merge_user_username. Introduced in GitLab 17.0.
merge_user_usernamestring
Returns the merge requests merged by the user with the given username. Mutually exclusive with merge_user_id. Introduced in GitLab 17.0.
milestonestring
Returns merge requests for a specific milestone. None returns merge requests with no milestone. Any returns merge requests that have an assigned milestone.
my_reaction_emojistring
Returns merge requests reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction.
not_filterobject
Returns merge requests that do not match the parameters supplied. Accepts: labels, milestone, author_id, author_username, assignee_id, assignee_username, reviewer_id, reviewer_username, my_reaction...
order_bystring
Returns requests ordered by created_at, title, merged_at, or updated_at fields. Default is created_at.

+16 more parameters. See the server's own documentation for the full schema.

GITLAB_GET_PROJECTSTool to list all projects accessible to the authenticated user. Supports filtering.19 params

Tool to list all projects accessible to the authenticated user. Supports filtering.

Parameters* required
archivedboolean
Limit by archived status.
id_afterinteger
Limit results to projects with IDs greater than the specified ID.
id_beforeinteger
Limit results to projects with IDs less than the specified ID.
membershipboolean
Limit by projects that the current user is a member of.
min_access_levelinteger
Limit by current user minimal role (access_level).
order_bystring
Return projects ordered by this field. Default is 'created_at'.one of id · name · path · created_at · updated_at · star_count
ownedboolean
Limit by projects explicitly owned by the current user.
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page (1-100).
searchstring
Return list of projects matching search criteria (case-insensitive substring).
simpleboolean
Return only limited fields for each project.
sortstring
Return projects sorted in 'asc' or 'desc' order. Default is 'desc'.one of asc · desc
starredboolean
Limit by projects starred by the current user.
statisticsboolean
Include project statistics. Available to Reporter role and above.
visibilitystring
Limit by project visibility.one of private · internal · public
with_custom_attributesboolean
Include custom attributes in response (admin only).
with_issues_enabledboolean
Limit by enabled issues feature.
with_merge_requests_enabledboolean
Limit by enabled merge requests feature.
with_programming_languagestring
Limit by projects which use the given programming language.
GITLAB_GET_PROJECTS_ID_MERGE_REQUESTS_IID_DIFFSTool to list all diff versions of a merge request. Use when you need to inspect changes across different diff versions after creating or updating a merge request.2 params

Tool to list all diff versions of a merge request. Use when you need to inspect changes across different diff versions after creating or updating a merge request.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
merge_request_iidinteger
The internal ID of the merge request.
GITLAB_GET_REPOSITORY_BRANCHTool to retrieve information about a specific branch in a project. Use when you need to get details for a single branch.2 params

Tool to retrieve information about a specific branch in a project. Use when you need to get details for a single branch.

Parameters* required
branch_namestring
The URL-encoded name of the branch.
project_idinteger
The ID or URL-encoded path of the project.
GITLAB_GET_REPOSITORY_BRANCHESRetrieves a list of repository branches for a project. Use this when you need to get all branches or search for specific branches within a GitLab project.3 params

Retrieves a list of repository branches for a project. Use this when you need to get all branches or search for specific branches within a GitLab project.

Parameters* required
project_idinteger
The ID or URL-encoded path of the project.
regexstring
Return list of branches with names matching a re2 regular expression.
searchstring
Return list of branches containing the search string. Use `^term` to find branches that begin with `term`, and `term$` to find branches that end with `term`.
GITLAB_GET_SINGLE_COMMITTool to get a specific commit identified by the commit hash or name of a branch or tag. Use this when you need to retrieve detailed information about a single commit in a GitLab project repository.3 params

Tool to get a specific commit identified by the commit hash or name of a branch or tag. Use this when you need to retrieve detailed information about a single commit in a GitLab project repository.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
shastring
The commit hash or name of a repository branch or tag.
statsboolean
Include commit stats. Default is true.default: true
GITLAB_GET_SINGLE_PIPELINETool to retrieve details of a single pipeline by its ID within a specified project. Use when you need to get information about a specific CI/CD pipeline.2 params

Tool to retrieve details of a single pipeline by its ID within a specified project. Use when you need to get information about a specific CI/CD pipeline.

Parameters* required
pipeline_idinteger
The ID of the pipeline.
project_idinteger
The ID or URL-encoded path of the project.
GITLAB_GET_USERTool to retrieve information about a specific user by their ID. Use when you need to fetch details for a single GitLab user.1 params

Tool to retrieve information about a specific user by their ID. Use when you need to fetch details for a single GitLab user.

Parameters* required
idinteger
The ID of the user.
GITLAB_GET_USER_PREFERENCESTool to get the current user's preferences. Use when you need to retrieve the user's diff display and CI identity JWT settings after authentication.

Tool to get the current user's preferences. Use when you need to retrieve the user's diff display and CI identity JWT settings after authentication.

No parameter schema in public metadata yet.

GITLAB_GET_USERSTool to retrieve a list of users from GitLab. Use this when you need to find user information, search for specific users, or filter users based on various criteria like activity status or creation date.24 params

Tool to retrieve a list of users from GitLab. Use this when you need to find user information, search for specific users, or filter users based on various criteria like activity status or creation date.

Parameters* required
activeboolean
Filters only active users. Default is false.
adminsboolean
Return only administrators. Default is false. (Admin only)
auditorsboolean
Return only auditor users. Default is false. If not included, it returns all users. (Admin only, Premium and Ultimate only)
blockedboolean
Filters only blocked users. Default is false.
created_afterstring
Return users created after specified time (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ).
created_beforestring
Return users created before specified time (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ).
exclude_activeboolean
Filters only non active users. Default is false.
exclude_externalboolean
Filters only non external users. Default is false.
exclude_humansboolean
Filters only bot or internal users. Default is false.
exclude_internalboolean
Filters only non internal users. Default is false.
extern_uidstring
Get a single user with a specific external authentication provider UID. (Admin only)
externalboolean
Filters only external users. Default is false.
humansboolean
Filters only regular users that are not bot or internal users. Default is false.
order_bystring
Return users ordered by 'id', 'name', 'username', 'created_at', or 'updated_at' fields. Default is 'id'. (Admin only)one of id · name · username · created_at · updated_at
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page for pagination.
providerstring
The external provider. (Admin only)
searchstring
Search for users by name, username, or public email.
skip_ldapboolean
Skip LDAP users. (Admin only, Premium and Ultimate only)
sortstring
Return users sorted in 'asc' or 'desc' order. Default is 'desc'. (Admin only)one of asc · desc

+4 more parameters. See the server's own documentation for the full schema.

GITLAB_GET_USERS_ID_STATUSTool to get a user's status by ID. Use when you need to retrieve a GitLab user's current status message, emoji, and availability after identifying their user ID.1 params

Tool to get a user's status by ID. Use when you need to retrieve a GitLab user's current status message, emoji, and availability after identifying their user ID.

Parameters* required
user_idinteger
The numeric ID of the GitLab user whose status you want to retrieve.
GITLAB_GET_USER_STATUSTool to get the current user's status. Use when displaying or verifying the authenticated user's GitLab status after login.

Tool to get the current user's status. Use when displaying or verifying the authenticated user's GitLab status after login.

No parameter schema in public metadata yet.

GITLAB_GET_USER_SUPPORT_PINTool to get details of the current user's Support PIN. Use when you need to retrieve the active support PIN and its expiration for the authenticated user.

Tool to get details of the current user's Support PIN. Use when you need to retrieve the active support PIN and its expiration for the authenticated user.

No parameter schema in public metadata yet.

GITLAB_IMPORT_PROJECT_MEMBERSTool to import members from one project to another. Use when migrating members between projects.2 params

Tool to import members from one project to another. Use when migrating members between projects.

Parameters* required
idstring
ID or URL-encoded path of the target project to receive members.
project_idstring
ID or URL-encoded path of the source project to import members from.
GITLAB_LIST_ALL_GROUP_MEMBERSTool to list all members of a group including direct, inherited, and invited members. Use when you need a comprehensive membership list beyond direct members.3 params

Tool to list all members of a group including direct, inherited, and invited members. Use when you need a comprehensive membership list beyond direct members.

Parameters* required
idinteger
The ID or URL-encoded path of the group.
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page for pagination.
GITLAB_LIST_ALL_PROJECT_MEMBERSTool to list all members of a project (direct, inherited, invited). Use when you need the effective membership list including inherited and invited members.7 params

Tool to list all members of a project (direct, inherited, invited). Use when you need the effective membership list including inherited and invited members.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page for pagination.
querystring
Filters results based on a given name, email, or username. Use partial values to widen the scope of the query.
show_seat_infoboolean
Show seat information for users.
statestring
Filter results by member state, one of 'awaiting' or 'active'. Premium and Ultimate only.one of awaiting · active
user_idsarray
Filter the results on the given user IDs.
GITLAB_LIST_BILLABLE_GROUP_MEMBERSTool to list billable members of a top-level group (including its subgroups and projects). Use when generating billing reports; requires Owner role on the group.5 params

Tool to list billable members of a top-level group (including its subgroups and projects). Use when generating billing reports; requires Owner role on the group.

Parameters* required
idinteger
The ID or URL-encoded path of the top-level group. Only top-level groups are supported.
pageinteger
Page number for pagination (must be ≥ 1).
per_pageinteger
Number of items per page for pagination (must be ≥ 1).
searchstring
Search string to filter members by name, username, or public email.
sortstring
Sort order for results. Supported values: access_level_asc|access_level_desc|last_joined|name_asc|name_desc|oldest_joined|oldest_sign_in|recent_sign_in|last_activity_on_asc|last_activity_on_desc.one of access_level_asc · access_level_desc · last_joined · name_asc · name_desc · oldest_joined
GITLAB_LIST_GROUP_MEMBERSTool to list direct members of a group. Use when you need to retrieve or filter a group's direct membership.10 params

Tool to list direct members of a group. Use when you need to retrieve or filter a group's direct membership.

Parameters* required
activeboolean
When true, return only active users.
idinteger
The ID or URL-encoded path of the group.
include_inheritedboolean
Include members inherited from ancestor groups when true.
pageinteger
Page number for pagination.
per_pageinteger
Number of results per page (1–100).
querystring
Filter members by name, username, or email substring.
relationsarray
Membership relation types to include: direct, descendants, inherited, or shared.
skip_usersarray
List of user IDs to exclude from the results.
sortstring
Order results by access level, ascending or descending.one of access_level_asc · access_level_desc
two_factorstring
Filter users by two-factor authentication status.one of enabled · disabled
GITLAB_LIST_PENDING_GROUP_MEMBERSTool to list pending members of a group and its subgroups and projects. Use when you need to review users awaiting approval or invited without an account. Call after confirming the top-level group ID.3 params

Tool to list pending members of a group and its subgroups and projects. Use when you need to review users awaiting approval or invited without an account. Call after confirming the top-level group ID.

Parameters* required
idinteger
The ID or URL-encoded path of the top-level group.
pageinteger
Page number for pagination (1-based index).
per_pageinteger
Number of items per page for pagination (max 100).
GITLAB_LIST_PIPELINE_JOBSTool to retrieve a list of jobs for a specified pipeline within a project. Use this when you need to inspect the status or details of jobs associated with a particular CI/CD pipeline.4 params

Tool to retrieve a list of jobs for a specified pipeline within a project. Use this when you need to inspect the status or details of jobs associated with a particular CI/CD pipeline.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
include_retriedboolean
Include retried jobs in the response. Defaults to false.default: false
pipeline_idinteger
The ID of the pipeline.
scopestring
The scope of jobs to show. Can be a single status or a list of statuses. If not provided, all jobs are returned.one of canceled · canceling · created · failed · manual · pending
GITLAB_LIST_PROJECT_GROUPSTool to list ancestor groups of a project. Use when you need to retrieve all groups a project belongs to or is shared with.8 params

Tool to list ancestor groups of a project. Use when you need to retrieve all groups a project belongs to or is shared with.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
pageinteger
Page number of the results to retrieve.
per_pageinteger
Number of items to return per page.
searchstring
Search for specific groups by name.
shared_min_access_levelinteger
Limit to shared groups with at least this access level.
shared_visible_onlyboolean
Limit to shared groups user has access to.
skip_groupsarray
Skip the group IDs passed.
with_sharedboolean
Include projects shared with this group. Default is false.
GITLAB_LIST_PROJECT_INVITED_GROUPSTool to list groups invited to a project. Use when auditing which groups have access to a project.3 params

Tool to list groups invited to a project. Use when auditing which groups have access to a project.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
pageinteger
Page number for pagination.
per_pageinteger
Number of items to return per page.
GITLAB_LIST_PROJECT_PIPELINESTool to retrieve a list of pipelines for a specified project. Use when you need to get information about CI/CD pipelines, such as their status, source, or creation/update times.17 params

Tool to retrieve a list of pipelines for a specified project. Use when you need to get information about CI/CD pipelines, such as their status, source, or creation/update times.

Parameters* required
created_afterstring
Return pipelines created after the specified date (ISO 8601 format).
created_beforestring
Return pipelines created before the specified date (ISO 8601 format).
idinteger
The ID or URL-encoded path of the project.
namestring
Return pipelines with the specified name.
order_bystring
Order pipelines by 'id', 'status', 'ref', 'updated_at' or 'user_id'.one of id · status · ref · updated_at · user_iddefault: id
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page for pagination.
refstring
The ref of pipelines.
scopestring
The scope of pipelines, one of: 'running', 'pending', 'finished', 'branches', 'tags'.one of running · pending · finished · branches · tags
shastring
The SHA of pipelines.
sortstring
Sort pipelines in 'asc' or 'desc' order.one of asc · descdefault: desc
sourcestring
The pipeline source. To return child pipelines, set to 'parent_pipeline'.
statusstring
The status of pipelines.one of created · waiting_for_resource · preparing · pending · running · success
updated_afterstring
Return pipelines updated after the specified date (ISO 8601 format).
updated_beforestring
Return pipelines updated before the specified date (ISO 8601 format).
usernamestring
The username of the user who triggered pipelines.
yaml_errorsboolean
Returns pipelines with invalid configurations.
GITLAB_LIST_PROJECT_SHAREABLE_GROUPSTool to list groups that can be shared with a project. Use before sharing a project to fetch eligible groups.5 params

Tool to list groups that can be shared with a project. Use before sharing a project to fetch eligible groups.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page for pagination.
searchstring
Search term to filter groups by name or path.
skip_groupsarray
List of group IDs to exclude from the results.
GITLAB_LIST_PROJECT_TAGSTool to retrieve a list of repository tags for a specified project. Use when you need to get all tags associated with a project in GitLab.6 params

Tool to retrieve a list of repository tags for a specified project. Use when you need to get all tags associated with a project in GitLab.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
order_bystring
Return tags ordered by `name`, `updated`, or `version`. Default is `updated`.
pageinteger
Page number of the results to retrieve.
per_pageinteger
Number of items to return per page.
searchstring
Return a list of tags matching the search criteria. You can use `^term` and `term$` to find tags that begin and end with `term`.
sortstring
Return tags sorted in `asc` or `desc` order. Default is `desc`.
GITLAB_LIST_PROJECT_TRANSFER_LOCATIONSTool to list namespaces available for project transfer. Use when you need to determine which groups a project can be transferred into.2 params

Tool to list namespaces available for project transfer. Use when you need to determine which groups a project can be transferred into.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
searchstring
The group names to search for.
GITLAB_LIST_PROJECT_USERSTool to list users of a project. Use after you have a project ID and want to retrieve its users.3 params

Tool to list users of a project. Use after you have a project ID and want to retrieve its users.

Parameters* required
idstring
The ID or URL-encoded path of the project.
searchstring
Filter users by name or username.
skip_usersarray
List of user IDs to exclude from the result.
GITLAB_LIST_REPOSITORY_COMMITSTool to get a list of repository commits in a project. Use when you need to retrieve commit history for a specific project, branch, or time range.11 params

Tool to get a list of repository commits in a project. Use when you need to retrieve commit history for a specific project, branch, or time range.

Parameters* required
allboolean
Retrieve every commit from the repository. When set to true, the ref_name parameter is ignored.
authorstring
Search commits by commit author.
first_parentboolean
Follow only the first parent commit upon seeing a merge commit.
orderstring
List commits in order. Possible values: default, topo. Defaults to default, the commits are shown in reverse chronological order.one of default · topo
pathstring
The file path to filter commits by.
project_idinteger
The ID or URL-encoded path of the project.
ref_namestring
The name of a repository branch, tag or revision range, or if not given the default branch.
sincestring
Only commits after or on this date are returned in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
trailersboolean
Parse and include Git trailers for every commit.
untilstring
Only commits before or on this date are returned in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
with_statsboolean
Stats about each commit are added to the response.
GITLAB_LIST_USER_PROJECTSTool to list projects owned by a specific user. Use after obtaining target user identity to fetch owned projects.22 params

Tool to list projects owned by a specific user. Use after obtaining target user identity to fetch owned projects.

Parameters* required
archivedboolean
Limit by archived status.
idinteger
The ID or username of the user whose projects to list.
id_afterinteger
Limit results to projects with IDs greater than the specified ID.
id_beforeinteger
Limit results to projects with IDs less than the specified ID.
membershipboolean
Limit by projects that the current user is a member of.
min_access_levelinteger
Limit by current user minimal role (access_level).
order_bystring
Return projects ordered by this field. Default is 'created_at'.one of id · name · path · created_at · updated_at · star_count
ownedboolean
Limit by projects explicitly owned by the specified user.
pageinteger
Page number for pagination.
per_pageinteger
Number of items per page (1-100).
searchstring
Return list of projects matching search criteria (case-insensitive substring).
simpleboolean
Return only limited fields for each project.
sortstring
Return projects sorted in asc or desc order. Default is 'desc'.one of asc · desc
starredboolean
Limit by projects starred by the specified user.
statisticsboolean
Include project statistics. Available to Reporter role and above.
updated_afterstring
Limit projects updated after given time (ISO 8601).
updated_beforestring
Limit projects updated before given time (ISO 8601).
visibilitystring
Limit by project visibility.one of private · internal · public
with_custom_attributesboolean
Include custom attributes in response (admin only).
with_issues_enabledboolean
Limit by enabled issues feature.

+2 more parameters. See the server's own documentation for the full schema.

GITLAB_POST_USER_SUPPORT_PINTool to create a support PIN for your authenticated user. Use when GitLab Support requests a PIN to verify your identity.

Tool to create a support PIN for your authenticated user. Use when GitLab Support requests a PIN to verify your identity.

No parameter schema in public metadata yet.

GITLAB_PUT_USER_PREFERENCESTool to update the current user's preferences. Use when adjusting default diff viewing and CI identity settings.3 params

Tool to update the current user's preferences. Use when adjusting default diff viewing and CI identity settings.

Parameters* required
pass_user_identities_to_ci_jwtboolean
Flag indicating the user passes their external identities as CI information. Internal use only; do not expose to third-party services.
show_whitespace_in_diffsboolean
Flag indicating the user sees whitespace changes in diffs.
view_diffs_file_by_fileboolean
Flag indicating the user sees only one file diff per page.
GITLAB_SET_USER_STATUSTool to set the current user's status. Use when you need to update availability or convey current mood on GitLab.3 params

Tool to set the current user's status. Use when you need to update availability or convey current mood on GitLab.

Parameters* required
clear_status_afterstring
Automatically clear status after the specified time interval. Allowed values: 30_minutes, 3_hours, 8_hours, 1_day, 3_days, 7_days, 30_days.one of 30_minutes · 3_hours · 8_hours · 1_day · 3_days · 7_days
emojistring
Name of the emoji to use as status. Defaults to 'speech_balloon' if omitted.
messagestring
Status message to display. Max 100 characters; can contain emoji codes.
GITLAB_SHARE_PROJECT_WITH_GROUPTool to share a project with a group. Use when you need to grant a group specific access level to a project.4 params

Tool to share a project with a group. Use when you need to grant a group specific access level to a project.

Parameters* required
expires_atstring
Expiration date for the group share in YYYY-MM-DD format (ISO 8601).
group_accessinteger
The access level to grant the group. One of GitLab's access levels, e.g., 30 for Developer, 40 for Maintainer.
group_idinteger
The ID of the group to share with.
idinteger
The ID or URL-encoded path of the project.
GITLAB_START_PROJECT_HOUSEKEEPINGTool to start the housekeeping task for a project. Use when you need to trigger manual maintenance or pruning on a repository.2 params

Tool to start the housekeeping task for a project. Use when you need to trigger manual maintenance or pruning on a repository.

Parameters* required
idinteger
The ID or URL-encoded path of the project.
taskstring
Type of housekeeping task to perform. `prune` triggers a manual prune of unreachable objects; `eager` triggers eager housekeeping.one of prune · eager

Advanced GitLab MCP server

npm version npm downloads License Release Coverage Coverage Report

Advanced GitLab MCP server — 58 CQRS tools exposing 230 GitLab operations across 26 entity types. The tool catalog and parameters are filtered to each instance's GitLab version, tier, and token scopes, so the agent sees only what the connected instance actually supports.

Install in Claude Desktop Install in VS Code Install in VS Code Insiders

Packages

This is a monorepo with two npm packages:

  • @structured-world/gitlab-mcp — the MCP server. In-memory and file OAuth-session storage, no database dependency. This is all most users need.
  • @structured-world/gitlab-mcp-db — optional PostgreSQL/Prisma OAuth-session backend for running multiple replicas behind a load balancer. Enable it with OAUTH_STORAGE_TYPE=postgresql; see the PostgreSQL deployment guide for the full setup.

Quick Start

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@structured-world/gitlab-mcp"],
      "env": {
        "GITLAB_TOKEN": "your_gitlab_token",
        "GITLAB_API_URL": "https://gitlab.com"
      }
    }
  }
}

Requirements: Node.js >= 24

Highlights

  • 58 tools across 26 entity types — projects, merge requests, pipelines, work items, wiki, and more
  • CQRS architecture — browse_* for queries, manage_* for commands
  • Connection resilience — Bounded startup, auto-reconnect with exponential backoff, disconnected mode when GitLab is unreachable
  • Multi-instance support — Connect to GitLab.com, self-managed, and self-hosted instances with per-instance OAuth and rate limiting
  • Multiple transports — stdio, SSE, StreamableHTTP
  • OAuth 2.1 — Per-user authentication via Claude Custom Connector
  • Read-only mode — Safe operation for production environments
  • Auto-discovery — Detects GitLab config from git remotes
  • Fine-grained control — Enable/disable tool groups, filter actions, customize descriptions
  • Docker support — ghcr.io/structured-world/gitlab-mcp:latest

Tool model

GitLab exposes hundreds of API operations. Giving each its own MCP tool floods an agent's context; a thin API wrapper pushes that complexity back onto the agent. This server takes a third path: 58 CQRS tools, each holding several typed actions, expose 230 operations across 26 entity types.

  • browse_* tools are read-only queries; manage_* tools are writes.
  • Sub-resources fold into actions rather than new tools — browse_pipelines covers pipelines, jobs, and logs in a single tool.
  • The tool list, actions, and parameters are resolved at schema-generation time against GitLab version, tier, token scopes, admin-mode, feature flags, and profiles.

Examples:

  • browse_pipelines — list, get, jobs, job, logs, triggers
  • manage_pipeline — create, retry, cancel
  • browse_environments — list, get, list_deployments
  • manage_environment — create, update, stop, delete, update_deployment_status
  • browse_deploy_keys / manage_deploy_key — list, get / add, enable, update, delete

Documentation

Full documentation is available at gitlab-mcp.sw.foundation

SectionDescription
Installationnpm, Docker, VS Code, Codex
ConfigurationEnvironment variables, feature flags
Multi-InstanceConnect to multiple GitLab instances
Tool ReferenceAll 58 tools with parameters
OAuth SetupTeam authentication with Claude
TLS/HTTPSProduction deployment with SSL
CustomizationTool descriptions, action filtering
CLI ToolsBrowse and export tool documentation

Auto-generated Tool Reference

For the complete tool reference with parameters:

# View locally
yarn list-tools --detail

# Generate documentation
yarn list-tools --export --toc > docs/tools/api-reference.md

See the Full API Reference for the auto-generated tool documentation.

Docker

# HTTP mode
docker run -e PORT=3002 -e GITLAB_TOKEN=your_token -p 3333:3002 \
  ghcr.io/structured-world/gitlab-mcp:latest

# stdio mode
docker run -i --rm -e GITLAB_TOKEN=your_token \
  ghcr.io/structured-world/gitlab-mcp:latest

Connection Resilience

The server handles GitLab connectivity issues gracefully:

  • Bounded startup — Server starts within GITLAB_INIT_TIMEOUT_MS (default 5s) regardless of GitLab availability
  • Disconnected mode — When GitLab is unreachable (disconnected/failed state), only the manage_context tool is exposed, with local actions such as whoami, switch_profile, and set_scope for diagnostics. During active reconnect (connecting state), the full tool list remains available so MCP clients don't lose their tool catalog during brief outages. MCP clients are notified of tool availability changes via tools/list_changed
  • Auto-reconnect — Exponential backoff reconnection (5s → 60s) with ±10% jitter
  • Error classification — Transient errors (network, 5xx, timeouts) trigger auto-reconnect. Auth/config errors at startup transition to failed state (no auto-reconnect). Mid-session token revocation is detected via an authenticated HEAD /api/v4/user check that runs alongside each periodic health check (static token mode only; skipped in OAuth mode). A 401 or 403 on this check transitions the instance to failed state immediately.
  • Instance health monitor — Each monitored instance URL has its own XState state machine. Untracked OAuth URLs currently pass through as reachable.
VariableDefaultDescription
GITLAB_INIT_TIMEOUT_MS5000Max time to wait for GitLab during startup
GITLAB_RECONNECT_BASE_DELAY_MS5000Initial reconnect delay (doubles each attempt)
GITLAB_RECONNECT_MAX_DELAY_MS60000Maximum reconnect delay
GITLAB_HEALTH_CHECK_INTERVAL_MS60000Health check interval when connected
GITLAB_FAILURE_THRESHOLD3Consecutive transient failures before disconnecting
GITLAB_TOOL_TIMEOUT_MS120000Max time for tool/bootstrap execution before timeout
GITLAB_RESPONSE_WRITE_TIMEOUT_MS10000Max time to flush a non-SSE response before destroying zombie connection (0 to disable; SSE uses heartbeat)
GITLAB_INSTANCE_CACHE_MAX100Max number of per-URL instance states kept in memory (OAuth multi-tenant; LRU eviction when exceeded)
GITLAB_INSTANCE_TTL_MS3600000TTL for idle per-URL instance states in ms; evicted on next insert (OAuth multi-tenant)

Feature Flags

FlagDefaultTools Enabled
USE_LABELStrueLabel management
USE_MRStrueMerge requests
USE_FILEStrueFile operations
USE_VARIABLEStrueCI/CD variables
USE_WORKITEMStrueIssues, epics, tasks
USE_WEBHOOKStrueWebhook management
USE_SNIPPETStrueCode snippets
USE_INTEGRATIONStrue50+ integrations
USE_GITLAB_WIKItrueWiki pages
USE_MILESTONEtrueMilestones
USE_PIPELINEtruePipelines & CI/CD
USE_RELEASEStrueRelease management
USE_REFStrueBranch & tag management
USE_MEMBERStrueTeam members
USE_SEARCHtrueCross-project search
USE_ITERATIONStrueIteration planning (sprints)
USE_CI_TOKENStrueCI access credentials: job token scope and deploy keys
USE_ENVIRONMENTStrueEnvironments and deployments
USE_RUNNERStrueCI runner management
USE_REGISTRYtrueContainer registry repositories and tags
USE_ACCESS_TOKENStrueProject/group/personal access token management
USE_AUDIT_EVENTStrueAudit events (Premium+)
USE_VULNERABILITIEStrueVulnerability management (Ultimate)

Contributing

See CONTRIBUTING.md for development setup, testing, and PR guidelines.

Support the Project

USDT TRC-20 Donation QR Code

USDT (TRC-20): TFDsezHa1cBkoeZT5q2T49Wp66K8t2DmdA

License

Apache License 2.0 — see LICENSE for details.

Based on zereight/gitlab-mcp (MIT). See LICENSE.MIT.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

Configuration

GITLAB_TOKEN*secret

GitLab Personal Access Token with 'api' and 'read_user' scopes

GITLAB_API_URL

GitLab instance API URL for self-hosted instances (defaults to https://gitlab.com)

GITLAB_READ_ONLY_MODE

Enable read-only mode (disable all manage_* write operations)

Categories
Developer Tools
Registryactive
Package@structured-world/gitlab-mcp
TransportSTDIO
AuthRequired
UpdatedJun 7, 2026
View on GitHub

Related Developer Tools MCP Servers

View all →
detailobsessed avatar
Efficient Gitlab

io.github.detailobsessed/efficient-gitlab

Token-efficient GitLab MCP: 167 tools via 3 meta-tools, field projection, keyset pagination
3
digital-defiance avatar
Mcp Filesystem

io.github.digital-defiance/mcp-filesystem

Advanced filesystem operations with strict security boundaries for AI agents
3
ofershap avatar
Github Actions

io.github.ofershap/github-actions

GitHub Actions MCP — view runs, read logs, re-run jobs, and manage CI/CD.
3
xjtlumedia avatar
Markdown Formatter

io.github.xjtlumedia/markdown-formatter

AI Answer Copier — Convert Markdown to PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG
3
vish288 avatar
Mcp Gitlab

vish288/mcp-gitlab

MCP server for GitLab API — projects, MRs, pipelines, CI/CD, approvals, issues, code review.
3
lawp09 avatar
Bitbucket MCP Server

lawp09/bitbucket-mcp

MCP server for Bitbucket API - manage repositories, pull requests, comments, pipelines and more
2