Advanced GitLab MCP server

io.github.structured-worldPublished by GitHub account structured-worldv13.2.1Updated Nov 8, 2026

66 tools, 241 typed actions, 27 registry groups

The publisher's own server: Gitlab

Overview

AI-generated overview

A local MCP server that gives an assistant 66 GitLab tools to browse and manage projects, merge requests, files, pipelines and work items.

What you can do
  • Search, inspect and manage projects, groups, users, members and labels
  • Read commits, diffs, repository files and snippets, and create or update files and snippets
  • Find, review, comment on, approve and merge merge requests, including draft notes and code suggestions
  • Monitor and control CI/CD pipelines and jobs, read logs and artifacts, and manage CI/CD variables
  • Create and track issues, epics, tasks, milestones and todos, plus wiki pages, webhooks and integrations
  • Check the connection, account profile and session settings, with a read-only mode available
When to use it
Useful when an assistant should work directly with a GitLab instance: reviewing merge requests, reading code and pipeline logs, filing or updating issues, or triggering and retrying CI jobs without leaving the chat. It fits teams on GitLab.com, self-managed or self-hosted instances who want one connection covering both reading and writing.
Requirements
Runs locally over stdio via npx, so Node.js 24 or newer is needed; a Docker image and a Claude Desktop bundle are also offered. Requires a GitLab personal access token in GITLAB_TOKEN with api and read_user scopes, and GITLAB_API_URL for self-hosted instances. Network access to the GitLab instance is required.
Before you install
The token grants broad API access to the account's GitLab data. Many manage_* tools write, merge, delete or trigger actions, including merging merge requests, deleting projects, labels, variables and webhooks, and running pipelines; GITLAB_READ_ONLY_MODE disables the write operations. GitLab Duo sessions can consume credits and change GitLab. CI/CD variables and webhook secrets pass through the server.

Installation

In SourceWeft

  1. Open Advanced GitLab MCP server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Advanced GitLab MCP server

[npm version] [npm downloads] [License] [Release] [Coverage] [Coverage Report]

Advanced GitLab MCP server: 66 tools across 27 registry groups, including 60 CQRS tools with 241 typed actions and 6 setup helpers. 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] [Set up in Codex] [Install in VS Code] [Install in VS Code Insiders]

Packages

This is a monorepo with two npm packages:

Quick Start

