{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.jmrplens/gitlab-mcp-server","description":"Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.","title":"GitLab MCP Server","repository":{"url":"https://github.com/jmrplens/gitlab-mcp-server","source":"github","id":"1208139072"},"version":"3.0.0","websiteUrl":"https://jmrp.io/docs/gitlab-mcp-server","icons":[{"src":"https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/site/public/favicon.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/site/public/logo-400.png","mimeType":"image/png","sizes":["400x400"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.0.0/gitlab-mcp-server.mcpb","version":"3.0.0","fileSha256":"61b2603175eac1be89070c945ee4330071a9fffb9e37d8fe7171323a4d0a20d2","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","default":"https://gitlab.com","placeholder":"https://gitlab.com","name":"GITLAB_URL"},{"description":"GitLab Personal Access Token (glpat-...)","isRequired":true,"isSecret":true,"placeholder":"glpat-xxxxxxxxxxxxxxxxxxxx","name":"GITLAB_TOKEN"},{"description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SKIP_TLS_VERIFY"},{"description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","default":"dynamic","choices":["meta","individual","dynamic"],"name":"GITLAB_MCP_TOOL_SURFACE"},{"description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","default":"full","choices":["full","minimal"],"name":"GITLAB_MCP_CAPABILITY_SURFACE"},{"description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","default":"opaque","choices":["opaque","compact","full"],"name":"GITLAB_MCP_META_PARAM_SCHEMA"},{"description":"GitLab edition tier: free/ce, premium, or ultimate. When unset, detected from GET /license (fallback free). Gates Premium/Ultimate tools; GitLab.com Ultimate also exposes Orbit Knowledge Graph tools. Replaces the deprecated GITLAB_ENTERPRISE boolean","choices":["free","ce","premium","ultimate"],"name":"GITLAB_MCP_TIER"},{"description":"Read-only mode: disables all mutating tools (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_READ_ONLY"},{"description":"Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SAFE_MODE"},{"description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","default":"true","name":"GITLAB_MCP_EMBEDDED_RESOURCES"},{"description":"Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)","placeholder":"gitlab_admin,gitlab_runner","name":"GITLAB_MCP_EXCLUDE_TOOLS"},{"description":"Skip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_IGNORE_SCOPES"},{"description":"Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)","default":"2147483648","name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE"},{"description":"Extra OS path-list-separated directories allowed for local GitLab import archives","placeholder":"/path/to/exports:/another/path/to/exports","name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS"},{"description":"Per-server tools/call rate limit in requests per second; 0 disables it (default: 0)","format":"number","default":"0","name":"GITLAB_MCP_RATE_LIMIT_RPS"},{"description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","default":"40","name":"GITLAB_MCP_RATE_LIMIT_BURST"},{"description":"Logging verbosity (default: info)","default":"info","choices":["debug","info","warn","error"],"name":"GITLAB_MCP_LOG_LEVEL"}]},{"registryType":"oci","identifier":"ghcr.io/jmrplens/gitlab-mcp-server:3.0.0@sha256:80990c658d2ac1b95c98540fbd8fc2bcf300a86a9b18c73483ed7412441b2c04","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","default":"https://gitlab.com","placeholder":"https://gitlab.com","name":"GITLAB_URL"},{"description":"GitLab Personal Access Token (glpat-...)","isRequired":true,"isSecret":true,"placeholder":"glpat-xxxxxxxxxxxxxxxxxxxx","name":"GITLAB_TOKEN"},{"description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SKIP_TLS_VERIFY"},{"description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","default":"dynamic","choices":["meta","individual","dynamic"],"name":"GITLAB_MCP_TOOL_SURFACE"},{"description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","default":"full","choices":["full","minimal"],"name":"GITLAB_MCP_CAPABILITY_SURFACE"},{"description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","default":"opaque","choices":["opaque","compact","full"],"name":"GITLAB_MCP_META_PARAM_SCHEMA"},{"description":"GitLab edition tier: free/ce, premium, or ultimate. When unset, detected from GET /license (fallback free). Gates Premium/Ultimate tools; GitLab.com Ultimate also exposes Orbit Knowledge Graph tools. Replaces the deprecated GITLAB_ENTERPRISE boolean","choices":["free","ce","premium","ultimate"],"name":"GITLAB_MCP_TIER"},{"description":"Read-only mode: disables all mutating tools (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_READ_ONLY"},{"description":"Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SAFE_MODE"},{"description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","default":"true","name":"GITLAB_MCP_EMBEDDED_RESOURCES"},{"description":"Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)","placeholder":"gitlab_admin,gitlab_runner","name":"GITLAB_MCP_EXCLUDE_TOOLS"},{"description":"Skip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_IGNORE_SCOPES"},{"description":"Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)","default":"2147483648","name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE"},{"description":"Extra OS path-list-separated directories allowed for local GitLab import archives","placeholder":"/path/to/exports:/another/path/to/exports","name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS"},{"description":"Per-server tools/call rate limit in requests per second; 0 disables it (default: 0)","format":"number","default":"0","name":"GITLAB_MCP_RATE_LIMIT_RPS"},{"description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","default":"40","name":"GITLAB_MCP_RATE_LIMIT_BURST"},{"description":"Logging verbosity (default: info)","default":"info","choices":["debug","info","warn","error"],"name":"GITLAB_MCP_LOG_LEVEL"}]},{"registryType":"npm","identifier":"@jmrp.io/gitlab-mcp-server","version":"3.0.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","default":"https://gitlab.com","placeholder":"https://gitlab.com","name":"GITLAB_URL"},{"description":"GitLab Personal Access Token (glpat-...)","isRequired":true,"isSecret":true,"placeholder":"glpat-xxxxxxxxxxxxxxxxxxxx","name":"GITLAB_TOKEN"},{"description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SKIP_TLS_VERIFY"},{"description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","default":"dynamic","choices":["meta","individual","dynamic"],"name":"GITLAB_MCP_TOOL_SURFACE"},{"description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","default":"full","choices":["full","minimal"],"name":"GITLAB_MCP_CAPABILITY_SURFACE"},{"description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","default":"opaque","choices":["opaque","compact","full"],"name":"GITLAB_MCP_META_PARAM_SCHEMA"},{"description":"GitLab edition tier: free/ce, premium, or ultimate. When unset, detected from GET /license (fallback free). Gates Premium/Ultimate tools; GitLab.com Ultimate also exposes Orbit Knowledge Graph tools. Replaces the deprecated GITLAB_ENTERPRISE boolean","choices":["free","ce","premium","ultimate"],"name":"GITLAB_MCP_TIER"},{"description":"Read-only mode: disables all mutating tools (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_READ_ONLY"},{"description":"Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SAFE_MODE"},{"description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","default":"true","name":"GITLAB_MCP_EMBEDDED_RESOURCES"},{"description":"Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)","placeholder":"gitlab_admin,gitlab_runner","name":"GITLAB_MCP_EXCLUDE_TOOLS"},{"description":"Skip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_IGNORE_SCOPES"},{"description":"Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)","default":"2147483648","name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE"},{"description":"Extra OS path-list-separated directories allowed for local GitLab import archives","placeholder":"/path/to/exports:/another/path/to/exports","name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS"},{"description":"Per-server tools/call rate limit in requests per second; 0 disables it (default: 0)","format":"number","default":"0","name":"GITLAB_MCP_RATE_LIMIT_RPS"},{"description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","default":"40","name":"GITLAB_MCP_RATE_LIMIT_BURST"},{"description":"Logging verbosity (default: info)","default":"info","choices":["debug","info","warn","error"],"name":"GITLAB_MCP_LOG_LEVEL"}]},{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"jmrplens-gitlab-mcp-server","version":"3.0.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","default":"https://gitlab.com","placeholder":"https://gitlab.com","name":"GITLAB_URL"},{"description":"GitLab Personal Access Token (glpat-...)","isRequired":true,"isSecret":true,"placeholder":"glpat-xxxxxxxxxxxxxxxxxxxx","name":"GITLAB_TOKEN"},{"description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SKIP_TLS_VERIFY"},{"description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","default":"dynamic","choices":["meta","individual","dynamic"],"name":"GITLAB_MCP_TOOL_SURFACE"},{"description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","default":"full","choices":["full","minimal"],"name":"GITLAB_MCP_CAPABILITY_SURFACE"},{"description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","default":"opaque","choices":["opaque","compact","full"],"name":"GITLAB_MCP_META_PARAM_SCHEMA"},{"description":"GitLab edition tier: free/ce, premium, or ultimate. When unset, detected from GET /license (fallback free). Gates Premium/Ultimate tools; GitLab.com Ultimate also exposes Orbit Knowledge Graph tools. Replaces the deprecated GITLAB_ENTERPRISE boolean","choices":["free","ce","premium","ultimate"],"name":"GITLAB_MCP_TIER"},{"description":"Read-only mode: disables all mutating tools (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_READ_ONLY"},{"description":"Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SAFE_MODE"},{"description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","default":"true","name":"GITLAB_MCP_EMBEDDED_RESOURCES"},{"description":"Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)","placeholder":"gitlab_admin,gitlab_runner","name":"GITLAB_MCP_EXCLUDE_TOOLS"},{"description":"Skip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_IGNORE_SCOPES"},{"description":"Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)","default":"2147483648","name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE"},{"description":"Extra OS path-list-separated directories allowed for local GitLab import archives","placeholder":"/path/to/exports:/another/path/to/exports","name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS"},{"description":"Per-server tools/call rate limit in requests per second; 0 disables it (default: 0)","format":"number","default":"0","name":"GITLAB_MCP_RATE_LIMIT_RPS"},{"description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","default":"40","name":"GITLAB_MCP_RATE_LIMIT_BURST"},{"description":"Logging verbosity (default: info)","default":"info","choices":["debug","info","warn","error"],"name":"GITLAB_MCP_LOG_LEVEL"}]},{"registryType":"nuget","registryBaseUrl":"https://api.nuget.org/v3/index.json","identifier":"gitlab-mcp-server","version":"3.0.0","runtimeHint":"dnx","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","default":"https://gitlab.com","placeholder":"https://gitlab.com","name":"GITLAB_URL"},{"description":"GitLab Personal Access Token (glpat-...)","isRequired":true,"isSecret":true,"placeholder":"glpat-xxxxxxxxxxxxxxxxxxxx","name":"GITLAB_TOKEN"},{"description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SKIP_TLS_VERIFY"},{"description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","default":"dynamic","choices":["meta","individual","dynamic"],"name":"GITLAB_MCP_TOOL_SURFACE"},{"description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","default":"full","choices":["full","minimal"],"name":"GITLAB_MCP_CAPABILITY_SURFACE"},{"description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","default":"opaque","choices":["opaque","compact","full"],"name":"GITLAB_MCP_META_PARAM_SCHEMA"},{"description":"GitLab edition tier: free/ce, premium, or ultimate. When unset, detected from GET /license (fallback free). Gates Premium/Ultimate tools; GitLab.com Ultimate also exposes Orbit Knowledge Graph tools. Replaces the deprecated GITLAB_ENTERPRISE boolean","choices":["free","ce","premium","ultimate"],"name":"GITLAB_MCP_TIER"},{"description":"Read-only mode: disables all mutating tools (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_READ_ONLY"},{"description":"Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_SAFE_MODE"},{"description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","default":"true","name":"GITLAB_MCP_EMBEDDED_RESOURCES"},{"description":"Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)","placeholder":"gitlab_admin,gitlab_runner","name":"GITLAB_MCP_EXCLUDE_TOOLS"},{"description":"Skip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)","format":"boolean","default":"false","name":"GITLAB_MCP_IGNORE_SCOPES"},{"description":"Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)","default":"2147483648","name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE"},{"description":"Extra OS path-list-separated directories allowed for local GitLab import archives","placeholder":"/path/to/exports:/another/path/to/exports","name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS"},{"description":"Per-server tools/call rate limit in requests per second; 0 disables it (default: 0)","format":"number","default":"0","name":"GITLAB_MCP_RATE_LIMIT_RPS"},{"description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","default":"40","name":"GITLAB_MCP_RATE_LIMIT_BURST"},{"description":"Logging verbosity (default: info)","default":"info","choices":["debug","info","warn","error"],"name":"GITLAB_MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://mcp.jmrp.io/gitlab","headers":[{"description":"Bearer <token>. The endpoint runs in OAuth mode: a client that speaks the OAuth flow needs no header at all and discovers the authorization server from the 401 challenge. A GitLab personal access token also works here, sent as 'Bearer glpat-...', which keeps clients with no OAuth flow working. It travels per request and is never stored server-side.","isSecret":true,"placeholder":"Bearer glpat-xxxxxxxxxxxxxxxxxxxx","name":"Authorization"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-10T07:13:36.505026Z","publishedAt":"2026-09-10T07:13:36.505026Z","updatedAt":"2026-09-10T07:13:36.505026Z","isLatest":true}}}
