Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Advanced GitLab MCP server

NPM · @STRUCTURED-WORLD/GITLAB-MCP · 2 COMPONENTS · SCANNED AUG 3

58 CQRS tools exposing 230 GitLab operations across 26 entity types

+28 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security88
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (146 of 147), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (146 of 147), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to structured-world/gitlab-mcp). View diagnostics → Pass
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 41 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability26
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 21809 tokens (~376/item across 58 items; 58 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @structured-world/gitlab-mcp

# add to Claude Code
claude mcp add structured-world-gitlab-mcp -- npx -y @structured-world/gitlab-mcp
# add to Codex CLI
codex mcp add structured-world-gitlab-mcp -- npx -y @structured-world/gitlab-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "structured-world-gitlab-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@structured-world/gitlab-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add structured-world-gitlab-mcp --command npx --arg -y --arg @structured-world/gitlab-mcp
# ~/.hermes/config.yaml
mcp_servers:
  structured-world-gitlab-mcp:
    command: "npx"
    args: ["-y", "@structured-world/gitlab-mcp"]
// mcp.json
{
  "mcpServers": {
    "structured-world-gitlab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@structured-world/gitlab-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +3
    • Stability: unverified → 0.23 functional
  • 2 Aug 26 +49
    • Known CVEs: unverified → partial security
    • Provenance: unverified → pass security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • The attested source repository moved: structured-world/gitlab-mcp security
    • Tool coverage: 100 → unverified functional
    • Schema quality: unverified → poor functional
    • License: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Licence: Apache-2.0 functional
  • 1 Aug 26 +12
    • Tool coverage: unverified → 100 functional
  • 31 Jul 26 −1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −35
    • Malware scan: pass → unverified security
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 41

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@structured-world/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
structured-world/gitlab-mcp
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/structured-world/gitlab-mcp/.github/workflows/release-please.yml@refs/heads/main
Rekor log index:
1911384412
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:45d99f6e30068c832211ff4a9bf6ac89b53903a22c3fc9630511c1f6fc2937700a814c1a4d96bb6f1888224ed3eeff44e1d3876368c40188a05e10aee
Discovery method:
attestation_endpoint
Dependencies 146 packages

146 packages in the resolved dependency tree · 144 deprecated · 42 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 58 exposed · ~21,809 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
browse_access_tokens ~371

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.

NameTypeReqDescription
actionstringyesAction to perform: list_personal, list_project, list_group, get
group_idstringGroup ID or URL-encoded path (e.g. 'my-group' or '42'). Required for 'list_group', 'get' action(s).
pageintegerPage number Required for 'list_personal', 'list_project', 'list_group' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list_personal', 'list_project', 'list_group' action(s).
project_idstringProject ID or URL-encoded path (e.g. 'group/project' or '123'). Required for 'list_project', 'get' action(s).
revokedbooleanFilter by revoked state. Required for 'list_personal' action(s).
searchstringFilter by token name substring. Required for 'list_personal' action(s).
statestringFilter by token state. Required for 'list_personal', 'list_project', 'list_group' action(s).
token_idintegerNumeric access-token ID (from a list action). Required for 'get' action(s).
user_idintegerAdmin only: list PATs belonging to this user ID. Required for 'list_personal' action(s).

No output schema declared.

No examples provided.

browse_audit_events ~418

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.

NameTypeReqDescription
actionstringyesAction to perform: list_instance, list_group, list_project, get
audit_event_idintegerNumeric audit-event ID (from a list action). Required for 'get' action(s).
created_afterstringReturn events created on or after this date (YYYY-MM-DD). Required for 'list_instance', 'list_group', 'list_project' action(s).
created_beforestringReturn events created on or before this date (YYYY-MM-DD). Required for 'list_instance', 'list_group', 'list_project' action(s).
entity_idintegerFilter by the numeric ID of the entity (used with entity_type). Required for 'list_instance' action(s).
entity_typestringFilter by entity type, e.g. 'User', 'Group', 'Project', 'Key'. Required for 'list_instance' action(s).
group_idstringGroup ID or URL-encoded path (e.g. 'my-group' or '42'). Required for 'list_group', 'get' action(s).
pageintegerPage number Required for 'list_instance', 'list_group', 'list_project' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list_instance', 'list_group', 'list_project' action(s).
project_idstringProject ID or URL-encoded path (e.g. 'group/project' or '123'). Required for 'list_project', 'get' action(s).

No output schema declared.

No examples provided.

browse_commits ~430

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, diff
allbooleanInclude commits from all branches. Required for 'list' action(s).
authorstringFilter by author name or email. Required for 'list' action(s).
first_parentbooleanFollow only first parent (linear history). Required for 'list' action(s).
orderstringCommit ordering: default or topo. Required for 'list' action(s).
pageintegerPage number Required for 'list', 'diff' action(s).
pathstringFilter commits affecting this file/directory path. Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list', 'diff' action(s).
project_idstringyesProject ID or URL-encoded path.
ref_namestringBranch/tag name. Defaults to default branch. Required for 'list' action(s).
shastringCommit SHA. Can be full SHA, short hash, or ref name. Required for 'get', 'diff' action(s).
sincestringStart date filter (ISO 8601 format). Required for 'list' action(s).
statsbooleanInclude file change statistics. Required for 'get' action(s).
trailersbooleanInclude Git trailers (Signed-off-by, etc.). Required for 'list' action(s).
unidiffbooleanReturn unified diff format. Required for 'diff' action(s).
untilstringEnd date filter (ISO 8601 format). Required for 'list' action(s).
with_statsbooleanInclude stats for each commit. Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_deploy_keys ~207

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
key_idintegerNumeric deploy key ID. Required for 'get' action(s).
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
project_idstringProject to list keys for. Omit to list all instance deploy keys (admin only).
publicbooleanInstance list only: when true, return only the public (non-sensitive) fields. Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_environments ~467

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, list_deployments
environmentstringFilter deployments by environment name Required for 'list_deployments' action(s).
environment_idintegerNumeric ID of the environment Required for 'get' action(s).
finished_afterstringReturn deployments finished after this ISO 8601 date (requires order_by=finished_at) Required for 'list_deployments' action(s).
finished_beforestringReturn deployments finished before this ISO 8601 date (requires order_by=finished_at) Required for 'list_deployments' action(s).
namestringReturn the environment with this exact name Required for 'list' action(s).
order_bystringOrder deployments by field (default: id) Required for 'list_deployments' action(s).
pageintegerPage number Required for 'list', 'list_deployments' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list', 'list_deployments' action(s).
project_idstringyesProject ID or URL-encoded path (e.g., 'my-group/my-project')
searchstringReturn environments matching this search term (min 3 characters) Required for 'list' action(s).
sortstringSort direction (default: asc) Required for 'list_deployments' action(s).
statesstringFilter environments by state Required for 'list' action(s).
statusstringFilter deployments by status Required for 'list_deployments' action(s).
updated_afterstringReturn deployments updated after this ISO 8601 date Required for 'list_deployments' action(s).
updated_beforestringReturn deployments updated before this ISO 8601 date Required for 'list_deployments' action(s).

No output schema declared.

No examples provided.

browse_events ~184

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.

NameTypeReqDescription
actionstringyesAction to perform: user, project
afterstringShow events after this date (YYYY-MM-DD).
beforestringShow events before this date (YYYY-MM-DD).
event_actionstringFilter by event action.
pageintegerPage number
per_pageintegeryesNumber of items per page (default: 20, max: 100)
project_idstringProject ID. Required for 'project' action(s).
sortstringSort order: asc=oldest first, desc=newest first.
target_typestringFilter by target type.

No output schema declared.

No examples provided.

browse_files ~261

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.

NameTypeReqDescription
actionstringyesAction to perform: tree, content, download_attachment
file_pathstringPath to the file to read Required for 'content' action(s).
filenamestringOriginal filename of the attachment. Required for 'download_attachment' action(s).
pageintegerPage number Required for 'tree' action(s).
pathstringDirectory path to list Required for 'tree' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'tree' action(s).
project_idstringyesProject ID or URL-encoded path
recursivebooleanInclude nested directories Required for 'tree' action(s).
refstringBranch, tag, or commit SHA Required for 'tree', 'content' action(s).
secretstringSecurity token from the attachment URL. Required for 'download_attachment' action(s).

No output schema declared.

No examples provided.

browse_integrations ~180

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
integrationstringIntegration type slug (e.g., slack, jira, discord). Note: gitlab-slack-application cannot be created via API - it requires OAuth installation from GitLab UI. Required for 'get' action(s).
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
project_idstringyesProject ID or URL-encoded path

No output schema declared.

No examples provided.

browse_iterations ~204

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
group_idstringyesGroup ID or URL-encoded path.
include_ancestorsbooleanInclude iterations from parent groups. Required for 'list' action(s).
iteration_idstringIteration ID. Required for 'get' action(s).
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
searchstringSearch iterations by title. Required for 'list' action(s).
statestringFilter by iteration state. Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_job_token_scope ~177

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.

NameTypeReqDescription
actionstringyesAction to perform: get, list_projects, list_groups
pageintegerPage number Required for 'list_projects', 'list_groups' action(s).
per_pageintegerNumber of items per page (default: 20, max: 100) Required for 'list_projects', 'list_groups' action(s).
project_idstringyesProject whose job token scope is inspected. Numeric ID or URL-encoded path (e.g. 'group/project' or '123').

No output schema declared.

No examples provided.

browse_labels ~198

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
include_ancestor_groupsbooleanInclude ancestor groups when listing or getting labels
label_idstringThe ID or title of the label Required for 'get' action(s).
namespacestringyesNamespace path (group or project)
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
searchstringKeyword to filter labels by Required for 'list' action(s).
with_countsbooleanInclude issue and merge request counts Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_members ~404

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.

NameTypeReqDescription
actionstringyesAction to perform: list_project, list_group, get_project, get_group, list_all_project, list_all_group
group_idstringGroup ID or URL-encoded path Required for 'list_group', 'get_group', 'list_all_group' action(s).
include_inheritedbooleanInclude members inherited from parent groups Required for 'get_project', 'get_group' action(s).
pageintegerPage number Required for 'list_project', 'list_group', 'list_all_project', 'list_all_group' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list_project', 'list_group', 'list_all_project', 'list_all_group' action(s).
project_idstringyesProject ID or URL-encoded path Required for 'list_project', 'get_project', 'list_all_project' action(s).
querystringSearch members by name or username Required for 'list_project', 'list_group', 'list_all_project', 'list_all_group' action(s).
statestringFilter by member state Required for 'list_all_project', 'list_all_group' action(s).
user_idstringUser ID of the member Required for 'get_project', 'get_group' action(s).
user_idsarrayFilter to specific user IDs Required for 'list_project', 'list_group', 'list_all_project', 'list_all_group' action(s).

No output schema declared.

No examples provided.

browse_merge_requests ~1,205

Find and inspect merge requests. Actions: list (filter by state/author/reviewer/labels/branch), get (MR details by IID or source branch), 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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, diffs, compare, versions, version
approved_by_idsarrayFilter MRs approved by user IDs Required for 'list' action(s).
approved_by_usernamesarrayFilter MRs approved by usernames Required for 'list' action(s).
assignee_idnumberFilter by assignee's user ID Required for 'list' action(s).
assignee_usernamestringFilter by assignee's username Required for 'list' action(s).
author_idnumberFilter by author's user ID Required for 'list' action(s).
author_usernamestringFilter by author's username Required for 'list' action(s).
branch_namestringFind MR by its source branch name Required for 'get' action(s).
created_afterstringFilter MRs created after (ISO 8601) Required for 'list' action(s).
created_beforestringFilter MRs created before (ISO 8601) Required for 'list' action(s).
deployed_afterstringFilter MRs deployed after Required for 'list' action(s).
deployed_beforestringFilter MRs deployed before Required for 'list' action(s).
environmentstringFilter by deployment environment Required for 'list' action(s).
exclude_generatedbooleanExclude build output and minified files: dist/**, **/*.min.js, **/*.map, etc. (default: false) Required for 'diffs' action(s).
exclude_lockfilesbooleanExclude common lock files: yarn.lock, package-lock.json, Cargo.lock, etc. (default: false) Required for 'diffs' action(s).
exclude_patternsarrayCustom glob patterns to exclude (e.g., ['vendor/**', '*.generated.ts']) Required for 'diffs' action(s).
fromstringSource reference: branch name or commit SHA Required for 'compare' action(s).
instringSearch scope Required for 'list' action(s).
include_diverged_commits_countbooleanInclude count of commits the source branch is behind target Required for 'get', 'diffs' action(s).
include_rebase_in_progressbooleanCheck if MR is currently being rebased Required for 'get', 'diffs' action(s).
labelsFilter by labels Required for 'list' action(s).
merge_request_iidstringInternal MR ID. Required unless branch_name provided. Required for 'get', 'diffs', 'versions', 'version' action(s).
milestonestringFilter by milestone title. Use "None" or "Any". Required for 'list' action(s).
min_access_levelnumberMinimum access level filter (10-50) Required for 'list' action(s).
my_reaction_emojistringFilter MRs you've reacted to Required for 'list' action(s).
notobjectExclusion filters Required for 'list' action(s).
order_bystringSort field Required for 'list' action(s).
pageintegerPage number Required for 'list', 'diffs', 'versions' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list', 'diffs', 'versions' action(s).
project_idstringProject ID or URL-encoded path. Optional for cross-project search.
reviewer_idnumberFilter by reviewer user ID Required for 'list' action(s).
reviewer_usernamestringFilter by reviewer username Required for 'list' action(s).
scopestringFilter scope Required for 'list' action(s).
searchstringText search in title/description Required for 'list' action(s).
sortstringSort direction Required for 'list' action(s).
source_branchstringFilter by source branch Required for 'list' action(s).
statestringMR state filter Required for 'list' action(s).
straightbooleantrue=straight diff, false=three-way diff from common ancestor Required for 'compare' action(s).
target_branchstringFilter by target branch Required for 'list' action(s).
tostringTarget reference: branch name or commit SHA Required for 'compare' action(s).
updated_afterstringFilter MRs modified after (ISO 8601) Required for 'list' action(s).
updated_beforestringFilter MRs modified before (ISO 8601) Required for 'list' action(s).
version_idstringDiff version ID from versions list Required for 'version' action(s).
viewstringResponse detail level Required for 'list' action(s).
wipstringDraft/WIP filter Required for 'list' action(s).
with_api_entity_associationsbooleanInclude extra API associations Required for 'list' action(s).
with_labels_detailsbooleanReturn full label objects Required for 'list' action(s).
with_merge_status_recheckbooleanTrigger async recheck of merge status Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_milestones ~384

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, issues, merge_requests, burndown
iidsarrayReturn only the milestones having the given iid Required for 'list' action(s).
include_ancestorsbooleanInclude ancestor groups Required for 'list' action(s).
milestone_idstringThe ID of a project or group milestone. Required for 'get', 'issues', 'merge_requests', 'burndown' action(s).
namespacestringyesNamespace path (group or project)
pageintegerPage number Required for 'list', 'issues', 'merge_requests', 'burndown' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list', 'issues', 'merge_requests', 'burndown' action(s).
searchstringReturn only milestones with a title or description matching the provided string Required for 'list' action(s).
statestringReturn only active or closed milestones Required for 'list' action(s).
titlestringReturn only milestones with a title matching the provided string Required for 'list' action(s).
updated_afterstringReturn milestones updated after the specified date (ISO 8601 format) Required for 'list' action(s).
updated_beforestringReturn milestones updated before the specified date (ISO 8601 format) Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_mr_discussions ~179

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.

NameTypeReqDescription
actionstringyesAction to perform: list, drafts, draft
draft_note_idstringUnique identifier of the draft note Required for 'draft' action(s).
merge_request_iidstringyesInternal MR ID unique to project
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
project_idstringyesProject ID or URL-encoded path

No output schema declared.

No examples provided.

browse_namespaces ~265

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, verify
min_access_levelnumberMinimum access level: 10=Guest, 20=Reporter, 30=Developer, 40=Maintainer, 50=Owner. Required for 'list' action(s).
namespace_idstringNamespace ID or path. Required for 'get', 'verify' action(s).
owned_onlybooleanShow only namespaces you own. Required for 'list' action(s).
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
searchstringSearch namespaces by name/path. Required for 'list' action(s).
top_level_onlybooleanShow only root-level namespaces. Required for 'list' action(s).
with_statisticsbooleanInclude storage/count statistics. Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_pipelines ~591

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, jobs, triggers, job, logs
include_retriedbooleanInclude retried jobs in the response Required for 'jobs', 'triggers' action(s).
job_idstringThe ID of the job Required for 'job', 'logs' action(s).
job_scopearrayScope of jobs to show Required for 'jobs' action(s).
namestringFilter by name of user who triggered pipeline Required for 'list' action(s).
order_bystringOrder pipelines by Required for 'list' action(s).
pageintegerPage number Required for 'list', 'jobs', 'triggers' action(s).
per_pageintegerMaximum number of lines to return (default: 200, max: 10000). Use with start for pagination Required for 'list', 'jobs', 'triggers', 'logs' action(s).
pipeline_idstringThe ID of the pipeline Required for 'get', 'jobs', 'triggers' action(s).
project_idstringyesProject ID or URL-encoded path
refstringFilter by branch or tag ref Required for 'list' action(s).
scopestringPipeline scope filter Required for 'list' action(s).
shastringFilter by SHA Required for 'list' action(s).
sortstringSort order Required for 'list' action(s).
sourcestringPipeline source filter Required for 'list' action(s).
startnumberStart from specific line number (0-based). Positive from beginning, negative from end (e.g., -100 = last 100 lines). Use nextStart from previous response to paginate Required for 'logs' action(s).
statusstringPipeline status filter Required for 'list' action(s).
trigger_scopearrayScope of trigger jobs to show Required for 'triggers' action(s).
updated_afterstringISO 8601 datetime to filter by updated_after Required for 'list' action(s).
updated_beforestringISO 8601 datetime to filter by updated_before Required for 'list' action(s).
usernamestringFilter by username who triggered pipeline Required for 'list' action(s).
yaml_errorsbooleanFilter by YAML errors Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_projects ~764

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.

NameTypeReqDescription
actionstringyesAction to perform: search, list, get
activebooleanFilter by active status. true = exclude archived AND pending-deletion projects; false = only archived/pending-deletion. Uses the native GitLab 18.5+ filter; on older instances it falls back to the ar…
archivedbooleanFilter by archive status. true=archived only, false=active only. Required for 'search', 'list' action(s).
group_idstringGroup ID to list projects within. If omitted, lists YOUR accessible projects. Required for 'list' action(s).
include_deletedbooleanInclude projects pending deletion (soft-deleted, within the cooldown window). Admin only: lists projects scheduled for purge so they can be reviewed or restored. Ignored for group_id scope. Required…
include_subgroupsbooleanInclude projects from subgroups (requires group_id). Required for 'list' action(s).
licensebooleanInclude license information. Required for 'get' action(s).
marked_for_deletion_onstringFilter projects scheduled for deletion on this exact date (YYYY-MM-DD). Premium/Ultimate only. Combine with include_deleted to review projects purging on a given day. Ignored for group_id scope. Requ…
membershipbooleanShow only projects where you have membership. Required for 'list' action(s).
order_bystringSort field for results. Required for 'search', 'list' action(s).
ownedbooleanShow only projects you own (not just member of). Required for 'list' action(s).
pageintegerPage number Required for 'search', 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'search', 'list' action(s).
project_idstringProject identifier. Numeric ID or URL-encoded path (e.g., "42" or "gitlab-org%2Fgitlab"). Required for 'get' action(s).
qstringGlobal search query. Searches project names, paths, descriptions. Required for 'search' action(s).
searchstringText filter for list action (filters results by name/description). Required for 'list' action(s).
simplebooleanReturn minimal fields for faster response. Default: true. Required for 'list' action(s).
sortstringSort direction: asc or desc. Required for 'search', 'list' action(s).
starredbooleanShow only starred/favorited projects. Required for 'list' action(s).
statisticsbooleanInclude repository statistics. Required for 'get' action(s).
visibilitystringFilter by visibility: public, internal, or private. Required for 'search', 'list' action(s).
with_programming_languagestringFilter by programming language (e.g., "javascript", "python"). Required for 'search', 'list' action(s).
with_sharedbooleanInclude shared projects (requires group_id). Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_refs ~404

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.

NameTypeReqDescription
actionstringyesAction to perform: list_branches, get_branch, list_tags, get_tag, list_protected_branches, get_protected_branch, list_protected_tags
branchstringBranch name (URL-encoded if contains slashes) Required for 'get_branch' action(s).
namestringBranch name or wildcard pattern (e.g., 'main', 'release-*') Required for 'get_protected_branch' action(s).
order_bystringSort by field (default: updated) Required for 'list_tags' action(s).
pageintegerPage number Required for 'list_branches', 'list_tags', 'list_protected_branches', 'list_protected_tags' action(s).
per_pageintegerNumber of items per page (max 100) Required for 'list_branches', 'list_tags', 'list_protected_branches', 'list_protected_tags' action(s).
project_idstringyesProject ID or URL-encoded path (e.g., 'my-group/my-project')
regexstringFilter branches by regex pattern Required for 'list_branches' action(s).
searchstringFilter branches by name (supports wildcards) Required for 'list_branches', 'list_tags', 'list_protected_branches' action(s).
sortstringSort direction (default: desc) Required for 'list_tags' action(s).
tag_namestringTag name (URL-encoded if contains special characters) Required for 'get_tag' action(s).

No output schema declared.

No examples provided.

browse_registry ~302

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

NameTypeReqDescription
actionstringyesAction to perform: list_repositories, get_repository, list_tags, get_tag
afterstringCursor for the next page (endCursor from a previous response) Required for 'list_repositories', 'list_tags' action(s).
firstintegerMax number of items to return (cursor pagination, default 20, max 100) Required for 'list_repositories', 'list_tags' action(s).
namestringFilter repositories by name (substring match) Required for 'list_repositories', 'list_tags' action(s).
project_idstringyesProject full path (e.g., 'my-group/my-project') - required by the GraphQL project lookup Required for 'list_repositories' action(s).
repository_idintegerNumeric ID of the container repository (from list_repositories) Required for 'get_repository', 'list_tags', 'get_tag' action(s).
tag_namestringContainer image tag name (e.g., "latest", "v1.2.0") Required for 'get_tag' action(s).

No output schema declared.

No examples provided.

browse_releases ~248

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get, assets
include_html_descriptionbooleanInclude HTML-rendered description in response Required for 'list', 'get' action(s).
order_bystringSort releases by field (default: released_at) Required for 'list' action(s).
pageintegerPage number Required for 'list', 'assets' action(s).
per_pageintegerNumber of items per page (max 100) Required for 'list', 'assets' action(s).
project_idstringyesProject ID or URL-encoded path (e.g., 'my-group/my-project')
sortstringSort direction (default: desc) Required for 'list' action(s).
tag_namestringThe Git tag associated with the release (e.g., 'v1.0.0') Required for 'get', 'assets' action(s).

No output schema declared.

No examples provided.

browse_runners ~495

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.

NameTypeReqDescription
actionstringyesAction to perform: list_all, list_owned, list_project, list_group, get, list_jobs
afterstringCursor for the next page (endCursor) Required for 'list_all', 'list_owned', 'list_project', 'list_group', 'list_jobs' action(s).
firstintegerMax items to return (cursor pagination, default 20, max 100) Required for 'list_all', 'list_owned', 'list_project', 'list_group', 'list_jobs' action(s).
group_idstringGroup full path (e.g., 'my-group' or 'my-group/sub') - required by the GraphQL group lookup Required for 'list_group' action(s).
pausedbooleanFilter by paused state Required for 'list_all', 'list_owned', 'list_project', 'list_group' action(s).
project_idstringProject full path (e.g., 'my-group/my-project') - required by the GraphQL project lookup Required for 'list_project' action(s).
runner_idintegerNumeric ID of the runner (from a list action); expanded to a global ID internally Required for 'get', 'list_jobs' action(s).
searchstringFilter by description/token substring Required for 'list_all', 'list_owned', 'list_project', 'list_group' action(s).
statusstringFilter by runner status Required for 'list_all', 'list_owned', 'list_project', 'list_group' action(s).
statusesarrayFilter jobs by one or more statuses (e.g. ["FAILED", "CANCELED"]) Required for 'list_jobs' action(s).
tag_listarrayFilter by runners that have ALL of these tags Required for 'list_all', 'list_owned', 'list_project', 'list_group' action(s).
typestringFilter by runner type Required for 'list_all', 'list_owned', 'list_project', 'list_group' action(s).

No output schema declared.

No examples provided.

browse_search ~293

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.

NameTypeReqDescription
actionstringyesAction to perform: global, project, group
confidentialbooleanFilter by confidentiality (for issues scope, Premium only)
group_idstringGroup ID or URL-encoded path (e.g., 'my-group' or '123') Required for 'group' action(s).
order_bystringSort results by field
pageintegerPage number
per_pageintegeryesNumber of items per page (default: 20, max: 100)
project_idstringProject ID or URL-encoded path (e.g., 'group/project' or '123') Required for 'project' action(s).
refstringBranch/tag reference for code search (blobs, commits) Required for 'project' action(s).
scopestringyesSearch scope determining what type of resources to search
searchstringyesSearch query string (minimum 1 character)
sortstringSort direction
statestringFilter by state (for issues and merge_requests scopes)

No output schema declared.

No examples provided.

browse_snippets ~342

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
created_afterstringReturn snippets created after this date (ISO 8601). Example: '2024-01-01T00:00:00Z' Required for 'list' action(s).
created_beforestringReturn snippets created before this date (ISO 8601). Example: '2024-12-31T23:59:59Z' Required for 'list' action(s).
idstringThe ID of the snippet to retrieve Required for 'get' action(s).
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
projectIdstringProject ID or URL-encoded path. Required for project snippets, leave empty for personal snippets
rawbooleanReturn raw content of snippet files instead of metadata Required for 'get' action(s).
scopestringyesScope of snippets: "personal" for current user, "project" for project-specific (requires projectId), "public" for all public snippets Required for 'list' action(s).
visibilitystringFilter by visibility: private (author only), internal (authenticated users), public (everyone) Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_todos ~182

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.

NameTypeReqDescription
actionstringyesAction to perform: list
author_idnumberFilter by author ID.
group_idnumberFilter by group ID.
pageintegerPage number
per_pageintegeryesNumber of items per page (default: 20, max: 100)
project_idnumberFilter by project ID.
statestringFilter todos by state: pending=active, done=completed.
todo_actionstringFilter by action type.
typestringFilter by target type.

No output schema declared.

No examples provided.

browse_users ~485

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.

NameTypeReqDescription
actionstringyesAction to perform: search, get
activebooleanFilter for active (true) or inactive (false) users. Required for 'search' action(s).
blockedbooleanFilter for blocked users. Required for 'search' action(s).
created_afterstringFilter users created after this date (ISO 8601). Required for 'search' action(s).
created_beforestringFilter users created before this date (ISO 8601). Required for 'search' action(s).
exclude_activebooleanExclude active users. Required for 'search' action(s).
exclude_externalbooleanExclude external users. Required for 'search' action(s).
exclude_humansbooleanExclude human users. Required for 'search' action(s).
exclude_internalbooleanExclude internal system users. Required for 'search' action(s).
externalbooleanFilter for external users with limited access. Required for 'search' action(s).
humansbooleanFilter for human users only (exclude bots). Required for 'search' action(s).
pageintegerPage number Required for 'search' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'search' action(s).
public_emailstringFind user by exact public email address. Required for 'search' action(s).
searchstringPartial text search across name, username, and email. Required for 'search' action(s).
smart_searchbooleanEnable smart search with auto-detection and transliteration. Auto-enabled for search parameter. Required for 'search' action(s).
user_idstringUser ID to retrieve. Required for 'get' action(s).
usernamestringExact username to search for. Case-sensitive. Required for 'search' action(s).
without_project_botsbooleanExclude project bot users. Required for 'search' action(s).

No output schema declared.

No examples provided.

browse_variables ~174

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
filterobjectFilter parameters for variable lookup Required for 'get' action(s).
keystringThe key of the CI/CD variable. Maximum 255 characters, alphanumeric and underscore only. Required for 'get' action(s).
namespacestringyesNamespace path (group or project)
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_vulnerabilities ~296

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
afterstringCursor for the next page (endCursor). Required for 'list' action(s).
firstintegerMax items to return (cursor pagination, default 20, max 100). Required for 'list' action(s).
group_idstringGroup full path or ID to scope the list. Required for 'list' action(s).
project_idstringProject full path or ID to scope the list. Required for 'list' action(s).
report_typearrayFilter by scanner report type(s). Required for 'list' action(s).
severityarrayFilter by severity level(s). Required for 'list' action(s).
sortstringSort order (default: severity_desc). Required for 'list' action(s).
statearrayFilter by vulnerability state(s). Required for 'list' action(s).
vulnerability_idintegerNumeric vulnerability ID (from a list action); expanded to a global ID internally. Required for 'get' action(s).

No output schema declared.

No examples provided.

browse_webhooks ~183

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
groupIdstringGroup ID or path (required if scope=group)
hookIdstringWebhook ID (required) Required for 'get' action(s).
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
projectIdstringProject ID or path (required if scope=project)
scopestringyesScope of webhook (project or group)

No output schema declared.

No examples provided.

browse_wiki ~160

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
namespacestringyesNamespace path (group or project)
pageintegerPage number Required for 'list' action(s).
per_pageintegeryesNumber of items per page (default: 20, max: 100) Required for 'list' action(s).
slugstringURL-encoded slug of the wiki page Required for 'get' action(s).
with_contentbooleanInclude content of the wiki pages Required for 'list' action(s).

No output schema declared.

No examples provided.

browse_work_items ~309

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.

NameTypeReqDescription
actionstringyesAction to perform: list, get
afterstringCursor for pagination (use endCursor from previous response) Required for 'list' action(s).
firstnumberyesNumber of items to return Required for 'list' action(s).
idstringWork item ID to retrieve - use numeric ID from list results (e.g., '5953') Required for 'get' action(s).
iidstringInternal ID from URL (e.g., '95' from /issues/95). Use with namespace parameter. Required for 'get' action(s).
namespacestringNamespace path (group or project). Groups return epics, projects return issues/tasks.
simplebooleanyesReturn simplified structure with essential fields only. RECOMMENDED: Use default true for most cases. Required for 'list' action(s).
statearrayyesFilter by work item state. Defaults to OPEN items only. Use ["OPEN", "CLOSED"] for all items. Required for 'list' action(s).
typesarrayFilter by work item types Required for 'list' action(s).

No output schema declared.

No examples provided.

manage_access_token ~371

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.

NameTypeReqDescription
access_levelAccess level: 10 Guest, 20 Reporter, 30 Developer, 40 Maintainer, 50 Owner. Required for 'create_project', 'create_group' action(s).
actionstringyesAction to perform: create_project, create_group, rotate, revoke
expires_atstringExpiry date in YYYY-MM-DD format (e.g. "2026-12-31"). Required for 'create_project', 'create_group', 'rotate' action(s).
group_idstringGroup ID or URL-encoded path (e.g. 'my-group' or '42'). Required for 'create_group', 'rotate', 'revoke' action(s).
namestringyesHuman-readable token name. Required for 'create_project', 'create_group' action(s).
project_idstringProject ID or URL-encoded path (e.g. 'group/project' or '123'). Required for 'create_project', 'rotate', 'revoke' action(s).
scopesarrayyesToken scopes, e.g. ['api'], ['read_repository','write_repository']. At least one required. Required for 'create_project', 'create_group' action(s).
token_idintegerNumeric access-token ID (from a list action). Required for 'rotate', 'revoke' action(s).

No output schema declared.

No examples provided.

manage_context ~243

View and manage runtime session configuration. Actions: show (current host/preset/scope/mode), list_presets (available tool configurations), list_profiles (OAuth users), whoami (token introspection with live refresh - detects permission changes and updates available tools), switch_preset (change active preset), switch_profile (change OAuth user), set_scope (restrict to namespace), reset (restore initial state). Use whoami to diagnose access issues and verify token permissions.

NameTypeReqDescription
actionstringyesAction to perform: show, list_presets, list_profiles, switch_preset, switch_profile, set_scope, reset, whoami
includeSubgroupsbooleanInclude subgroups when scope is a group (default: true) Required for 'set_scope' action(s).
namespacestringNamespace path (e.g., 'my-group' or 'group/project') - type is auto-detected Required for 'set_scope' action(s).
presetstringName of the preset to activate Required for 'switch_preset' action(s).
profilestringName of the profile to activate Required for 'switch_profile' action(s).

No output schema declared.

No examples provided.

manage_deploy_key ~273

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.

NameTypeReqDescription
actionstringyesAction to perform: add, enable, update, delete
can_pushbooleanWhether the key may push to the repository (read/write). Default false (read-only). Required for 'add', 'update' action(s).
expires_atstringOptional expiry date in YYYY-MM-DD format (e.g. "2026-12-31"). Required for 'add' action(s).
keystringyesThe SSH public key (e.g. "ssh-ed25519 AAAA... comment"). Required for 'add' action(s).
key_idintegerNumeric deploy key ID. Required for 'enable', 'update', 'delete' action(s).
project_idstringyesProject ID or URL-encoded path (e.g. 'group/project' or '123').
titlestringHuman-readable name for the deploy key. Required for 'add', 'update' action(s).

No output schema declared.

No examples provided.

manage_draft_notes ~237

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.

NameTypeReqDescription
actionstringyesAction to perform: create, update, publish, publish_all, delete
commit_idstringSHA of commit to start discussion on Required for 'create' action(s).
draft_note_idstringID of the draft note Required for 'update', 'publish', 'delete' action(s).
in_reply_to_discussion_idstringDiscussion ID to reply to Required for 'create' action(s).
merge_request_iidstringyesInternal MR ID unique to project
notestringyesNew content for the draft note Required for 'create', 'update' action(s).
positionobjectPosition for diff note Required for 'create', 'update' action(s).
project_idstringyesProject ID or URL-encoded path

No output schema declared.

No examples provided.

manage_environment ~318

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.

NameTypeReqDescription
actionstringyesAction to perform: create, update, stop, delete, update_deployment_status
deployment_idintegerNumeric ID of the deployment to update Required for 'update_deployment_status' action(s).
descriptionstringDescription of the environment Required for 'create', 'update' action(s).
environment_idintegerNumeric ID of the environment Required for 'update', 'stop', 'delete' action(s).
external_urlstringURL where the deployed environment can be reached (e.g., https://staging.example.com) Required for 'create', 'update' action(s).
forcebooleanForce the stop, skipping the on_stop action if one is defined Required for 'stop' action(s).
namestringyesName of the environment Required for 'create' action(s).
project_idstringyesProject ID or URL-encoded path (e.g., 'my-group/my-project')
statusstringNew deployment status Required for 'update_deployment_status' action(s).
tierstringDeployment tier of the environment Required for 'create', 'update' action(s).

No output schema declared.

No examples provided.