json
{  "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

GitLab Duo sessions

GitLab Duo sessions are also supported: discover agents and flows, inspect progress and outputs, and explicitly start or answer asynchronous CI sessions. Commands can consume credits and change GitLab. See the Duo session guide.

Supported clients

The Codex plugin can be installed before configuring a target. Its connection panel supports a GitLab instance with a locally started core server, or an existing HTTP MCP server. The local plugin requires Node.js 24+; credentials are entered in its private panel. See the installation guide for marketplace setup and authentication.

The shared sw.foundation marketplace lists verified releases. Add it once with codex plugin marketplace add structured-world/repo --sparse .agents/plugins, then install GitLab MCP from that catalog after its first configurable plugin release.

Download the ready-made Codex marketplace ZIP and its SHA-256 checksum from GitHub Releases. It includes the local runtime and dependencies, separately from the Claude Desktop MCPB bundles. Add the extracted marketplace once, then install through Codex. An install link requires an already configured marketplace; downloading the ZIP does not install it automatically. Older releases may not contain these assets.

With the Codex CLI installed and GITLAB_API_URL and GITLAB_TOKEN set in your environment, run npx @structured-world/gitlab-mcp install --codex to register a local server. For Antigravity, add the server to .agents/mcp_config.json in your workspace. Follow the linked guides for authentication, remote-server setup and client-specific configuration.

Codex and Claude Code can be configured side by side. Antigravity CLI 1.4.10 is qualified against the installed core package on macOS and Linux, including empty and single-MR lists. See the client overview for all setup guides.

Highlights

  • 66 tools across 27 registry groups: 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; one connection can link several accounts, such as a company GitLab and a personal GitLab.com account, and each chat switches between them
  • 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: 60 CQRS tools expose 241 typed actions, with 6 additional helpers for account, connection and settings work. The complete catalog contains 66 tools across 27 registry groups. This total includes core and account/context tools. Settings expose a different set of configurable tool groups: core and context tools are always available, and CI job tokens and deploy keys share one switch.

  • 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 66 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:

bash
# View locallyyarn list-tools --detail
# Generate documentationyarn list-tools --export --toc > docs/tools/api-reference.md

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

Docker

bash
# HTTP modedocker run -e PORT=3002 -e GITLAB_TOKEN=your_token -p 3333:3002 \  ghcr.io/structured-world/gitlab-mcp:latest
# stdio modedocker 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_preset, 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.

Source: README.md at commit 33e48f1

Tools

66

browse_projects

Browse projects

Find, list, or inspect GitLab projects. Actions: search (find by name/topic across GitLab), list (browse accessible projects or group projects), get (retrieve full project details). Related: manage_project to create/update/delete projects.

Parametersqpagesortownedactionrequiredactivesearchsimplelicensestarredarchivedgroup_id+11 more

browse_namespaces

Browse namespaces

Explore GitLab groups and user namespaces. Actions: list (discover available namespaces), get (retrieve details with storage stats), verify (check if path exists). Related: manage_namespace to create/update/delete groups.

Parameterspageactionrequiredsearchper_pagerequiredowned_onlynamespace_idtop_level_onlywith_statisticsmin_access_level

browse_commits

Browse commits

Explore repository commit history and diffs. Actions: list (browse commits with filters), get (retrieve commit metadata and stats), diff (view code changes). Related: browse_refs for branch/tag info.

Parametersallshapagepathordersincestatsuntilactionrequiredauthorunidiffper_pagerequired+5 more

browse_events

Browse events

Track GitLab activity and events. Actions: user (your activity across all projects), project (specific project activity feed). Filter by date range, action type, or target type.

Parameterspagesortafteractionrequiredbeforeper_pagerequiredproject_idtarget_typeevent_action

browse_users

Browse users

Find GitLab users with smart pattern detection. Actions: search (find users by name/email/username with transliteration support), get (retrieve specific user by ID). Related: browse_members for project/group membership.

Parameterspageactionrequiredactivehumanssearchblockeduser_idexternalper_pagerequiredusernamepublic_emailsmart_search+7 more

browse_todos

Browse todos

View your GitLab todo queue (notifications requiring action). Actions: list (filter by state, action type, target type). Todos are auto-created for assignments, mentions, reviews, and pipeline failures. Related: manage_todos to mark done/restore.

Parameterspagetypestateactionrequiredgroup_idper_pagerequiredauthor_idproject_idtodo_action

manage_project

Manage project

Create, update, or manage GitLab projects. Actions: create (new project with settings), fork (copy existing project), update (modify settings, including GitLab Duo settings such as automatic Duo code review; any Duo setting GitLab could not apply is listed in not_applied with what it requires), delete (remove permanently), restore (recover a soft-deleted project before purge), archive/unarchive (toggle read-only), transfer (move to different namespace). Related: browse_projects for discovery.

Parametersnameactionrequiredfork_namefork_pathnamespaceproject_idvisibilitydescriptionlfs_enabledjobs_enabledwiki_enableddefault_branch+20 more

manage_namespace

Manage namespace

Create, update, or delete GitLab groups/namespaces. Actions: create (new group with visibility/settings), update (modify group settings, including automatic GitLab Duo code review cascading to subgroups and projects; a Duo setting GitLab could not apply is listed in not_applied with what it requires), delete (remove permanently), restore (recover a soft-deleted group before purge; on GitLab Free needs 18.0+). Related: browse_namespaces for discovery.

Parametersnamepathactionrequiredavatargroup_idparent_idvisibilitydescriptionlfs_enabledmembership_lockwiki_access_levelip_restriction_ranges+5 more

manage_todos

Manage todos

Manage your GitLab todo queue. Actions: mark_done (complete a single todo), mark_all_done (clear entire queue), restore (undo completion). Related: browse_todos to view your todo list.

Parametersidrequiredactionrequired

manage_context

Manage context

View and manage runtime session configuration. Actions: show (current host/preset/scope/mode), list_presets (available tool configurations), whoami (token introspection with live refresh - detects permission changes and updates available tools), switch_preset (change active preset), set_scope (restrict to namespace), clear_scope (work everywhere in this session, keeping its preset and read-only mode), reset (restore initial state), list_accounts (GitLab accounts of this connection, on one or several instances), switch_account (work with another listed account in this chat), link_account (sign in with another account, e.g. a personal GitLab.com account next to a company instance, and link it), unlink_account (remove a linked account). Use whoami to diagnose access issues and verify token permissions.

ParametersactionrequiredpresetaccountinstancenamespaceincludeSubgroups

get_profile

GitLab account

Identify the GitLab account this connection uses: a stable account id, display name, email when GitLab provides it, and the username with its instance.

Takes no parameters.

get_settings

GitLab settings

Show this account's settings, which apply to all of its chats except where a chat chose otherwise: working preset, read-only mode, default project or group, and which tool groups are on, with what each can be set to.

Takes no parameters.

update_settings

Change GitLab settings

Change this account's settings, at once for all of its chats except where a chat chose otherwise. Pass only the settings to change, by the names get_settings lists; the others keep their value. Nothing is saved when any value is invalid. Returns the saved values.

Parameterssetrequired

check_connection

Check connection

Check the GitLab connection: which account it uses, whether GitLab answers, the restrictions in effect, and what to do about problems.

Takes no parameters.

open_settings_panel

GitLab connection panel

Open the GitLab connection panel to search projects and groups, choose where this chat or all chats of the account work, and check the connection.

Takes no parameters.

find_scope_targets

Find projects and groups

Find projects you are a member of and groups you can see by name or path, to choose a working scope.

Parametersqueryrequired

browse_labels

Browse labels

List and inspect project or group labels. Actions: list (all labels with search filtering), get (single label by ID or name). Related: manage_label to create/update/delete.

Parameterspageactionrequiredsearchlabel_idper_pagerequirednamespacerequiredwith_countsinclude_ancestor_groups

manage_label

Manage label

Create, update, or delete project/group labels. Actions: create (name + hex color required), update (modify properties), delete (remove permanently). Related: browse_labels for discovery.

Parametersnamecoloractionrequiredlabel_idnew_nameprioritynamespacerequireddescription

browse_merge_requests

Browse merge requests

Find and inspect merge requests. Actions: list (filter by state/author/reviewer/labels/branch), get (MR details by IID or source branch), closing_issues (one page of native issues that close on merge), diffs (file-level changes with inline suggestions), compare (diff between any two refs), versions (list diff versions from pushes), version (get specific version with diffs). Related: manage_merge_request to create/update/merge.

Parametersintonotwipfrompagesortviewscopestateactionrequiredlabels+36 more

browse_mr_discussions

Browse mr discussions

Read discussion threads and draft review notes on merge requests. Actions: list (all threads with resolution status), drafts (unpublished draft notes), draft (single draft details). Related: manage_mr_discussion to comment, manage_draft_notes to create drafts.

Parameterspageactionrequiredper_pagerequiredproject_idrequireddraft_note_idmerge_request_iidrequired

manage_merge_request

Manage merge request

Create, update, merge, or approve merge requests. Actions: create (new MR from source to target), update (title/description/assignees/reviewers/labels), merge (into target branch), approve/unapprove (review approval), get_approval_state (current approvals). Related: browse_merge_requests for discovery.

Parametersshatitleactionrequiredlabelssquashadd_labelsproject_idrequiredassignee_iddescriptionstate_eventassignee_idsmilestone_id+14 more

manage_mr_discussion

Manage mr discussion

Post comments, start threads, and suggest code changes on merge requests. Actions: comment (simple note), thread (line-level discussion), reply (to existing thread), update (edit note text), resolve (toggle thread resolution), suggest (code suggestion block), apply_suggestion/apply_suggestions (accept code suggestions). Related: browse_mr_discussions to read threads.

Parametersbodyrequiredactionrequiredcommentnote_idpositionresolvedcommit_idcreated_atproject_idrequiredsuggestionlines_abovelines_below+8 more

manage_draft_notes

Manage draft notes

Create and manage unpublished review comments on merge requests. Actions: create (new draft), update (modify text), publish (make single draft visible), publish_all (submit entire review), delete (discard draft). Related: browse_mr_discussions action 'drafts' to list existing drafts.

Parametersnoterequiredactionrequiredpositioncommit_idproject_idrequireddraft_note_idmerge_request_iidrequiredin_reply_to_discussion_id

browse_files

Browse files

Explore project file structure and read source code. Actions: tree (list directory contents with recursive depth control), content (read file at specific ref/branch; UTF-8 text or base64 for binary data, with encoding and byte size), download_attachment (get uploaded file by secret+filename). Related: manage_files to create/update files.

Parametersrefpagepathactionrequiredsecretfilenameper_pagerequiredfile_pathrecursiveproject_idrequired

manage_files

Manage files

Create, update, or upload repository files. Actions: single (create/update one file with commit message), batch (atomic multi-file commit), upload (add attachment returning markdown link). Related: browse_files to read existing files.

Parametersfilefilesactionrequiredbranchrequiredcontentrequiredencodingfilenamefile_pathrequiredoverwriteproject_idrequiredauthor_nameauthor_email+4 more

browse_milestones

Browse milestones

Track milestone progress with associated issues and MRs. Actions: list (filter by state/title/search), get (milestone details), issues (items in milestone), merge_requests (MRs targeting milestone), burndown (chart data for sprint tracking). Related: manage_milestone to create/update.

Parametersiidspagestatetitleactionrequiredsearchper_pagerequirednamespacerequiredmilestone_idupdated_afterupdated_beforeinclude_ancestors

manage_milestone

Manage milestone

Create, update, or delete project/group milestones. Actions: create (title + optional dates/description), update (modify properties or close/activate), delete (remove permanently), promote (elevate project milestone to group). Related: browse_milestones for progress tracking.

Parameterstitleactionrequireddue_datenamespacerequiredstart_datedescriptionstate_eventmilestone_id

browse_pipelines

Browse pipelines

Monitor CI/CD pipelines and read job logs or individual artifact files. Actions: list (filter by status/ref/source/username), get (pipeline details), jobs (list pipeline jobs), triggers (bridge/trigger jobs), job (single job details), logs (job console output), artifact_file (bounded UTF-8 text with byte continuation). Related: manage_pipeline to trigger/retry/cancel pipelines and play/retry/cancel individual jobs.

Parametersrefshanamepagesortscopestartactionrequiredjob_idsourcestatusorder_by+13 more

manage_pipeline

Manage pipeline

Trigger, retry, or cancel CI/CD pipelines and individual jobs. Pipeline actions: create (run pipeline on ref with variables or typed inputs), retry (re-run failed jobs), cancel (stop running pipeline). Job actions: play_job (trigger a manual/delayed job with variables), retry_job (re-run a single job), cancel_job (stop a running job). Related: browse_pipelines actions 'job'/'logs' for job details.

Parametersrefrequiredforceactionrequiredinputsjob_idvariablesproject_idrequiredpipeline_idjob_variables_attributes

browse_variables

Browse variables

List and inspect CI/CD variables for projects or groups. Actions: list (all variables with pagination), get (single variable by key with environment scope filter). Related: manage_variable to create/update/delete.

Parameterskeypageactionrequiredfilterper_pagerequirednamespacerequired

manage_variable

Manage variable

Create, update, or delete CI/CD variables with environment scoping. Actions: create (key + value, set scope/protection/masking), update (modify value or settings), delete (remove permanently). Related: browse_variables for discovery.

Parameterskeyrequiredrawvalueactionrequiredfiltermaskednamespacerequiredprotecteddescriptionvariable_typeenvironment_scope

browse_wiki

Browse wiki

Read wiki pages in projects or groups. Actions: list (all pages with metadata), get (page content by slug). Related: manage_wiki to create/update/delete.

Parameterspageslugactionrequiredper_pagerequirednamespacerequiredwith_content

manage_wiki

Manage wiki

Create, update, or delete wiki pages. Actions: create (new page with title/content/format), update (modify content or title), delete (remove permanently). Related: browse_wiki to read pages.

Parametersslugtitleactionrequiredformatcontentnamespacerequired

browse_work_items

Browse work items

Find and inspect issues, epics, tasks, and other work items. Actions: list (groups return epics, projects return issues/tasks, filter by type/state/labels), get (by numeric ID or namespace+iid from URL path). Related: manage_work_item to create/update/delete.

Parametersidiidafterfirstrequiredstaterequiredtypesactionrequiredsimplerequirednamespace

manage_work_item

Manage work item

Create, update, delete, reorder, or link work items (issues, epics, tasks). Actions: create (epics need GROUP namespace, issues/tasks need PROJECT), update (widgets: dates, time tracking, weight, iterations, health, progress, hierarchy), reorder (issue card before/after other global IDs; board discovered internally), delete (permanent), delete_timelog (remove a time tracking entry by its global ID), add_link/remove_link (BLOCKS/BLOCKED_BY/RELATED). Related: browse_work_items for discovery.

ParametersidcolorstatetitleactionrequiredweightafterIddueDateisFixedbeforeIdlabelIdslinkType+20 more

browse_snippets

Browse snippets

Find and read code snippets with versioning support. Actions: list (personal/project/public scope with filtering), get (snippet metadata or raw file content). Related: manage_snippet to create/update.

Parametersidrawpagescoperequiredactionrequiredper_pagerequiredprojectIdvisibilitycreated_aftercreated_before

manage_snippet

Manage snippet

Create, update, or delete code snippets with multi-file support. Actions: create (new snippet with files and visibility), update (modify content/metadata, file operations), delete (remove permanently). Related: browse_snippets for discovery.

ParametersidfilestitleactionrequiredprojectIdvisibilitydescription

browse_webhooks

Browse webhooks

List and inspect webhook configurations for projects or groups. Actions: list (all webhooks with event types and status), get (webhook details by ID). Related: manage_webhook to create/update/delete/test.

ParameterspagescoperequiredactionrequiredhookIdgroupIdper_pagerequiredprojectId

manage_webhook

Manage webhook

Create, update, delete, or test webhooks for event-driven automation. Actions: create (URL + event types + optional secret), update (modify settings), delete (remove), test (trigger delivery for specific event). Related: browse_webhooks for inspection.

ParametersurlnamescoperequiredtokenactionrequiredhookIdgroupIdtriggerprojectIdjob_eventsdescriptionnote_events+18 more

browse_integrations

Browse integrations

Discover active project integrations and their configuration. Actions: list (all active: Slack, Jira, Discord, Teams, Jenkins, etc.), get (specific integration settings by slug). Related: manage_integration to configure/disable.

Parameterspageactionrequiredper_pagerequiredproject_idrequiredintegration

manage_integration

Manage integration

Configure or disable project integrations (50+ supported). Actions: update (enable/modify with integration-specific config), disable (deactivate integration). Note: gitlab-slack-application requires OAuth install from GitLab UI. Related: browse_integrations for discovery.

Parametersactionrequiredactiveconfigjob_eventsproject_idrequiredintegrationrequirednote_eventspush_eventsissues_eventspipeline_eventsreleases_eventstag_push_events+5 more

browse_releases

Browse releases

View project releases and asset download links. Actions: list (releases sorted by date), get (release details by tag name), assets (download link list for release). Related: manage_release to create/publish.

Parameterspagesortactionrequiredorder_byper_pagetag_nameproject_idrequiredinclude_html_description

manage_release

Manage release

Create, update, or delete project releases with asset management. Actions: create (release from tag with notes/assets), update (modify metadata), delete (remove release, tag preserved), create_link (add asset URL), delete_link (remove asset). Related: browse_releases for discovery.

Parametersrefurlnameactionrequiredassetslink_idtag_namerequiredlink_typemilestonesproject_idrequireddescriptionreleased_at+2 more

browse_refs

Browse refs

Inspect branches, tags, and their protection rules. Actions: list_branches, get_branch, list_tags, get_tag, list_protected_branches, get_protected_branch, list_protected_tags (protection details and access levels). Related: manage_ref to create/delete/protect, browse_commits for commit history.

Parametersnamepagesortregexactionrequiredbranchsearchorder_byper_pagetag_nameproject_idrequired

manage_ref

Manage ref

Create, delete, and protect branches and tags. Actions: create_branch (from ref), delete_branch, protect_branch (set allowed roles), unprotect_branch, update_branch_protection, create_tag (annotated or lightweight), delete_tag, protect_tag, unprotect_tag. Related: browse_refs for inspection.

Parametersrefrequirednameactionrequiredbranchrequiredmessagetag_nameproject_idrequiredallowed_to_pushallow_force_pushallowed_to_mergeallowed_to_createpush_access_level+5 more

browse_members

Browse members

View team members and access levels in projects or groups. Actions: list_project, list_group, get_project, get_group (direct members), list_all_project, list_all_group (includes inherited). Levels: Guest(10), Reporter(20), Developer(30), Maintainer(40), Owner(50). Related: manage_member to add/remove, browse_users to find users by name.

Parameterspagequerystateactionrequireduser_idgroup_idper_pagerequireduser_idsproject_idrequiredinclude_inherited

manage_member

Manage member

Add, remove, or update access levels for project/group members. Actions: add_to_project, add_to_group (with access level + optional expiry), remove_from_project, remove_from_group, update_project, update_group (change access level). Related: browse_members for current membership.

Parametersactionrequireduser_idrequiredgroup_idexpires_atproject_idrequiredaccess_levelrequiredmember_role_idskip_subresourcesunassign_issuables

browse_iterations

Browse iterations

View group iterations for agile sprint planning. Actions: list (filter by state: current, upcoming, closed), get (retrieve specific iteration details). Related: browse_work_items for items in an iteration.

Parameterspagestateactionrequiredsearchgroup_idrequiredper_pagerequirediteration_idinclude_ancestors

browse_job_token_scope

Browse job token scope

Inspect a project CI/CD job token inbound access scope. Actions: get (the inbound/outbound scope toggles), list_projects (projects allowed to reach this project via CI_JOB_TOKEN), list_groups (groups on the allowlist). Related: manage_job_token_scope to change the allowlist.

Parameterspageactionrequiredper_pageproject_idrequired

manage_job_token_scope

Manage job token scope

Manage a project CI/CD job token inbound allowlist. Actions: set_enabled (turn allowlist enforcement on/off), add_project / remove_project (grant or revoke a project), add_group / remove_group (grant or revoke a group). Required to allow cross-project CI_JOB_TOKEN access once the legacy open-access mode is removed. Related: browse_job_token_scope to inspect.

Parametersactionrequiredenabledrequiredproject_idrequiredtarget_group_idtarget_project_id

browse_deploy_keys

Browse deploy keys

List and inspect deploy keys (SSH keys granting repo access to CI/automation). Actions: list (a project’s keys, or all instance keys when project_id is omitted — admin only), get (a single project key by ID). Related: manage_deploy_key to add/enable/update/delete.

Parameterspageactionrequiredkey_idpublicper_pagerequiredproject_id

manage_deploy_key

Manage deploy key

Add, enable, update, or remove project deploy keys. Actions: add (register a new SSH public key with title and optional push access/expiry), enable (attach an existing key from another project), update (change title or can_push), delete (remove from this project). Related: browse_deploy_keys to inspect.

Parameterskeyrequiredtitleactionrequiredkey_idcan_pushexpires_atproject_idrequired

browse_environments

Browse environments

Inspect project environments and their deployments. Actions: list (environments filtered by state/name), get (single environment with its last deployment), list_deployments (deployment history, filterable by environment and status). Related: manage_environment to create.

Parametersnamepagesortactionrequiredsearchstatesstatusorder_byper_pagerequiredproject_idrequiredenvironmentupdated_after+4 more

manage_environment

Manage environment

Create and control project environments and deployment status. Actions: create (new environment), update (external_url/tier/description), stop (required before delete), delete (stopped environment), update_deployment_status (set a non-pipeline deployment to running/success/failed/canceled). Related: browse_environments to list and inspect.

Parametersnamerequiredtierforceactionrequiredstatusproject_idrequireddescriptionexternal_urldeployment_idenvironment_id

browse_registry

Browse registry

Inspect the GitLab Container Registry. Actions: list_repositories (a project's image repositories), get_repository (single repository by ID), list_tags (tags of a repository), get_tag (single tag with manifest digest, size, and timestamps). Related: manage_registry to delete repositories and tags (including regex bulk cleanup).

Parametersnameafterfirstactionrequiredtag_nameproject_idrequiredrepository_id

manage_registry

Manage registry

Delete GitLab Container Registry repositories and tags. Actions: delete_repository (remove a whole repository), delete_tag (remove one tag), delete_tags_bulk (regex cleanup with keep_n/older_than retention - destructive). Related: browse_registry to inspect before deleting.

Parametersactionrequiredkeep_ntag_nameolder_thanrepository_idrequiredname_regex_keepname_regex_delete

browse_access_tokens

Browse access tokens

Inspect access tokens (CI/automation credentials). Actions: list_personal (the current user's PATs; admins may filter by user_id), list_project / list_group (a project's or group's tokens), get (a single token by ID - pass project_id or group_id for project/group tokens, neither for personal). Related: manage_access_token to create.

Parameterspagestateactionrequiredsearchrevokeduser_idgroup_idper_pagerequiredtoken_idproject_id

manage_access_token

Manage access token

Create, rotate, or revoke access tokens. Actions: create_project / create_group (issue a new token with name + scopes, returns the value once), rotate (revoke the old token and return a new value), revoke (delete a token permanently). For rotate/revoke pass project_id or group_id for project/group tokens, neither for personal. Related: browse_access_tokens to discover token IDs.

Parametersnamerequiredactionrequiredscopesrequiredgroup_idtoken_idexpires_atproject_idaccess_level

browse_runners

Browse runners

Inspect CI runners. Actions: list_all (every runner on the instance - admin), list_owned (the current user's runners), list_project / list_group (runners available to a project/group), get (single runner by ID), list_jobs (jobs a runner has executed). Related: manage_runner to register.

Parameterstypeafterfirstactionrequiredpausedsearchstatusgroup_idstatusestag_listrunner_idproject_id

manage_runner

Manage runner

Register and control CI runners. Actions: create_authentication_token (register a runner, GitLab 16+, returns a one-time token), update (settings), pause/resume (toggle job pickup), delete, reset_authentication_token (rotate the token). Related: browse_runners to discover runners.

Parametersactionrequiredlockedpausedgroup_idtag_listrunner_idproject_iddescriptionrunner_typerequiredaccess_levelrun_untaggedmaximum_timeout+1 more

browse_audit_events

Browse audit events

Inspect audit events: the immutable record of who did what, when. Actions: list_instance (instance-wide, admin-only), list_group / list_project (a group or project audit trail), get (a single event by ID - pass project_id or group_id for group/project events, neither for an instance event). Premium/Ultimate feature; there is no write counterpart because audit events cannot be modified.

Parameterspageactionrequiredgroup_idper_pagerequiredentity_idproject_identity_typecreated_afteraudit_event_idcreated_before

browse_vulnerabilities

Browse vulnerabilities

Inspect security vulnerabilities (Ultimate). Actions: list (a project, a group, or the whole instance when neither id is given; filter by state, severity, report_type), get (a single vulnerability by ID with full detail). Related: manage_vulnerability to dismiss.

Parameterssortafterfirststateactionrequiredgroup_idseverityproject_idreport_typevulnerability_id

manage_vulnerability

Manage vulnerability

Drive the vulnerability state machine (Ultimate). Actions: dismiss (with optional dismissal_reason + comment), confirm (genuine finding), resolve (fixed), revert (back to detected). Related: browse_vulnerabilities to discover vulnerability IDs.

Parametersactionrequiredcommentdismissal_reasonvulnerability_idrequired

browse_duo_sessions

Browse duo sessions

Discover and inspect GitLab Duo sessions. Actions: agents_and_flows (project catalog and foundational agents; keep paging even after an empty filtered page), list (your sessions, optionally in a project), get (progress, pending input, latest answer and created objects). Reads do not start Duo or consume execution credits. Related: manage_duo_session.

Parametersafterfirstrequiredactionrequireditem_typeproject_idworkflow_id

manage_duo_session

Manage duo session

Run GitLab Duo asynchronously in CI. Actions: start (select an enabled flow, configured consumer or foundational agent discovered in the project), send_input (answer, approve or reject a waiting session after its CI job finishes). Both actions can change repositories, create objects and consume credits. Execute only when the user requested the operation. Never automatically replay a timed-out or disconnected command; inspect sessions first.

Parametersflowgoalrequiredagentactionrequiredproject_idrequiredconsumer_idworkflow_idhuman_messagehuman_approval

Version history

13
  1. v13.2.1LatestNov 7, 2026
  2. v13.2.0Nov 5, 2026
  3. v13.1.0Nov 1, 2026
  4. v13.0.0Oct 31, 2026
  5. v12.1.0Oct 30, 2026
  6. v12.0.3Oct 29, 2026
  7. v12.0.1Oct 26, 2026
  8. v12.0.0Oct 25, 2026
  9. v11.0.0Oct 16, 2026
  10. v10.1.0Oct 9, 2026
  11. v10.0.1Sep 25, 2026
  12. v10.0.0Sep 25, 2026
  13. v9.1.4Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Gitlab integrations