gitlab-mcp-server

module
v3.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2026 License: MIT

README

GitLab MCP Server

GitHub Release npm PyPI NuGet Platform

CI Quality Gate Coverage Go Reference

Glama MCP Score

MCP Badge MCP Toplist Cursor Directory Hosted endpoint

Connect your AI assistant to GitLab so it can review merge requests, triage pipelines, manage issues, and draft releases — in plain language. One static binary (or a container), 1000+ GitLab tools over the full REST + GraphQL API, working with Claude, Cursor, VS Code, and any MCP client.

You talk to your AI assistant; it does the GitLab work. No project IDs, API endpoints, or JSON to remember.

10,359 tokens of startup context by default, the same on every GitLab tier (1,694 with GITLAB_MCP_CAPABILITY_SURFACE=minimal). Two tools reach the whole catalog; measured with the cl100k_base tokenizer and verified in CI on every commit. How it is measured

"Review merge request !15 — is it safe to merge?" · "Why did the last pipeline fail?" · "List open issues assigned to me" · "Generate release notes from v1.0 to v2.0"


🤖 Using an AI assistant? Give it this repository URL and ask it to install the server for your client. Everything a model needs to do it headlessly — the declarative per-client config, claude mcp add one-liners, and defaults — is in llms.txt (no interactive wizard required).

Install in 60 seconds

Pick one. Each path ends with you typing a prompt to your assistant. Every channel has a full guide: Installation.

Want to look before installing? The browser inspector signs in with OAuth and calls the hosted endpoint read-only from a browser tab — nothing downloaded. Running it yourself is still the way to keep using it.

One-click install
Client One-click button Token step
VS Code Install in VS Code prompts you (masked)
VS Code Insiders Install in VS Code Insiders prompts you (masked)
Cursor Install in Cursor edit YOUR_GITLAB_TOKEN
LM Studio Add to LM Studio edit YOUR_GITLAB_TOKEN
Kiro Add to Kiro edit YOUR_GITLAB_TOKEN
Claude Desktop Download .mcpb extension settings UI (keychain)

Each button registers the Docker-based server (auto-pulls the image on first run; you need Docker installed). The Claude Desktop row instead downloads a native .mcpb desktop extension (macOS universal + Windows, no Docker) — open it with Claude Desktop and fill in the settings. Need a token? Create a Personal Access Token with the api scope. Self-managed GitLab? Add a GITLAB_URL env var in your client's MCP config after install.

Claude Code (claude mcp add)

Docker (no install — pulls the image on first run):

claude mcp add gitlab --env GITLAB_TOKEN=glpat-xxxx --transport stdio \
  -- docker run -i --rm -e GITLAB_TOKEN ghcr.io/jmrplens/gitlab-mcp-server:latest

Or install the native binary first, then register it:

# Any platform (npm/pnpm) — downloads only your platform's prebuilt binary
npx -y @jmrp.io/gitlab-mcp-server          # zero install; clients launch it directly
npm install -g @jmrp.io/gitlab-mcp-server  # or install globally (npm)
pnpm add -g @jmrp.io/gitlab-mcp-server     # or globally (pnpm)
# Any platform (Python: uv/pipx/pip) — platform wheel carrying the same native binary
uvx jmrplens-gitlab-mcp-server             # zero install; clients launch it directly
pipx install jmrplens-gitlab-mcp-server    # or install globally (pipx)
pip install jmrplens-gitlab-mcp-server     # or into the active environment (pip)
# Linux wheels need glibc; on musl systems such as Alpine use the Docker image instead
# Any platform (.NET 10 SDK) — a .NET tool whose entry point is the same native binary
dnx gitlab-mcp-server                      # zero install; clients launch it directly
dotnet tool install -g gitlab-mcp-server   # or install globally (dotnet tool)
# macOS/Linux (Homebrew)
brew install jmrplens/tap/gitlab-mcp-server
# Linux/macOS (script)
curl -fsSL https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/scripts/install.sh | sh
# Windows (winget)
winget install --id jmrplens.gitlab-mcp-server -e
# Windows (PowerShell)
irm https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/scripts/install.ps1 | iex

claude mcp add gitlab --env GITLAB_TOKEN=glpat-xxxx -- gitlab-mcp-server

Clients that launch servers with npx, uvx or dnx need no install at all — point them at npx -y @jmrp.io/gitlab-mcp-server, uvx jmrplens-gitlab-mcp-server or dnx gitlab-mcp-server.

Self-managed GitLab? Add --env GITLAB_URL=https://gitlab.example.com (and, for a self-signed certificate, mount the CA and set --env SSL_CERT_FILE=/path/to/ca-bundle.crt; GITLAB_MCP_SKIP_TLS_VERIFY=true is the blunt alternative, and OAuth mode refuses it for a non-loopback instance).

Run it once to check the install

Started in a terminal, or double-clicked on Windows, with no GITLAB_TOKEN set, the binary prints what it is and what it needs and waits for Enter, so you can confirm the install before configuring anything. Configuration itself lives in your MCP client's JSON, below.

Manual JSON (Claude Desktop, Cursor, VS Code, …)
Show JSON config for native binary and Docker

Native binary (Claude Desktop mcpServers, Cursor, etc.):

{
  "mcpServers": {
    "gitlab": {
      "command": "/path/to/gitlab-mcp-server",
      "env": { "GITLAB_TOKEN": "glpat-xxxxxxxxxxxxxxxxxxxx" }
    }
  }
}

VS Code (.vscode/mcp.json, note servers + type):

{
  "servers": {
    "gitlab": {
      "type": "stdio",
      "command": "/path/to/gitlab-mcp-server",
      "env": { "GITLAB_TOKEN": "glpat-xxxxxxxxxxxxxxxxxxxx" }
    }
  }
}

Docker variant — replace "command"/"args" with:

"command": "docker",
"args": ["run", "-i", "--rm", "-e", "GITLAB_TOKEN", "ghcr.io/jmrplens/gitlab-mcp-server:latest"]

Cline (VS Code) — open the Cline sidebar → MCP servers icon → Edit Global MCP, or edit the settings file directly:

  • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

Cline uses the mcpServers shape shown above for the native binary.

For a shared, long-running HTTP deployment instead of per-user stdio, see HTTP Server Mode.

Try it without installing anything (hosted endpoint)

A public instance runs at https://mcp.jmrp.io/gitlab — nothing to install, no account beyond your own GitLab token. Point any HTTP-capable MCP client at it:

{
  "mcpServers": {
    "gitlab": {
      "type": "http",
      "url": "https://mcp.jmrp.io/gitlab",
      "headers": { "Authorization": "Bearer glpat-xxxxxxxxxxxx" }
    }
  }
}

The endpoint runs in OAuth mode, so the credential travels as Authorization: Bearer — a GitLab personal access token works there, verified exactly like an OAuth one, which is what keeps clients with no OAuth flow (and headless use) working. It travels per request and is never stored on the server. A client that speaks the OAuth flow needs no header at all: the 401 carries an RFC 9728 challenge it follows to authorize in the browser. PRIVATE-TOKEN is the legacy-mode header and is not accepted here; the instance is fixed to https://gitlab.com, so GITLAB-URL is ignored.

A read_api token is accepted and served a read-only tool surface — the write check is per action, so a credential that cannot break anything is a supported way to use the endpoint rather than a rejected one.

Two pages make it easier still. The server card lists the whole catalog with no credential at all and carries copy-paste config for Claude Code, Cursor and VS Code — including the OAuth client ID those clients need. The browser inspector calls the same endpoint read-only from a browser tab: sign in with OAuth, pick a tool, read the raw JSON-RPC it returns — nothing installed.

It is the fastest way to try the server, and the right way to keep using it is still locally (any option above) — for one concrete reason, not as a disclaimer: your token and every request pass through someone else's machine. Running it locally means your credentials and your GitLab traffic never leave your computer, which also makes it the only sensible option for a private self-managed instance.

The endpoint is stateless streamable HTTP on the default dynamic surface: POST is the transport and an authenticated GET answers 405 by design; with no credential, any method answers 401 carrying the RFC 6750 challenge an OAuth client follows — a bare curl that gets 401 is the endpoint working, not failing. https://mcp.jmrp.io/gitlab/health needs no credential and answers 200 with {"status":"ok",…}. A self-hosted HTTP deployment can also run --auth-mode=oauth --gitlab-url=https://gitlab.com --public-url=https://mcp.example.com/mcp (both are required: OAuth needs a fixed instance, and --public-url is the RFC 9728 resource identifier — pass exactly the URL your clients are configured with, since a client discards metadata naming a different one), where clients discover GitLab as the authorization server through that metadata and authorize in the browser instead of copying tokens — see OAuth App Setup. It is one of the servers listed at mcp.jmrp.io, a directory of the MCP servers I maintain, each reachable at its own endpoint; https://mcp.jmrp.io/servers.json is the same list for automated clients.

It is a personal service, run by one person and offered as-is: no SLA, no support channel, and no promise it is unchanged next week. It adds no quota of its own — every call spends GitLab.com's own limits, under your own token. And it moves on its own, normally to the newest release, so what it serves is never a pinned version.

Then just ask: open your AI client and try "List my GitLab projects." See the Getting Started guide for per-client details and more example prompts.


