Skip to content
Agentmart
Submit a tool

Advanced GitLab MCP server

64 CQRS tools exposing 234 GitLab operations across 26 entity types

Connector by structured-world · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)★ 8
Write a review

Install

Works with Claude Code, Codex, VS Code, Claude Desktop, Cursor, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install connector/structured-world-gitlab-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

64 CQRS tools exposing 234 GitLab operations across 26 entity types

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Runs code on install

Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.

Tools
36 read · 15 write · 13 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
Runs code on install
Runs as
Node.js package

Tools by what they do 64

Read from the source code; the running server may list different tools.

Read 36 · Look things up without changing anything.

  • browse_access_tokens
  • browse_audit_events
  • browse_commits
  • browse_deploy_keys
  • browse_environments
  • browse_events
  • browse_files
  • browse_integrations
  • browse_iterations
  • browse_job_token_scope
  • browse_labels
  • browse_members
Show 24 more tools
  • browse_merge_requests
  • browse_milestones
  • browse_mr_discussions
  • browse_namespaces
  • browse_pipelines
  • browse_projects
  • browse_refs
  • browse_registry
  • browse_releases
  • browse_runners
  • browse_search
  • browse_snippets
  • browse_todos
  • browse_users
  • browse_variables
  • browse_vulnerabilities
  • browse_webhooks
  • browse_wiki
  • browse_work_items
  • check_connection
  • find_scope_targets
  • get_profile
  • get_settings
  • open_settings_panel

Write 15 · Create, change, send or run things.

  • manage_access_token
  • manage_context
  • manage_draft_notes
  • manage_environment
  • manage_files
  • manage_integration
  • manage_job_token_scope
  • manage_merge_request
  • manage_mr_discussion
  • manage_pipeline
  • manage_project
  • manage_runner
Show 3 more tools
  • manage_todos
  • manage_vulnerability
  • update_settings

Delete 13 · Delete, drop, revoke or wipe things.

  • manage_deploy_key
  • manage_label
  • manage_member
  • manage_milestone
  • manage_namespace
  • manage_ref
  • manage_registry
  • manage_release
  • manage_snippet
  • manage_variable
  • manage_webhook
  • manage_wiki
Show 1 more tools
  • manage_work_item

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • GITLAB_TOKEN

Other settings (environment variables or headers).

  • GITLAB_API_URL
  • GITLAB_READ_ONLY_MODE

Network hosts it talks to 12

  • about.gitlab.com · found in code
  • agent-plugins.org · found in code
  • docs.docker.com · found in code
  • docs.gitlab.com · found in code
  • git.corp.io · found in code
  • github.com · found in install command, code
  • gitlab-mcp.sw.foundation · found in code
  • gitlab.com · found in code
  • glama.ai · found in code
  • podman.io · found in code
  • raw.githubusercontent.com · found in code
  • sw.foundation · found in code

Files it touches

  • %APPDATA%/Claude/claude_desktop_config.json
  • %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • %USERPROFILE%/.claude.json
  • ~/.claude.json
  • ~/.config/claude/claude_desktop_config.json
  • ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • /dev/null
  • %APPDATA%/gitlab-mcp
  • %USERPROFILE%/.codeium/windsurf/mcp_config.json
  • %USERPROFILE%/.codex/config.toml
  • %USERPROFILE%/.cursor/mcp.json
  • %USERPROFILE%/.roo/mcp.json
  • Your home directory (~)
  • ~/.codeium/windsurf/mcp_config.json
  • ~/.codex/config.toml
  • ~/.config/gitlab-mcp
  • ~/.config/gitlab-mcp/profiles.yaml
  • ~/.cursor/mcp.json
  • ~/.roo/mcp.json

Tools (64)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • 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, rotate, or revoke.

  • 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.

  • 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.

  • 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.

  • 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, update, stop, or delete environments and update deployment status.

  • 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.

  • 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), download_attachment (get uploaded file by secret+filename). Related: manage_files to create/update files.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

Show 49 more tools
  • 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.

  • browse_pipelines

    Monitor CI/CD pipelines and read job logs. 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). Related: manage_pipeline to trigger/retry/cancel pipelines and play/retry/cancel individual jobs.

  • 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.

  • 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.

  • 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).

  • 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.

  • 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, update, pause/resume, or delete runners.

  • browse_search

    Search across GitLab resources globally or within a scope. Actions: global (entire instance), project (within specific project), group (within specific group). Searchable: projects, issues, merge_requests, milestones, users, blobs (code), commits, wiki_blobs, notes.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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, confirm, resolve, or revert findings.

  • 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.

  • 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.

  • 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.

  • check_connectionCheck connectionread-only

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

  • find_scope_targetsFind projects and groupsread-only

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

  • get_profileGitLab accountread-only

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

  • get_settingsGitLab settingsread-only

    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.

  • 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.

  • 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 …

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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, including include_deleted to find restorable projects.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • manage_work_item

    Create, update, delete, 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), 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.

  • open_settings_panelGitLab connection panelread-only

    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.

  • update_settingsChange 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.

Signals

Stars
8
Forks
2
Open issues
20
Last commit
Oct 23, 2026 (5 days ago)
Last release
Oct 25, 2026 (3 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.structured-world/gitlab-mcp
Version
12.0.1
Auth
API key
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 26, 2026
Cite this page

Advanced GitLab MCP server. Agent Mart. https://agentmart.dev/connectors/structured-world-gitlab-mcp (last updated 2026-10-26)