Why this server

  • Plain-language GitLab. The AI translates "is MR !15 safe to merge?" into the right API calls. You don't touch endpoints, IDs, or JSON.
  • The whole platform — 1000+ tools. Broad GitLab REST v4 + GraphQL coverage: projects, branches, tags, releases, merge requests, issues, pipelines, jobs, groups, users, wikis, environments, deployments, packages, container registry, runners, feature flags, CI/CD variables, security, admin, tokens, and more.
  • Low-token by default. The default dynamic surface exposes just 2 tools (find + execute) while reaching the full catalog — so it fits any client's context window. (Token footprint →)
  • Proven with real models. An automated evaluator runs Anthropic, Google, OpenAI, and Qwen against live GitLab instances: 99.5% aggregate success across thousands of operations. (Results →)
  • Safe by design. Read-only mode, safe mode (dry-run preview of every mutation), TLS options for self-hosted GitLab, and continuous SonarCloud quality/security gates.
  • Runs anywhere. One static binary or container; Windows, Linux & macOS; amd64 & arm64; stdio (desktop) and HTTP (remote).
More: resources, prompts, and capabilities
  • 45 MCP resources (read-only data: projects, issues, pipelines, MRs, branches, members, the surface-aware gitlab://tools manifest, and workflow best-practice guides). 26 resource kinds, single objects plus three single-parent lists, are also subscribable.
  • 37 MCP prompts (code review, pipeline status, risk assessment, release notes, standup, analytics, audit, and more).
  • 4 elicitation wizards (interactive issue/MR/release/project creation).
  • 4 MCP capabilities (completions, progress, elicitation, and resource subscriptions — live resources/updated notifications, honored by polling) and 51 tool icons (50 domain icons plus the project mark) for visual identification in MCP clients.
  • Pagination on every list endpoint with full metadata.

Tool surfaces

The server can present GitLab in three shapes, controlled by GITLAB_MCP_TOOL_SURFACE. The default needs no configuration.

Surface Visible tools Best for
Dynamic (default) 2 (gitlab_find_action, gitlab_execute_action) Lowest token cost; reaches the full catalog via find/execute.
Meta-tools (meta) 34 base / 51 Ultimate / 52 GitLab.com Ultimate Domain-grouped dispatchers with an action parameter.
Individual (individual) ~866 Free/CE · ~1019 Premium · 1085–1091 Ultimate One MCP tool per GitLab operation; needs a large context window.

Tool counts scale with your GitLab edition (GITLAB_MCP_TIER); higher tiers expose more actions. See Dynamic Toolset and Meta-Tools Reference for the ranking model, safety guards, and full catalogs. For dynamic runs where resources dominate context, set GITLAB_MCP_CAPABILITY_SURFACE=minimal.

Token Footprint

Measured with go run ./cmd/audit_tokens/ -footprint against the current catalog. Totals estimate startup context visible to an MCP client: visible tool schemas plus shared resources and prompts, using the cl100k_base tokenizer (GPT-4/GPT-3.5 encoding). For the full matrix (meta and individual surfaces, all GITLAB_MCP_META_PARAM_SCHEMA modes), see Token Footprint Reference.

Default configuration: with GITLAB_MCP_TOOL_SURFACE unset or GITLAB_MCP_TOOL_SURFACE=dynamic, GITLAB_MCP_CAPABILITY_SURFACE=full, GITLAB_MCP_META_TOOLS unset, GITLAB_MCP_META_PARAM_SCHEMA=opaque, and GITLAB_MCP_TIER unset (detected, fallback free), the server uses the dynamic find/execute surface. Use GITLAB_MCP_TOOL_SURFACE=meta only when you explicitly want domain meta-tools; use GITLAB_MCP_TOOL_SURFACE=individual only when your client can handle the full tool catalog.

Configuration (GITLAB_MCP_TOOL_SURFACE / GITLAB_MCP_CAPABILITY_SURFACE) Tier Visible tools Reachable actions GITLAB_MCP_META_PARAM_SCHEMA Tool schema tokens Shared tokens Total tokens
dynamic / full (default) Free/CE 2 870 n/a 1,524 8,835 10,359
dynamic / minimal Free/CE 2 870 n/a 1,524 170 1,694
dynamic / full (default) Premium 2 1,023 n/a 1,524 8,835 10,359
dynamic / minimal Premium 2 1,023 n/a 1,524 170 1,694
dynamic / full (default) Ultimate 2 1,089 n/a 1,524 8,835 10,359
dynamic / minimal Ultimate 2 1,089 n/a 1,524 170 1,694

Rows use the base Community Edition catalog unless the Tier column says otherwise. GITLAB_MCP_TIER controls which actions are available; higher tiers expose more tools and thus more reachable actions.

Compatibility

MCP Capability Support
Tools Up to 1091 individual / 34–52 meta
Resources 45 (static + templates)
Prompts 37 templates
Completions 18 argument names, among them projects, groups, users, branches, tags, MRs, issues, pipelines, jobs, labels, milestones and SHAs
Server logs Structured (text/JSON) to stderr — not the MCP logging capability, which is deprecated (SEP-2577) and deliberately not advertised
Progress Tool execution progress reporting
Elicitation 4 interactive creation wizards
Subscriptions resources/updated by polling, 26 resource kinds

Tested with: VS Code + GitHub Copilot, Claude Desktop, Claude Code, Cursor, Windsurf, JetBrains IDEs, Zed, Kiro, Cline. See the full Compatibility Matrix.

AI Model Tool-Use Evaluation

The project includes an automated evaluator for model-facing MCP quality. It runs schema-only checks against the tool catalog or executes validated model tool calls through MCP against Docker GitLab CE or licensed Enterprise instances populated with fixtures. It measures whether each model chooses the correct action, sends valid parameters, recovers from actionable GitLab errors, and respects destructive-action safeguards — across Anthropic, Google, OpenAI, and Qwen.

Current published result: Docker CE dynamic 20260627-232303.

Provider Model Compatibility Tool accuracy Recovery Docker live status
Anthropic claude-haiku-4-5-20251001 OK 100.0% 100.0% (2/2) 100.0% final across 555 ops
Google gemini-flash-latest OK 100.0% 100.0% (4/4) 100.0% final across 555 ops
OpenAI gpt-5.4-nano Review 99.3% 84.6% (11/13) 98.0% final across 555 ops
Qwen qwen3.6-flash OK 100.0% 100.0% (5/5) 100.0% final across 555 ops

The published model-evaluation set covers 596 task attempts and 2220 expected MCP operations. Across the selected reports, models emitted 2265 tool calls over 2265 model requests, with 99.5% aggregate final success. See AI Model Evaluation Results for the detailed current matrix.

Meta-tools and Enterprise evaluation results

No CE meta-tools run has been published yet: make eval-surfaces-docker SURFACE=meta followed by --publish-docs fills this block.

Current published result: Docker Enterprise meta 20260527.

Provider Model Compatibility Tool accuracy Recovery Docker live status
Anthropic claude-haiku-4-5-20251001 OK 100.0% 100.0% (1/1) 100.0% final across 84 ops
Google gemini-flash-latest Review 78.2% 100.0% (7/7) 100.0% final across 84 ops
OpenAI gpt-5.4-nano Review 100.0% 100.0% (4/4) 100.0% final across 84 ops
Qwen qwen3.6-flash OK 100.0% 100.0% (1/1) 100.0% final across 84 ops

The published model-evaluation set covers 92 task attempts and 336 expected MCP operations. Across the selected reports, models emitted 345 tool calls over 350 model requests, with 100.0% aggregate final success. See AI Model Evaluation Results for the detailed current matrix.

Current published result: Docker Enterprise dynamic 20260628-015421.

Provider Model Compatibility Tool accuracy Recovery Docker live status
Anthropic claude-haiku-4-5-20251001 OK 100.0% 100.0% (1/1) 100.0% final across 202 ops
Google gemini-flash-latest OK 100.0% 100.0% (2/2) 100.0% final across 202 ops
OpenAI gpt-5.4-nano OK 100.0% No repairs 100.0% final across 202 ops
Qwen qwen3.6-flash OK 100.0% 100.0% (1/1) 100.0% final across 202 ops

The published model-evaluation set covers 124 task attempts and 808 expected MCP operations. Across the selected reports, models emitted 817 tool calls over 817 model requests, with 100.0% aggregate final success. See AI Model Evaluation Results for the detailed current matrix.

Documentation

Full documentation is at jmrp.io/docs/gitlab-mcp-server. Use this map for the source-of-truth reference on a specific area:

Document Description
Getting Started Install paths, first query, per-client configuration
Installation Every install channel (binary, Homebrew, winget, Docker, npm, PyPI, NuGet, .mcpb, Agent Plugins, hosted), verification, upgrade and uninstall
IDE Configuration Per-client stdio, HTTP legacy, and HTTP OAuth examples
Configuration Environment variables, transport modes, TLS
Environment Variables Exhaustive environment variable table with defaults and examples
CLI Reference All command-line flags, exit codes, and runtime examples
HTTP Server Mode Shared HTTP deployments, authentication, server pool isolation
OAuth App Setup GitLab OAuth application, scopes, redirect URIs, and which clients can complete a flow
CI/CD Running the server inside GitLab CI and GitHub Actions pipelines
Output Format The response contract every tool follows: content blocks, pagination, next steps
Error Handling Error classification, GitLab message extraction, and the hints tools return
Tools Reference All individual tools with input/output schemas, including GitLab.com-only Orbit
Meta-Tools 34/51/52 domain meta-tools with action dispatching
Dynamic Toolset 2-tool low-token mode with canonical action catalog, safety model, and examples
Resources All 45 resources with URI templates
Prompts All 37 prompts with arguments and output format
Testing Unit, E2E, schema model evaluation, Docker model evaluation, and curated model results
Security Security model, token scopes, input validation
Architecture System architecture, component design, data flow
Development Guide Building, testing, CI/CD, contributing
Troubleshooting Common startup, token, TLS, transport, and tool-discovery issues

FAQ

Does it work with self-hosted GitLab?

Yes. Set GITLAB_URL to your instance URL. When GITLAB_URL is omitted, stdio mode uses https://gitlab.com. Self-signed TLS certificates are supported by installing the CA in the system trust store or pointing SSL_CERT_FILE at a bundle; GITLAB_MCP_SKIP_TLS_VERIFY=true skips verification instead, and --auth-mode=oauth refuses it for a non-loopback instance.

Is my data safe?

When you run it yourself, locally over stdio or on your own infrastructure over HTTP, every request goes to your GitLab instance and nowhere else. There is no update check, no license check and no telemetry: your instance is the only host this server contacts.

The exception is the hosted endpoint: using https://mcp.jmrp.io/gitlab means your token and every request pass through that machine. Nothing is stored there, but it is someone else's server, which is why the hosted section says to keep using it locally.

See PRIVACY.md for the full data-flow statement, and SECURITY.md for the security model.

Can I use it in read-only mode?

Yes. Set GITLAB_MCP_READ_ONLY=true to disable all mutating tools (create, update, delete). Only read operations will be available.

Alternatively, set GITLAB_MCP_SAFE_MODE=true for a dry-run mode: mutating tools remain visible but return a structured JSON preview instead of executing. Useful for auditing, training, or reviewing what an AI assistant would do.

What GitLab editions are supported?

Both Community Edition (CE) and Enterprise Edition (EE). Set GITLAB_MCP_TIER=premium or GITLAB_MCP_TIER=ultimate in stdio mode to enable additional tools for Premium/Ultimate features (DORA metrics, vulnerabilities, compliance, etc.); leave it unset to detect the tier from the instance license (fallback free). In HTTP mode, --tier can force the tier, otherwise it is detected per token+URL pool entry from the license.

How does it handle rate limiting?

The server includes retry logic with backoff for GitLab API rate limits. Errors are classified as transient (retryable) or permanent, with actionable hints in error messages.

Which AI clients are supported?

Any MCP-compatible client: VS Code + GitHub Copilot, Claude Desktop, Cursor, Claude Code, Windsurf, JetBrains IDEs, Zed, Kiro, and others. Each one's configuration snippet is in Getting Started, and the one-click buttons above cover the most common ones.

Building from Source

git clone https://github.com/jmrplens/gitlab-mcp-server.git
cd gitlab-mcp-server
make build

The published container image is ghcr.io/jmrplens/gitlab-mcp-server:latest. See the Development Guide for cross-compilation, Docker Compose, and contributing guidelines.

Component Technology
Language Go 1.27+
MCP SDK github.com/modelcontextprotocol/go-sdk v1.7.0
GitLab Client gitlab.com/gitlab-org/api/client-go/v3 v2.59.0
Transport stdio (default), HTTP (Streamable HTTP)

Privacy Policy

The server runs entirely on your machine and has no telemetry, analytics, or backend of its own — data flows only between your MCP client and the GitLab instance you configure (plus an optional signed-binary update check against GitHub Releases). Your token is used solely to authenticate GitLab requests and is never logged. Full details: PRIVACY.md.

Contributing & Security

Repository mirror: GitHub is the canonical repository. A read-only mirror is available on GitLab.com for discoverability; please open contributions on GitHub.

Unnecessary statistics — numbers nobody asked for
File counts
Category Files Lines
Source (.go, non-test) 1,243 266,336
Unit tests (_test.go) 732 436,538
End-to-end tests 246 66,458
Total 2,221 769,332
Functions
Category Count
Source functions 9,766
. Exported (public) 3,070
. Unexported (private) 6,696
Unit test functions (TestXxx) 14,716
Subtests (t.Run(...)) 5,962
End-to-end test functions 606
Ratios worth noting
Observation Value
Test lines vs source lines 1.64× more tests than code
Average source file length ~214 lines
Average test file length ~596 lines
Comment lines in source 49,755 (~18.7% of source)
Test functions per source function 1.5×
Code patterns
Pattern Count
if err != nil checks 8,165
defer statements 1,371
struct types defined 3,224
//nolint suppressions 349
TODO / FIXME / HACK comments 2
Project
Metric Value
Go packages 269
Direct dependencies (go.mod) 32
Indirect dependencies 39
Hall of fame
Record File
Longest source file cmd/server/main.go. 4,667 lines
Longest test file cmd/server/main_test.go. 10,664 lines
Because why not
Fact Value
Source code printed at 55 lines/page ~4,842 pages of A4
Source lines mentioning "gitlab" 15,485 (impossible to avoid)
Longest function name in source assertDynamicCompatibilityPolicyOwnedByActionCompat (51 chars)
Longest test function name TestRequiredMissingAndUnknownParamNames_SchemaValidation_ReturnsSortedMissingAndUnknown (87 chars)

Maintained by José M. Requena Plens · Project page · Hosted instance: mcp.jmrp.io/gitlab

Directories

Path Synopsis
cmd
audit_1to1 command
Command audit_1to1 is the consolidated 1:1 SDK↔API parity audit.
Command audit_1to1 is the consolidated 1:1 SDK↔API parity audit.
audit_1to1/internal/actions
Package actions reports client-go SDK endpoints that no MCP action invokes (R-ACTION).
Package actions reports client-go SDK endpoints that no MCP action invokes (R-ACTION).
audit_1to1/internal/enums
Package enums holds the 1:1 audit rule for enumerated values (R-ENUM).
Package enums holds the 1:1 audit rule for enumerated values (R-ENUM).
audit_1to1/internal/merge
Package merge combines the four 1:1-audit gap reports — struct completeness (R-INPUT/R-OUTPUT), action coverage (R-ACTION), metadata completeness (R-META), and enum values (R-ENUM) — into a single per-package backlog.
Package merge combines the four 1:1-audit gap reports — struct completeness (R-INPUT/R-OUTPUT), action coverage (R-ACTION), metadata completeness (R-META), and enum values (R-ENUM) — into a single per-package backlog.
audit_1to1/internal/metadata
Package metadata reports discovery-metadata gaps (R-META) across the canonical ActionSpec catalog.
Package metadata reports discovery-metadata gaps (R-META) across the canonical ActionSpec catalog.
audit_1to1/internal/paths
Package paths holds the 1:1 audit rule about the request an action actually issues (R-PATH).
Package paths holds the 1:1 audit rule about the request an action actually issues (R-PATH).
audit_1to1/internal/sdk
Package sdk holds the two 1:1 audit rules whose universe comes from the SDK rather than from this repository's own call sites (R-SERVICE, R-GRAPHQL).
Package sdk holds the two 1:1 audit rules whose universe comes from the SDK rather than from this repository's own call sites (R-SERVICE, R-GRAPHQL).
audit_1to1/internal/shared
Package shared holds constants and helpers used across multiple audit_1to1 sub-packages so they cannot drift.
Package shared holds constants and helpers used across multiple audit_1to1 sub-packages so they cannot drift.
audit_1to1/internal/structs
Package structs verifies the 1:1 field mapping between the MCP tool input/output structs and the client-go SDK Options/result structs they wrap.
Package structs verifies the 1:1 field mapping between the MCP tool input/output structs and the client-go SDK Options/result structs they wrap.
audit_catalog_first command
Command audit_catalog_first generates a source-discovered inventory of internal/tools domain coverage for the ActionSpec migration.
Command audit_catalog_first generates a source-discovered inventory of internal/tools domain coverage for the ActionSpec migration.
audit_discovery_completeness command
Command audit_discovery_completeness reports discovery-metadata gaps that affect how well models can find and choose the right action.
Command audit_discovery_completeness reports discovery-metadata gaps that affect how well models can find and choose the right action.
audit_doc_coverage command
Command audit_doc_coverage reports per-doc-file gaps between docs/reference/tools/<doc>.md and the canonical action catalog.
Command audit_doc_coverage reports per-doc-file gaps between docs/reference/tools/<doc>.md and the canonical action catalog.
audit_doc_tool_names command
Command audit_doc_tool_names checks every `gitlab_*` tool name the documentation mentions against the names the server actually registers.
Command audit_doc_tool_names checks every `gitlab_*` tool name the documentation mentions against the names the server actually registers.
audit_dynamic_aliases command
Command audit_dynamic_aliases checks the dynamic toolset compatibility alias catalog for governance issues.
Command audit_dynamic_aliases checks the dynamic toolset compatibility alias catalog for governance issues.
audit_e2e_gaps command
Command audit_e2e_gaps reports which canonical catalog actions are not exercised by the e2e suite under test/e2e/suite.
Command audit_e2e_gaps reports which canonical catalog actions are not exercised by the e2e suite under test/e2e/suite.
audit_edition_tier command
Command audit_edition_tier reports the doc-grounded licensing tier of every canonical MCP action and compares it to the action's current gating.
Command audit_edition_tier reports the doc-grounded licensing tier of every canonical MCP action and compares it to the action's current gating.
audit_gateway_chars command
Command audit_gateway_chars scans everything a client receives from tools/list, prompts/list and resources/list, on every tool surface and at the widest tier, for characters that MCP gateway validators reject.
Command audit_gateway_chars scans everything a client receives from tools/list, prompts/list and resources/list, on every tool surface and at the widest tier, for characters that MCP gateway validators reject.
audit_graphql_documents command
Command audit_graphql_documents fails when a raw GraphQL document in this repository is one the pinned GitLab schema refuses.
Command audit_graphql_documents fails when a raw GraphQL document in this repository is one the pinned GitLab schema refuses.
audit_graphql_shapes command
Command audit_graphql_shapes fails when a struct this repository decodes a GraphQL response into cannot hold what the document it is sent with asks for.
Command audit_graphql_shapes fails when a struct this repository decodes a GraphQL response into cannot hold what the document it is sent with asks for.
audit_install_buttons command
Command audit_install_buttons checks the one-click install buttons against what the pages around them claim.
Command audit_install_buttons checks the one-click install buttons against what the pages around them claim.
audit_md_escaping command
Command audit_md_escaping fails when a Markdown formatter interpolates a value this server did not write into a construct that value can change the shape of.
Command audit_md_escaping fails when a Markdown formatter interpolates a value this server did not write into a construct that value can change the shape of.
audit_meta_descriptions command
Command audit_meta_descriptions checks the prose a meta-tool serves against the parameters its actions actually accept.
Command audit_meta_descriptions checks the prose a meta-tool serves against the parameters its actions actually accept.
audit_metrics command
Command audit_metrics generates a comprehensive metrics summary for the gitlab-mcp-server MCP server.
Command audit_metrics generates a comprehensive metrics summary for the gitlab-mcp-server MCP server.
audit_readonly_graphql command
Command audit_readonly_graphql fails when an action the canonical catalog classifies ReadOnly can reach a GraphQL mutation.
Command audit_readonly_graphql fails when an action the canonical catalog classifies ReadOnly can reach a GraphQL mutation.
audit_supply_chain command
Command audit_supply_chain audits the release supply chain's configuration invariants.
Command audit_supply_chain audits the release supply chain's configuration invariants.
audit_surface_quality command
Command audit_surface_quality is the consolidated MCP tool surface quality audit.
Command audit_surface_quality is the consolidated MCP tool surface quality audit.
audit_test_goroutines command
Command audit_test_goroutines detects testing.T abort calls made from goroutines other than the one running the test.
Command audit_test_goroutines detects testing.T abort calls made from goroutines other than the one running the test.
audit_test_names command
Command audit_test_names scans all Go test files and classifies test function names by their naming pattern.
Command audit_test_names scans all Go test files and classifies test function names by their naming pattern.
audit_test_subtests command
Command audit_test_subtests finds case loops in test functions that assert without opening a subtest, and can rewrite the mechanical ones.
Command audit_test_subtests finds case loops in test functions that assert without opening a subtest, and can rewrite the mechanical ones.
audit_tokens command
Command audit_tokens measures the LLM context window overhead of all registered MCP tool definitions.
Command audit_tokens measures the LLM context window overhead of all registered MCP tool definitions.
bench_resources command
Command bench_resources measures what this server costs to run, and draws the charts the documentation publishes.
Command bench_resources measures what this server costs to run, and draws the charts the documentation publishes.
eval_mcp_surfaces command
Command eval_mcp_surfaces evaluates model behavior across MCP tool surfaces.
Command eval_mcp_surfaces evaluates model behavior across MCP tool surfaces.
eval_mcp_surfaces/internal/evalrun
Package evalrun provides small helpers shared by the live evaluation command: deterministic unique suffixes for ephemeral GitLab resources and environment-driven run configuration used across e2e fixtures.
Package evalrun provides small helpers shared by the live evaluation command: deterministic unique suffixes for ephemeral GitLab resources and environment-driven run configuration used across e2e fixtures.
eval_mcp_surfaces/internal/evaluator
Package evaluator runs model evaluations against GitLab MCP tool surfaces.
Package evaluator runs model evaluations against GitLab MCP tool surfaces.
eval_mcp_surfaces/internal/evaluator/cases
Package cases contains the typed model-evaluation case catalog.
Package cases contains the typed model-evaluation case catalog.
eval_mcp_surfaces/internal/termio
Package termio centralizes terminal and log-file output helpers used by the eval_mcp_surfaces CLI so commands can write progress to a tee'd destination (stdout plus an optional log file) with a consistent format.
Package termio centralizes terminal and log-file output helpers used by the eval_mcp_surfaces CLI so commands can write progress to a tee'd destination (stdout plus an optional log file) with a consistent format.
format_md_tables command
Command format_md_tables normalizes Markdown pipe tables in README.md, docs/ and the Astro documentation site under site/src/content/docs/.
Command format_md_tables normalizes Markdown pipe tables in README.md, docs/ and the Astro documentation site under site/src/content/docs/.
gen_action_catalog_manifest command
Command gen_action_catalog_manifest generates the ActionSpec group builder manifest used by the catalog-first runtime.
Command gen_action_catalog_manifest generates the ActionSpec group builder manifest used by the catalog-first runtime.
gen_api_live command
Command gen_api_live pins what a booted GitLab says its own REST API is.
Command gen_api_live pins what a booted GitLab says its own REST API is.
gen_brand command
Command gen_brand emits every vector brand asset from one parametric geometry, so the mark cannot drift between its surfaces.
Command gen_brand emits every vector brand asset from one parametric geometry, so the mark cannot drift between its surfaces.
gen_graphql_schema command
Command gen_graphql_schema pins a GitLab GraphQL schema into the repository.
Command gen_graphql_schema pins a GitLab GraphQL schema into the repository.
gen_icon_webp command
Command gen_icon_webp rasterizes the SVG icon constants declared in internal/toolutil/icons.go into lossless WebP fallbacks for MCP clients that reject image/svg+xml (VS Code Copilot's mcpIcons.ts MIME allowlist, for example, admits image/webp but not SVG).
Command gen_icon_webp rasterizes the SVG icon constants declared in internal/toolutil/icons.go into lossless WebP fallbacks for MCP clients that reject image/svg+xml (VS Code Copilot's mcpIcons.ts MIME allowlist, for example, admits image/webp but not SVG).
gen_lhm_manifest command
Command gen_lhm_manifest regenerates the tools, prompts, and resources arrays in lhm.plugin.json, the manifest published to the LobeHub Marketplace.
Command gen_lhm_manifest regenerates the tools, prompts, and resources arrays in lhm.plugin.json, the manifest published to the LobeHub Marketplace.
gen_llms command
Command gen_llms generates llms.txt and llms-full.txt files.
Command gen_llms generates llms.txt and llms-full.txt files.
gen_request_inventory command
Command gen_request_inventory merges the request shards the unit suite records into the committed inventory of what this server sends GitLab.
Command gen_request_inventory merges the request shards the unit suite records into the committed inventory of what this server sends GitLab.
gen_stats command
Command gen_stats auto-generates the repository statistics section in README.md.
Command gen_stats auto-generates the repository statistics section in README.md.
gen_testing_docs command
Command gen_testing_docs regenerates the managed test metrics section in docs/development/testing/testing.md.
Command gen_testing_docs regenerates the managed test metrics section in docs/development/testing/testing.md.
godoc_tool command
Command godoc_tool is the consolidated Go documentation auditor and fixer.
Command godoc_tool is the consolidated Go documentation auditor and fixer.
internal/apidocs
Package apidocs is a shared fetcher for the GitLab API reference docs (the doc/api/<area>.md files in the gitlab-org/gitlab monorepo) used as a source of truth alongside the client-go SDK by the audit utilities.
Package apidocs is a shared fetcher for the GitLab API reference docs (the doc/api/<area>.md files in the gitlab-org/gitlab monorepo) used as a source of truth alongside the client-go SDK by the audit utilities.
internal/apilive
Package apilive is the committed record of what a booted GitLab says its own REST API is, and the one reader of it.
Package apilive is the committed record of what a booted GitLab says its own REST API is, and the one reader of it.
internal/auditshared
Package auditshared holds analysis helpers shared by the discovery-metadata auditors (cmd/audit_1to1 R-META and cmd/audit_discovery_completeness): the projected-description probe, owner-package resolution, and the shared usage/description quality checks.
Package auditshared holds analysis helpers shared by the discovery-metadata auditors (cmd/audit_1to1 R-META and cmd/audit_discovery_completeness): the projected-description probe, owner-package resolution, and the shared usage/description quality checks.
internal/docgen
Package docgen contains helpers for generated project documentation.
Package docgen contains helpers for generated project documentation.
internal/golist
Package golist holds the row shape two commands ask `go list` for, and the one answer to which `go` they ask it of.
Package golist holds the row shape two commands ask `go list` for, and the one answer to which `go` they ask it of.
internal/goprogram
Package goprogram is the one go/packages front end for the gates that type-check this repository's own source.
Package goprogram is the one go/packages front end for the gates that type-check this repository's own source.
internal/graphqldocs
Package graphqldocs reads every raw GraphQL document this repository writes out of the source and judges each one against a GitLab schema.
Package graphqldocs reads every raw GraphQL document this repository writes out of the source and judges each one against a GitLab schema.
internal/graphqlintrospect
Package graphqlintrospect asks a GitLab instance for its GraphQL schema and converts the answer to SDL.
Package graphqlintrospect asks a GitLab instance for its GraphQL schema and converts the answer to SDL.
internal/mcpsurface
Package mcpsurface is the one reader of the MCP surface this server serves.
Package mcpsurface is the one reader of the MCP surface this server serves.
internal/provenance
Package provenance holds the one age verdict the commands that pin an external truth pass on their committed record.
Package provenance holds the one age verdict the commands that pin an external truth pass on their committed record.
internal/requestinventory
Package requestinventory holds the committed record of what this server sends GitLab, and the one definition of which catalog actions it covers.
Package requestinventory holds the committed record of what this server sends GitLab, and the one definition of which catalog actions it covers.
internal/testsource
Package testsource answers the three questions every command that reads _test.go files in this repository used to answer for itself: whether a function name is a Go test entry point, which naming bucket that name falls in, and which files a scan of the tree may look at.
Package testsource answers the three questions every command that reads _test.go files in this repository used to answer for itself: whether a function name is a Go test entry point, which naming bucket that name falls in, and which files a scan of the tree may look at.
server command
Command server is the MCP server entry point for gitlab-mcp-server.
Command server is the MCP server entry point for gitlab-mcp-server.
internal
cachehints
Package cachehints applies SEP-2549 cache hints (ttlMs/cacheScope) to MCP results.
Package cachehints applies SEP-2549 cache hints (ttlMs/cacheScope) to MCP results.
capguard
Package capguard keeps the methods this server answers in step with the capabilities it declares.
Package capguard keeps the methods this server answers in step with the capabilities it declares.
clientcompat
Package clientcompat applies per-client response compatibility profiles to MCP results.
Package clientcompat applies per-client response compatibility profiles to MCP results.
cmdutil
Package cmdutil provides shared helpers for repository command utilities.
Package cmdutil provides shared helpers for repository command utilities.
completions
Package completions provides a CompletionHandler for GitLab-aware autocomplete of prompt arguments and resource URI template parameters.
Package completions provides a CompletionHandler for GitLab-aware autocomplete of prompt arguments and resource URI template parameters.
config
Package config loads, normalizes, and validates runtime configuration for the GitLab MCP server.
Package config loads, normalizes, and validates runtime configuration for the GitLab MCP server.
edition
Package edition defines the GitLab licensing tier model used to gate tool availability across the MCP server.
Package edition defines the GitLab licensing tier model used to gate tool availability across the MCP server.
elicitation
Package elicitation provides a Client for requesting structured user input via the MCP elicitation protocol.
Package elicitation provides a Client for requesting structured user input via the MCP elicitation protocol.
freshness
Package freshness reads the one harness setting that decides whether a test comparing a committed, generated artifact runs that comparison now or leaves it to the run where the artifact is refreshed.
Package freshness reads the one harness setting that decides whether a test comparing a committed, generated artifact runs that comparison now or leaves it to the run where the artifact is refreshed.
gatewaycompat
Package gatewaycompat rewrites the human-readable text this server lists — tool, prompt, resource and resource-template descriptions and titles, and the description and title annotations embedded in tool schemas — according to operator-defined substitutions.
Package gatewaycompat rewrites the human-readable text this server lists — tool, prompt, resource and resource-template descriptions and titles, and the description and title annotations embedded in tool schemas — according to operator-defined substitutions.
gitlab
Package gitlab provides a wrapper around the GitLab REST API v4 client.
Package gitlab provides a wrapper around the GitLab REST API v4 client.
graphqlschema
Package graphqlschema holds the pinned GitLab GraphQL schema and validates documents against it.
Package graphqlschema holds the pinned GitLab GraphQL schema and validates documents against it.
mcpotel
Package mcpotel instruments MCP request handling with OpenTelemetry.
Package mcpotel instruments MCP request handling with OpenTelemetry.
oauth
Package oauth provides GitLab-specific OAuth 2.0 support for HTTP mode.
Package oauth provides GitLab-specific OAuth 2.0 support for HTTP mode.
progress
Package progress provides a Tracker for sending MCP progress notifications to the client during long-running tool operations.
Package progress provides a Tracker for sending MCP progress notifications to the client during long-running tool operations.
prompts
Package prompts registers MCP prompt templates that generate AI-optimized summaries, reviews, reports, and assessments from GitLab project, group, and cross-project data.
Package prompts registers MCP prompt templates that generate AI-optimized summaries, reviews, reports, and assessments from GitLab project, group, and cross-project data.
resources
Package resources registers read-only MCP resources for GitLab and server metadata.
Package resources registers read-only MCP resources for GitLab and server metadata.
serverpool
Package serverpool manages a pool of credential entries keyed by GitLab token and URL.
Package serverpool manages a pool of credential entries keyed by GitLab token and URL.
subscriptions
Package subscriptions implements MCP resource subscriptions (resources/subscribe) over GitLab resources.
Package subscriptions implements MCP resource subscriptions (resources/subscribe) over GitLab resources.
telemetry
Package telemetry is the only place in this server that knows about OpenTelemetry.
Package telemetry is the only place in this server that knows about OpenTelemetry.
testutil
Package testutil provides test helpers for gitlab-mcp-server.
Package testutil provides test helpers for gitlab-mcp-server.
tools
Package tools provides the MCP tool orchestration layer for the GitLab MCP server.
Package tools provides the MCP tool orchestration layer for the GitLab MCP server.
tools/accessrequests
Package accessrequests implements MCP tools for GitLab project and group access request operations.
Package accessrequests implements MCP tools for GitLab project and group access request operations.
tools/accesstokens
Package accesstokens implements MCP tools for GitLab project, group, and personal access token operations.
Package accesstokens implements MCP tools for GitLab project, group, and personal access token operations.
tools/achievements
Package achievements implements MCP tools for GitLab achievements: the badges a namespace defines and the awards handed out from them.
Package achievements implements MCP tools for GitLab achievements: the badges a namespace defines and the awards handed out from them.
tools/actioncatalog
Package actioncatalog provides the canonical GitLab action catalog shared by catalog-backed MCP tool surfaces.
Package actioncatalog provides the canonical GitLab action catalog shared by catalog-backed MCP tool surfaces.
tools/actioncompat
Package actioncompat applies compatibility aliases and parameter normalization policies to canonical catalog action specs.
Package actioncompat applies compatibility aliases and parameter normalization policies to canonical catalog action specs.
tools/adminspecs
Package adminspecs defines catalog-backed action specs for GitLab instance administration operations.
Package adminspecs defines catalog-backed action specs for GitLab instance administration operations.
tools/alertmanagement
Package alertmanagement implements MCP tools for GitLab alert management operations.
Package alertmanagement implements MCP tools for GitLab alert management operations.
tools/appearance
Package appearance implements MCP tools for GitLab instance appearance settings.
Package appearance implements MCP tools for GitLab instance appearance settings.
tools/applications
Package applications implements MCP tools for GitLab OAuth application operations.
Package applications implements MCP tools for GitLab OAuth application operations.
tools/appstatistics
Package appstatistics implements MCP tools for GitLab instance application statistics.
Package appstatistics implements MCP tools for GitLab instance application statistics.
tools/attestations
Package attestations implements MCP tools for GitLab package attestation operations.
Package attestations implements MCP tools for GitLab package attestation operations.
tools/auditevents
Package auditevents implements MCP tools for GitLab audit event operations.
Package auditevents implements MCP tools for GitLab audit event operations.
tools/avatar
Package avatar implements MCP tools for GitLab avatar lookup operations.
Package avatar implements MCP tools for GitLab avatar lookup operations.
tools/awardemoji
Package awardemoji implements MCP tools for GitLab award emoji operations.
Package awardemoji implements MCP tools for GitLab award emoji operations.
tools/badges
Package badges implements MCP tools for GitLab project badge operations.
Package badges implements MCP tools for GitLab project badge operations.
tools/boards
Package boards implements MCP tools for GitLab project issue board operations.
Package boards implements MCP tools for GitLab project issue board operations.
tools/branches
Package branches implements MCP tools for GitLab branch and protected branch operations.
Package branches implements MCP tools for GitLab branch and protected branch operations.
tools/branchrules
Package branchrules implements MCP tools for GitLab branch rule discovery.
Package branchrules implements MCP tools for GitLab branch rule discovery.
tools/broadcastmessages
Package broadcastmessages implements MCP tools for GitLab instance broadcast messages.
Package broadcastmessages implements MCP tools for GitLab instance broadcast messages.
tools/bulkimports
Package bulkimports implements MCP tools for GitLab bulk import operations.
Package bulkimports implements MCP tools for GitLab bulk import operations.
tools/cicatalog
Package cicatalog implements MCP tools for GitLab CI/CD catalog resources.
Package cicatalog implements MCP tools for GitLab CI/CD catalog resources.
tools/cilint
Package cilint implements MCP tools for GitLab CI configuration linting.
Package cilint implements MCP tools for GitLab CI configuration linting.
tools/civariables
Package civariables implements MCP tools for GitLab project CI/CD variable operations.
Package civariables implements MCP tools for GitLab project CI/CD variable operations.
tools/ciyamltemplates
Package ciyamltemplates implements MCP tools for GitLab CI/CD YAML template operations.
Package ciyamltemplates implements MCP tools for GitLab CI/CD YAML template operations.
tools/clusteragents
Package clusteragents implements MCP tools for GitLab Kubernetes cluster agent operations.
Package clusteragents implements MCP tools for GitLab Kubernetes cluster agent operations.
tools/commitdiscussions
Package commitdiscussions implements MCP tools for GitLab commit discussion operations.
Package commitdiscussions implements MCP tools for GitLab commit discussion operations.
tools/commits
Package commits implements MCP tools for GitLab commit operations.
Package commits implements MCP tools for GitLab commit operations.
tools/compliancepolicy
Package compliancepolicy implements MCP tools for GitLab security and compliance policy operations.
Package compliancepolicy implements MCP tools for GitLab security and compliance policy operations.
tools/containerregistry
Package containerregistry implements MCP tools for GitLab container registry operations.
Package containerregistry implements MCP tools for GitLab container registry operations.
tools/customattributes
Package customattributes implements MCP tools for GitLab custom attribute operations.
Package customattributes implements MCP tools for GitLab custom attribute operations.
tools/customemoji
Package customemoji implements MCP tools for GitLab group custom emoji operations.
Package customemoji implements MCP tools for GitLab group custom emoji operations.
tools/dbmigrations
Package dbmigrations implements MCP tools for GitLab database migration administration.
Package dbmigrations implements MCP tools for GitLab database migration administration.
tools/dependencies
Package dependencies implements MCP tools for GitLab dependency list operations.
Package dependencies implements MCP tools for GitLab dependency list operations.
tools/dependencyfirewall
Package dependencyfirewall implements the MCP tool for GitLab's Dependency Firewall package evaluation endpoint.
Package dependencyfirewall implements the MCP tool for GitLab's Dependency Firewall package evaluation endpoint.
tools/dependencyproxy
Package dependencyproxy implements MCP tools for GitLab Dependency Proxy cache management.
Package dependencyproxy implements MCP tools for GitLab Dependency Proxy cache management.
tools/deploykeys
Package deploykeys implements MCP tools for GitLab deploy key operations.
Package deploykeys implements MCP tools for GitLab deploy key operations.
tools/deploymentmergerequests
Package deploymentmergerequests implements MCP tools for merge requests associated with GitLab deployments.
Package deploymentmergerequests implements MCP tools for merge requests associated with GitLab deployments.
tools/deployments
Package deployments implements MCP tools for GitLab deployment operations.
Package deployments implements MCP tools for GitLab deployment operations.
tools/deploytokens
Package deploytokens implements MCP tools for GitLab project and group deploy token operations.
Package deploytokens implements MCP tools for GitLab project and group deploy token operations.
tools/dockerfiletemplates
Package dockerfiletemplates implements MCP tools for GitLab Dockerfile template operations.
Package dockerfiletemplates implements MCP tools for GitLab Dockerfile template operations.
tools/dorametrics
Package dorametrics implements MCP tools for GitLab DORA metrics.
Package dorametrics implements MCP tools for GitLab DORA metrics.
tools/dynamic
Package dynamic implements low-token GitLab MCP tool surfaces over the canonical action catalog.
Package dynamic implements low-token GitLab MCP tool surfaces over the canonical action catalog.
tools/dynamiccatalog
Package dynamiccatalog builds the catalog the dynamic surface executes over, for every caller that needs one built the way the server builds it.
Package dynamiccatalog builds the catalog the dynamic surface executes over, for every caller that needs one built the way the server builds it.
tools/elicitationtools
Package elicitationtools implements interactive MCP tools that gather missing values through the MCP elicitation capability before calling GitLab actions.
Package elicitationtools implements interactive MCP tools that gather missing values through the MCP elicitation capability before calling GitLab actions.
tools/enterpriseusers
Package enterpriseusers implements MCP tools for GitLab enterprise user operations.
Package enterpriseusers implements MCP tools for GitLab enterprise user operations.
tools/environments
Package environments implements MCP tools for GitLab environment operations.
Package environments implements MCP tools for GitLab environment operations.
tools/epicdiscussions
Package epicdiscussions implements MCP tools for GitLab epic discussion operations.
Package epicdiscussions implements MCP tools for GitLab epic discussion operations.
tools/epicissues
Package epicissues implements MCP tools for GitLab epic issue relation operations.
Package epicissues implements MCP tools for GitLab epic issue relation operations.
tools/epicnotes
Package epicnotes implements MCP tools for GitLab epic note operations.
Package epicnotes implements MCP tools for GitLab epic note operations.
tools/epics
Package epics implements MCP tools for GitLab epic operations.
Package epics implements MCP tools for GitLab epic operations.
tools/epicworkitems
Package epicworkitems is the home for the shared GraphQL helpers used by the epic-family sub-packages (epics, epicnotes, epicissues).
Package epicworkitems is the home for the shared GraphQL helpers used by the epic-family sub-packages (epics, epicnotes, epicissues).
tools/errortracking
Package errortracking implements MCP tools for GitLab error tracking operations.
Package errortracking implements MCP tools for GitLab error tracking operations.
tools/events
Package events implements MCP tools for GitLab event operations.
Package events implements MCP tools for GitLab event operations.
tools/externalstatuschecks
Package externalstatuschecks implements MCP tools for GitLab external status check operations.
Package externalstatuschecks implements MCP tools for GitLab external status check operations.
tools/featureflags
Package featureflags implements MCP tools for GitLab feature flag operations.
Package featureflags implements MCP tools for GitLab feature flag operations.
tools/features
Package features implements MCP tools for GitLab instance feature flag toggles.
Package features implements MCP tools for GitLab instance feature flag toggles.
tools/ffuserlists
Package ffuserlists implements MCP tools for GitLab feature flag user list operations.
Package ffuserlists implements MCP tools for GitLab feature flag user list operations.
tools/files
Package files implements MCP tools for GitLab repository file operations.
Package files implements MCP tools for GitLab repository file operations.
tools/freezeperiods
Package freezeperiods implements MCP tools for GitLab deploy freeze period operations.
Package freezeperiods implements MCP tools for GitLab deploy freeze period operations.
tools/geo
Package geo implements MCP tools for GitLab Geo site management.
Package geo implements MCP tools for GitLab Geo site management.
tools/gitignoretemplates
Package gitignoretemplates implements MCP tools for GitLab gitignore template operations.
Package gitignoretemplates implements MCP tools for GitLab gitignore template operations.
tools/groupanalytics
Package groupanalytics implements MCP tools for GitLab group analytics.
Package groupanalytics implements MCP tools for GitLab group analytics.
tools/groupboards
Package groupboards implements MCP tools for GitLab group issue board operations.
Package groupboards implements MCP tools for GitLab group issue board operations.
tools/groupcredentials
Package groupcredentials implements MCP tools for GitLab group credential inventory operations.
Package groupcredentials implements MCP tools for GitLab group credential inventory operations.
tools/groupepicboards
Package groupepicboards implements MCP tools for GitLab group epic board operations.
Package groupepicboards implements MCP tools for GitLab group epic board operations.
tools/groupimportexport
Package groupimportexport implements MCP tools for GitLab group import and export operations.
Package groupimportexport implements MCP tools for GitLab group import and export operations.
tools/groupiterations
Package groupiterations implements MCP tools for GitLab group iteration operations.
Package groupiterations implements MCP tools for GitLab group iteration operations.
tools/grouplabels
Package grouplabels implements MCP tools for GitLab group label operations.
Package grouplabels implements MCP tools for GitLab group label operations.
tools/groupldap
Package groupldap implements MCP tools for GitLab group LDAP link operations.
Package groupldap implements MCP tools for GitLab group LDAP link operations.
tools/groupmarkdownuploads
Package groupmarkdownuploads implements MCP tools for GitLab group Markdown upload operations.
Package groupmarkdownuploads implements MCP tools for GitLab group Markdown upload operations.
tools/groupmembers
Package groupmembers implements MCP tools for GitLab group member operations.
Package groupmembers implements MCP tools for GitLab group member operations.
tools/groupmilestones
Package groupmilestones implements MCP tools for GitLab group milestone operations.
Package groupmilestones implements MCP tools for GitLab group milestone operations.
tools/groupprotectedbranches
Package groupprotectedbranches implements MCP tools for GitLab group protected branch operations.
Package groupprotectedbranches implements MCP tools for GitLab group protected branch operations.
tools/groupprotectedenvs
Package groupprotectedenvs implements MCP tools for GitLab group protected environment operations.
Package groupprotectedenvs implements MCP tools for GitLab group protected environment operations.
tools/grouprelationsexport
Package grouprelationsexport implements MCP tools for GitLab group relation export operations.
Package grouprelationsexport implements MCP tools for GitLab group relation export operations.
tools/groupreleases
Package groupreleases implements MCP tools for GitLab group release operations.
Package groupreleases implements MCP tools for GitLab group release operations.
tools/groups
Package groups implements MCP tools for GitLab group operations.
Package groups implements MCP tools for GitLab group operations.
tools/groupsaml
Package groupsaml implements MCP tools for GitLab group SAML link operations.
Package groupsaml implements MCP tools for GitLab group SAML link operations.
tools/groupscim
Package groupscim implements MCP tools for GitLab group SCIM operations.
Package groupscim implements MCP tools for GitLab group SCIM operations.
tools/groupserviceaccounts
Package groupserviceaccounts implements MCP tools for GitLab group service account operations.
Package groupserviceaccounts implements MCP tools for GitLab group service account operations.
tools/groupsshcerts
Package groupsshcerts implements MCP tools for GitLab group SSH certificate operations.
Package groupsshcerts implements MCP tools for GitLab group SSH certificate operations.
tools/groupstoragemoves
Package groupstoragemoves implements MCP tools for GitLab group repository storage move operations.
Package groupstoragemoves implements MCP tools for GitLab group repository storage move operations.
tools/groupvariables
Package groupvariables implements MCP tools for GitLab group CI/CD variable operations.
Package groupvariables implements MCP tools for GitLab group CI/CD variable operations.
tools/groupwikis
Package groupwikis implements MCP tools for GitLab group wiki operations.
Package groupwikis implements MCP tools for GitLab group wiki operations.
tools/health
Package health implements MCP tools for GitLab server and MCP server health checks.
Package health implements MCP tools for GitLab server and MCP server health checks.
tools/impersonationtokens
Package impersonationtokens implements MCP tools for GitLab impersonation token operations.
Package impersonationtokens implements MCP tools for GitLab impersonation token operations.
tools/importservice
Package importservice implements MCP tools for GitLab external import operations.
Package importservice implements MCP tools for GitLab external import operations.
tools/instancevariables
Package instancevariables implements MCP tools for GitLab instance CI/CD variable operations.
Package instancevariables implements MCP tools for GitLab instance CI/CD variable operations.
tools/integrations
Package integrations implements MCP tools for GitLab project and group integrations.
Package integrations implements MCP tools for GitLab project and group integrations.
tools/invites
Package invites implements MCP tools for GitLab project and group invitation operations.
Package invites implements MCP tools for GitLab project and group invitation operations.
tools/issuediscussions
Package issuediscussions implements MCP tools for GitLab issue discussion operations.
Package issuediscussions implements MCP tools for GitLab issue discussion operations.
tools/issuelinks
Package issuelinks implements MCP tools for GitLab issue link operations.
Package issuelinks implements MCP tools for GitLab issue link operations.
tools/issuenotes
Package issuenotes implements MCP tools for GitLab issue note operations.
Package issuenotes implements MCP tools for GitLab issue note operations.
tools/issues
Package issues implements MCP tools for GitLab issue lifecycle operations.
Package issues implements MCP tools for GitLab issue lifecycle operations.
tools/issuestatistics
Package issuestatistics implements MCP tools for GitLab issue statistics.
Package issuestatistics implements MCP tools for GitLab issue statistics.
tools/iterationdata
Package iterationdata contains shared GitLab iteration conversion helpers.
Package iterationdata contains shared GitLab iteration conversion helpers.
tools/jobs
Package jobs implements MCP tools for GitLab CI/CD job operations.
Package jobs implements MCP tools for GitLab CI/CD job operations.
tools/jobtokenscope
Package jobtokenscope implements MCP tools for GitLab CI/CD job token scope operations.
Package jobtokenscope implements MCP tools for GitLab CI/CD job token scope operations.
tools/keys
Package keys implements MCP tools for GitLab SSH key operations.
Package keys implements MCP tools for GitLab SSH key operations.
tools/labeldata
Package labeldata contains shared GitLab label conversion helpers.
Package labeldata contains shared GitLab label conversion helpers.
tools/labels
Package labels implements MCP tools for GitLab project label operations.
Package labels implements MCP tools for GitLab project label operations.
tools/license
Package license implements MCP tools for GitLab instance license operations.
Package license implements MCP tools for GitLab instance license operations.
tools/licensetemplates
Package licensetemplates implements MCP tools for GitLab license template operations.
Package licensetemplates implements MCP tools for GitLab license template operations.
tools/markdown
Package markdown implements MCP tools for rendering GitLab-flavored Markdown.
Package markdown implements MCP tools for rendering GitLab-flavored Markdown.
tools/memberroles
Package memberroles implements MCP tools for GitLab member role operations.
Package memberroles implements MCP tools for GitLab member role operations.
tools/members
Package members implements MCP tools for GitLab project member operations.
Package members implements MCP tools for GitLab project member operations.
tools/mergerequests
Package mergerequests implements MCP tools for GitLab merge request operations.
Package mergerequests implements MCP tools for GitLab merge request operations.
tools/mergetrains
Package mergetrains implements MCP tools for GitLab merge train operations.
Package mergetrains implements MCP tools for GitLab merge train operations.
tools/metadata
Package metadata implements MCP tools for the GitLab Metadata API.
Package metadata implements MCP tools for the GitLab Metadata API.
tools/milestones
Package milestones implements MCP tools for GitLab project milestone operations.
Package milestones implements MCP tools for GitLab project milestone operations.
tools/modelregistry
Package modelregistry implements MCP tools for GitLab model registry operations.
Package modelregistry implements MCP tools for GitLab model registry operations.
tools/mrapprovals
Package mrapprovals implements MCP tools for GitLab merge request approval operations.
Package mrapprovals implements MCP tools for GitLab merge request approval operations.
tools/mrapprovalsettings
Package mrapprovalsettings implements MCP tools for GitLab project merge request approval settings.
Package mrapprovalsettings implements MCP tools for GitLab project merge request approval settings.
tools/mrchanges
Package mrchanges implements MCP tools for GitLab merge request changes and diff operations.
Package mrchanges implements MCP tools for GitLab merge request changes and diff operations.
tools/mrcontextcommits
Package mrcontextcommits implements MCP tools for GitLab merge request context commit operations.
Package mrcontextcommits implements MCP tools for GitLab merge request context commit operations.
tools/mrdiscussions
Package mrdiscussions implements MCP tools for GitLab merge request discussion operations.
Package mrdiscussions implements MCP tools for GitLab merge request discussion operations.
tools/mrdraftnotes
Package mrdraftnotes implements MCP tools for GitLab merge request draft note operations.
Package mrdraftnotes implements MCP tools for GitLab merge request draft note operations.
tools/mrnotes
Package mrnotes implements MCP tools for GitLab merge request note operations.
Package mrnotes implements MCP tools for GitLab merge request note operations.
tools/namespaces
Package namespaces implements MCP tools for GitLab namespace operations.
Package namespaces implements MCP tools for GitLab namespace operations.
tools/notifications
Package notifications implements MCP tools for GitLab notification setting operations.
Package notifications implements MCP tools for GitLab notification setting operations.
tools/orbit
Package orbit implements MCP tools for the experimental GitLab Orbit Knowledge Graph API on GitLab.com.
Package orbit implements MCP tools for the experimental GitLab Orbit Knowledge Graph API on GitLab.com.
tools/packages
Package packages implements MCP tools for GitLab Generic Packages registry operations.
Package packages implements MCP tools for GitLab Generic Packages registry operations.
tools/pages
Package pages implements MCP tools for GitLab Pages operations.
Package pages implements MCP tools for GitLab Pages operations.
tools/pipelines
Package pipelines implements MCP tools for GitLab pipeline operations.
Package pipelines implements MCP tools for GitLab pipeline operations.
tools/pipelineschedules
Package pipelineschedules implements MCP tools for GitLab pipeline schedule operations.
Package pipelineschedules implements MCP tools for GitLab pipeline schedule operations.
tools/pipelinetriggers
Package pipelinetriggers implements MCP tools for GitLab pipeline trigger operations.
Package pipelinetriggers implements MCP tools for GitLab pipeline trigger operations.
tools/planlimits
Package planlimits implements MCP tools for GitLab plan limit operations.
Package planlimits implements MCP tools for GitLab plan limit operations.
tools/projectaliases
Package projectaliases implements MCP tools for GitLab project alias operations.
Package projectaliases implements MCP tools for GitLab project alias operations.
tools/projectdiscovery
Package projectdiscovery implements MCP tools that resolve Git remote URLs to GitLab project metadata.
Package projectdiscovery implements MCP tools that resolve Git remote URLs to GitLab project metadata.
tools/projectimportexport
Package projectimportexport implements MCP tools for GitLab project import and export operations.
Package projectimportexport implements MCP tools for GitLab project import and export operations.
tools/projectiterations
Package projectiterations implements MCP tools for GitLab project iteration operations.
Package projectiterations implements MCP tools for GitLab project iteration operations.
tools/projectmirrors
Package projectmirrors implements MCP tools for GitLab project remote mirror operations.
Package projectmirrors implements MCP tools for GitLab project remote mirror operations.
tools/projects
Package projects implements MCP tools for GitLab project operations.
Package projects implements MCP tools for GitLab project operations.
tools/projectserviceaccounts
Package projectserviceaccounts implements MCP tools for GitLab project service accounts.
Package projectserviceaccounts implements MCP tools for GitLab project service accounts.
tools/projectstatistics
Package projectstatistics implements MCP tools for GitLab project statistics.
Package projectstatistics implements MCP tools for GitLab project statistics.
tools/projectstoragemoves
Package projectstoragemoves implements MCP tools for GitLab project repository storage move operations.
Package projectstoragemoves implements MCP tools for GitLab project repository storage move operations.
tools/projecttemplates
Package projecttemplates implements MCP tools for GitLab project template operations.
Package projecttemplates implements MCP tools for GitLab project template operations.
tools/protectedenvs
Package protectedenvs implements MCP tools for GitLab protected environment operations.
Package protectedenvs implements MCP tools for GitLab protected environment operations.
tools/protectedpackages
Package protectedpackages implements MCP tools for GitLab package protection rule operations.
Package protectedpackages implements MCP tools for GitLab package protection rule operations.
tools/releaselinks
Package releaselinks implements MCP tools for GitLab release asset link operations.
Package releaselinks implements MCP tools for GitLab release asset link operations.
tools/releases
Package releases implements MCP tools for GitLab release operations.
Package releases implements MCP tools for GitLab release operations.
tools/repository
Package repository implements MCP tools for GitLab repository tree, compare, archive, blob, and contributor operations.
Package repository implements MCP tools for GitLab repository tree, compare, archive, blob, and contributor operations.
tools/repositorysubmodules
Package repositorysubmodules implements MCP tools for GitLab repository submodule operations.
Package repositorysubmodules implements MCP tools for GitLab repository submodule operations.
tools/resourceevents
Package resourceevents implements MCP tools for GitLab resource state event operations.
Package resourceevents implements MCP tools for GitLab resource state event operations.
tools/resourcegroups
Package resourcegroups implements MCP tools for GitLab CI/CD resource group operations.
Package resourcegroups implements MCP tools for GitLab CI/CD resource group operations.
tools/runnercontrollers
Package runnercontrollers implements MCP tools for GitLab runner controller operations.
Package runnercontrollers implements MCP tools for GitLab runner controller operations.
tools/runnercontrollerscopes
Package runnercontrollerscopes implements MCP tools for GitLab runner controller scope operations.
Package runnercontrollerscopes implements MCP tools for GitLab runner controller scope operations.
tools/runnercontrollertokens
Package runnercontrollertokens implements MCP tools for GitLab runner controller token operations.
Package runnercontrollertokens implements MCP tools for GitLab runner controller token operations.
tools/runners
Package runners implements MCP tools for GitLab runner operations.
Package runners implements MCP tools for GitLab runner operations.
tools/search
Package search implements MCP tools for GitLab global, group, project, code, issue, and merge request search operations.
Package search implements MCP tools for GitLab global, group, project, code, issue, and merge request search operations.
tools/securefiles
Package securefiles implements MCP tools for GitLab project secure file operations.
Package securefiles implements MCP tools for GitLab project secure file operations.
tools/securityattributes
Package securityattributes implements MCP tools for GitLab security attributes.
Package securityattributes implements MCP tools for GitLab security attributes.
tools/securitycategories
Package securitycategories implements MCP tools for GitLab security categories.
Package securitycategories implements MCP tools for GitLab security categories.
tools/securityfindings
Package securityfindings implements MCP tools for GitLab vulnerability finding operations.
Package securityfindings implements MCP tools for GitLab vulnerability finding operations.
tools/securityscanprofiles
Package securityscanprofiles implements MCP tools for GitLab security scan profiles through the GraphQL API.
Package securityscanprofiles implements MCP tools for GitLab security scan profiles through the GraphQL API.
tools/securitysettings
Package securitysettings implements MCP tools for GitLab project security settings.
Package securitysettings implements MCP tools for GitLab project security settings.
tools/settings
Package settings implements MCP tools for GitLab instance application settings.
Package settings implements MCP tools for GitLab instance application settings.
tools/sidekiq
Package sidekiq implements MCP tools for GitLab Sidekiq metrics.
Package sidekiq implements MCP tools for GitLab Sidekiq metrics.
tools/snippetdiscussions
Package snippetdiscussions implements MCP tools for GitLab snippet discussion operations.
Package snippetdiscussions implements MCP tools for GitLab snippet discussion operations.
tools/snippetnotes
Package snippetnotes implements MCP tools for GitLab snippet note operations.
Package snippetnotes implements MCP tools for GitLab snippet note operations.
tools/snippets
Package snippets implements MCP tools for GitLab personal and project snippets.
Package snippets implements MCP tools for GitLab personal and project snippets.
tools/snippetstoragemoves
Package snippetstoragemoves implements MCP tools for GitLab snippet repository storage move operations.
Package snippetstoragemoves implements MCP tools for GitLab snippet repository storage move operations.
tools/surfaces
Package surfaces projects standalone runtime and interactive tool specs into visible MCP surfaces and dynamic catalog routes.
Package surfaces projects standalone runtime and interactive tool specs into visible MCP surfaces and dynamic catalog routes.
tools/systemhooks
Package systemhooks implements MCP tools for GitLab instance system hooks.
Package systemhooks implements MCP tools for GitLab instance system hooks.
tools/tags
Package tags implements MCP tools for GitLab tag and protected tag operations.
Package tags implements MCP tools for GitLab tag and protected tag operations.
tools/terraformstates
Package terraformstates implements MCP tools for GitLab Terraform state operations.
Package terraformstates implements MCP tools for GitLab Terraform state operations.
tools/todos
Package todos implements MCP tools for GitLab todo operations.
Package todos implements MCP tools for GitLab todo operations.
tools/topics
Package topics implements MCP tools for GitLab project topic operations.
Package topics implements MCP tools for GitLab project topic operations.
tools/uploads
Package uploads implements MCP tools for GitLab project upload operations.
Package uploads implements MCP tools for GitLab project upload operations.
tools/usagedata
Package usagedata implements MCP tools for GitLab usage data and service ping metrics.
Package usagedata implements MCP tools for GitLab usage data and service ping metrics.
tools/useremails
Package useremails implements MCP tools for GitLab user email operations.
Package useremails implements MCP tools for GitLab user email operations.
tools/usergpgkeys
Package usergpgkeys implements MCP tools for GitLab user GPG key operations.
Package usergpgkeys implements MCP tools for GitLab user GPG key operations.
tools/users
Package users implements GitLab user MCP tools for the current authenticated user, administrator user management, user CRUD, SSH keys, service accounts, personal access tokens, memberships, activities, runner details, and identity deletion.
Package users implements GitLab user MCP tools for the current authenticated user, administrator user management, user CRUD, SSH keys, service accounts, personal access tokens, memberships, activities, runner details, and identity deletion.
tools/vulnerabilities
Package vulnerabilities implements MCP tools for GitLab vulnerability management through the GraphQL API.
Package vulnerabilities implements MCP tools for GitLab vulnerability management through the GraphQL API.
tools/waitpoll
Package waitpoll provides shared polling loops for wait-style tools.
Package waitpoll provides shared polling loops for wait-style tools.
tools/wikis
Package wikis implements MCP tools for GitLab project wiki operations.
Package wikis implements MCP tools for GitLab project wiki operations.
tools/workitems
Package workitems implements MCP tools for GitLab work item operations exposed through issue workflows.
Package workitems implements MCP tools for GitLab work item operations exposed through issue workflows.
tools/workitemsavedviews
Package workitemsavedviews implements MCP tools for GitLab work item saved views through the GraphQL API.
Package workitemsavedviews implements MCP tools for GitLab work item saved views through the GraphQL API.
toolutil
Package toolutil provides shared utilities for MCP tool handler sub-packages.
Package toolutil provides shared utilities for MCP tool handler sub-packages.
test
e2e/collector
Package collectore2e proves that a real OTLP receiver accepts what the server exports: traces, metrics and logs reach a collector started for the test, with the identity policy and the metric views applied as configured.
Package collectore2e proves that a real OTLP receiver accepts what the server exports: traces, metrics and logs reach a collector started for the test, with the identity policy and the metric views applied as configured.
e2e/http
Package httpe2e drives the real gitlab-mcp-server binary over HTTP the way a client does: cross-origin decisions, preflight, the authentication modes, rate limiting, the JSON-RPC shape of a refusal, shutdown and draining, and the flags that restrict them.
Package httpe2e drives the real gitlab-mcp-server binary over HTTP the way a client does: cross-origin decisions, preflight, the authentication modes, rate limiting, the JSON-RPC shape of a refusal, shutdown and draining, and the flags that restrict them.
e2e/orbit
Package orbit holds the live tests of the six read-only gitlab_orbit_* tools against GitLab.com's experimental Knowledge Graph API, on the fixtures scripts/setup-orbit-fixtures.sh provisions under test/fixtures/orbit.
Package orbit holds the live tests of the six read-only gitlab_orbit_* tools against GitLab.com's experimental Knowledge Graph API, on the fixtures scripts/setup-orbit-fixtures.sh provisions under test/fixtures/orbit.
e2e/stdio
Package stdioe2e drives the real gitlab-mcp-server binary over pipes the way an MCP client does: process lifetime, stdout carrying nothing but JSON-RPC, logs on stderr, readiness before the catalog is built, and the environment variables stdio configuration actually reads.
Package stdioe2e drives the real gitlab-mcp-server binary over pipes the way an MCP client does: process lifetime, stdout carrying nothing but JSON-RPC, logs on stderr, readiness before the catalog is built, and the environment variables stdio configuration actually reads.
e2e/suite
Package suite contains end-to-end tests for the GitLab MCP server.
Package suite contains end-to-end tests for the GitLab MCP server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL