MCP Server
MCP
GitLab MCP Server
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
Install
mcpb:https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/[email protected]
Configuration Example
{
"remotes": [
{
"type": "streamable-http",
"url": "https://mcp.jmrp.io/gitlab",
"headers": [
{
"description": "GitLab Personal Access Token (glpat-...). Alternatively, send Authorization: Bearer <token>. It travels per request and is never stored server-side.",
"isRequired": true,
"isSecret": true,
"placeholder": "glpat-xxxxxxxxxxxxxxxxxxxx",
"name": "PRIVATE-TOKEN"
},
{
"description": "Target GitLab instance URL. Optional on the public hosted endpoint, which defaults to https://gitlab.com.",
"placeholder": "https://gitlab.com",
"name": "GITLAB-URL"
}
]
}
],
"packages": [
{
"registryType": "mcpb",
"identifier": "https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-linux-amd64",
"version": "2.6.6",
"fileSha256": "d3b41df0afe0d61f2edcabef55621cd496d66f10d011d35c126db25ddcf50677",
"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_SKIP_TLS_VERIFY"
},
{
"description": "Tool catalog selector: dynamic, meta, or individual (default: dynamic)",
"default": "dynamic",
"choices": [
"meta",
"individual",
"dynamic"
],
"name": "TOOL_SURFACE"
},
{
"description": "Resource and prompt catalog selector: full or minimal (default: full)",
"default": "full",
"choices": [
"full",
"minimal"
],
"name": "CAPABILITY_SURFACE"
},
{
"description": "Meta-tool input schema detail: opaque, compact, or full (default: opaque)",
"default": "opaque",
"choices": [
"opaque",
"compact",
"full"
],
"name": "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",
"format": "string",
"name": "GITLAB_TIER"
},
{
"description": "Read-only mode: disables all mutating tools (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_READ_ONLY"
},
{
"description": "Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_SAFE_MODE"
},
{
"description": "Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)",
"format": "boolean",
"default": "true",
"name": "EMBEDDED_RESOURCES"
},
{
"description": "Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)",
"placeholder": "gitlab_admin,gitlab_runner",
"name": "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_IGNORE_SCOPES"
},
{
"description": "Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)",
"default": "2147483648",
"name": "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": "RATE_LIMIT_RPS"
},
{
"description": "Token-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)",
"format": "number",
"default": "40",
"name": "RATE_LIMIT_BURST"
},
{
"description": "Logging verbosity (default: info)",
"default": "info",
"choices": [
"debug",
"info",
"warn",
"error"
],
"name": "LOG_LEVEL"
},
{
"description": "Auto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true",
"default": "true",
"choices": [
"true",
"check",
"false"
],
"name": "AUTO_UPDATE"
},
{
"description": "GitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)",
"default": "jmrplens/gitlab-mcp-server",
"name": "AUTO_UPDATE_REPO"
},
{
"description": "Periodic update check interval in HTTP mode (default: 1h)",
"default": "1h",
"name": "AUTO_UPDATE_INTERVAL"
},
{
"description": "Startup/background update timeout, range 5s-10m (default: 60s)",
"default": "60s",
"name": "AUTO_UPDATE_TIMEOUT"
}
]
},
{
"registryType": "mcpb",
"identifier": "https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-linux-arm64",
"version": "2.6.6",
"fileSha256": "e47f1ef8a9a32a0fafa671fc959e792e3387138f061cf62da51b52cd9185b0b1",
"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_SKIP_TLS_VERIFY"
},
{
"description": "Tool catalog selector: dynamic, meta, or individual (default: dynamic)",
"default": "dynamic",
"choices": [
"meta",
"individual",
"dynamic"
],
"name": "TOOL_SURFACE"
},
{
"description": "Resource and prompt catalog selector: full or minimal (default: full)",
"default": "full",
"choices": [
"full",
"minimal"
],
"name": "CAPABILITY_SURFACE"
},
{
"description": "Meta-tool input schema detail: opaque, compact, or full (default: opaque)",
"default": "opaque",
"choices": [
"opaque",
"compact",
"full"
],
"name": "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",
"format": "string",
"name": "GITLAB_TIER"
},
{
"description": "Read-only mode: disables all mutating tools (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_READ_ONLY"
},
{
"description": "Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_SAFE_MODE"
},
{
"description": "Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)",
"format": "boolean",
"default": "true",
"name": "EMBEDDED_RESOURCES"
},
{
"description": "Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)",
"placeholder": "gitlab_admin,gitlab_runner",
"name": "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_IGNORE_SCOPES"
},
{
"description": "Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)",
"default": "2147483648",
"name": "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": "RATE_LIMIT_RPS"
},
{
"description": "Token-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)",
"format": "number",
"default": "40",
"name": "RATE_LIMIT_BURST"
},
{
"description": "Logging verbosity (default: info)",
"default": "info",
"choices": [
"debug",
"info",
"warn",
"error"
],
"name": "LOG_LEVEL"
},
{
"description": "Auto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true",
"default": "true",
"choices": [
"true",
"check",
"false"
],
"name": "AUTO_UPDATE"
},
{
"description": "GitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)",
"default": "jmrplens/gitlab-mcp-server",
"name": "AUTO_UPDATE_REPO"
},
{
"description": "Periodic update check interval in HTTP mode (default: 1h)",
"default": "1h",
"name": "AUTO_UPDATE_INTERVAL"
},
{
"description": "Startup/background update timeout, range 5s-10m (default: 60s)",
"default": "60s",
"name": "AUTO_UPDATE_TIMEOUT"
}
]
},
{
"registryType": "mcpb",
"identifier": "https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-darwin-amd64",
"version": "2.6.6",
"fileSha256": "b293da3d76b1ab3dcc69888f43f097f0a8eab43e15f6566fd2f68676a70f19cf",
"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_SKIP_TLS_VERIFY"
},
{
"description": "Tool catalog selector: dynamic, meta, or individual (default: dynamic)",
"default": "dynamic",
"choices": [
"meta",
"individual",
"dynamic"
],
"name": "TOOL_SURFACE"
},
{
"description": "Resource and prompt catalog selector: full or minimal (default: full)",
"default": "full",
"choices": [
"full",
"minimal"
],
"name": "CAPABILITY_SURFACE"
},
{
"description": "Meta-tool input schema detail: opaque, compact, or full (default: opaque)",
"default": "opaque",
"choices": [
"opaque",
"compact",
"full"
],
"name": "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",
"format": "string",
"name": "GITLAB_TIER"
},
{
"description": "Read-only mode: disables all mutating tools (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_READ_ONLY"
},
{
"description": "Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_SAFE_MODE"
},
{
"description": "Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)",
"format": "boolean",
"default": "true",
"name": "EMBEDDED_RESOURCES"
},
{
"description": "Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)",
"placeholder": "gitlab_admin,gitlab_runner",
"name": "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_IGNORE_SCOPES"
},
{
"description": "Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)",
"default": "2147483648",
"name": "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": "RATE_LIMIT_RPS"
},
{
"description": "Token-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)",
"format": "number",
"default": "40",
"name": "RATE_LIMIT_BURST"
},
{
"description": "Logging verbosity (default: info)",
"default": "info",
"choices": [
"debug",
"info",
"warn",
"error"
],
"name": "LOG_LEVEL"
},
{
"description": "Auto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true",
"default": "true",
"choices": [
"true",
"check",
"false"
],
"name": "AUTO_UPDATE"
},
{
"description": "GitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)",
"default": "jmrplens/gitlab-mcp-server",
"name": "AUTO_UPDATE_REPO"
},
{
"description": "Periodic update check interval in HTTP mode (default: 1h)",
"default": "1h",
"name": "AUTO_UPDATE_INTERVAL"
},
{
"description": "Startup/background update timeout, range 5s-10m (default: 60s)",
"default": "60s",
"name": "AUTO_UPDATE_TIMEOUT"
}
]
},
{
"registryType": "mcpb",
"identifier": "https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-darwin-arm64",
"version": "2.6.6",
"fileSha256": "2da38f9f00d1d723348e73405a59825af6ced44ae596cd497c114431e263ae96",
"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_SKIP_TLS_VERIFY"
},
{
"description": "Tool catalog selector: dynamic, meta, or individual (default: dynamic)",
"default": "dynamic",
"choices": [
"meta",
"individual",
"dynamic"
],
"name": "TOOL_SURFACE"
},
{
"description": "Resource and prompt catalog selector: full or minimal (default: full)",
"default": "full",
"choices": [
"full",
"minimal"
],
"name": "CAPABILITY_SURFACE"
},
{
"description": "Meta-tool input schema detail: opaque, compact, or full (default: opaque)",
"default": "opaque",
"choices": [
"opaque",
"compact",
"full"
],
"name": "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",
"format": "string",
"name": "GITLAB_TIER"
},
{
"description": "Read-only mode: disables all mutating tools (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_READ_ONLY"
},
{
"description": "Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_SAFE_MODE"
},
{
"description": "Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)",
"format": "boolean",
"default": "true",
"name": "EMBEDDED_RESOURCES"
},
{
"description": "Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)",
"placeholder": "gitlab_admin,gitlab_runner",
"name": "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_IGNORE_SCOPES"
},
{
"description": "Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)",
"default": "2147483648",
"name": "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": "RATE_LIMIT_RPS"
},
{
"description": "Token-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)",
"format": "number",
"default": "40",
"name": "RATE_LIMIT_BURST"
},
{
"description": "Logging verbosity (default: info)",
"default": "info",
"choices": [
"debug",
"info",
"warn",
"error"
],
"name": "LOG_LEVEL"
},
{
"description": "Auto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true",
"default": "true",
"choices": [
"true",
"check",
"false"
],
"name": "AUTO_UPDATE"
},
{
"description": "GitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)",
"default": "jmrplens/gitlab-mcp-server",
"name": "AUTO_UPDATE_REPO"
},
{
"description": "Periodic update check interval in HTTP mode (default: 1h)",
"default": "1h",
"name": "AUTO_UPDATE_INTERVAL"
},
{
"description": "Startup/background update timeout, range 5s-10m (default: 60s)",
"default": "60s",
"name": "AUTO_UPDATE_TIMEOUT"
}
]
},
{
"registryType": "mcpb",
"identifier": "https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-windows-amd64.exe",
"version": "2.6.6",
"fileSha256": "444b6ed7c159bc4cc6af0007f1a96c4bf254bbbf5cccce4e56421fbcc6f447d7",
"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_SKIP_TLS_VERIFY"
},
{
"description": "Tool catalog selector: dynamic, meta, or individual (default: dynamic)",
"default": "dynamic",
"choices": [
"meta",
"individual",
"dynamic"
],
"name": "TOOL_SURFACE"
},
{
"description": "Resource and prompt catalog selector: full or minimal (default: full)",
"default": "full",
"choices": [
"full",
"minimal"
],
"name": "CAPABILITY_SURFACE"
},
{
"description": "Meta-tool input schema detail: opaque, compact, or full (default: opaque)",
"default": "opaque",
"choices": [
"opaque",
"compact",
"full"
],
"name": "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",
"format": "string",
"name": "GITLAB_TIER"
},
{
"description": "Read-only mode: disables all mutating tools (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_READ_ONLY"
},
{
"description": "Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_SAFE_MODE"
},
{
"description": "Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)",
"format": "boolean",
"default": "true",
"name": "EMBEDDED_RESOURCES"
},
{
"description": "Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)",
"placeholder": "gitlab_admin,gitlab_runner",
"name": "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_IGNORE_SCOPES"
},
{
"description": "Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)",
"default": "2147483648",
"name": "UPLOAD_MAX_FILE_SIZE"
},
{
"description": "Extra OS path-list-separated directories allowed for local GitLab import archives",
"placeholder": "C:\\path\\to\\exports;D:\\other\\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": "RATE_LIMIT_RPS"
},
{
"description": "Token-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)",
"format": "number",
"default": "40",
"name": "RATE_LIMIT_BURST"
},
{
"description": "Logging verbosity (default: info)",
"default": "info",
"choices": [
"debug",
"info",
"warn",
"error"
],
"name": "LOG_LEVEL"
},
{
"description": "Auto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true",
"default": "true",
"choices": [
"true",
"check",
"false"
],
"name": "AUTO_UPDATE"
},
{
"description": "GitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)",
"default": "jmrplens/gitlab-mcp-server",
"name": "AUTO_UPDATE_REPO"
},
{
"description": "Periodic update check interval in HTTP mode (default: 1h)",
"default": "1h",
"name": "AUTO_UPDATE_INTERVAL"
},
{
"description": "Startup/background update timeout, range 5s-10m (default: 60s)",
"default": "60s",
"name": "AUTO_UPDATE_TIMEOUT"
}
]
},
{
"registryType": "mcpb",
"identifier": "https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-windows-arm64.exe",
"version": "2.6.6",
"fileSha256": "af74acc8164a8d60834a323e3a7f2870063fcdfd51d2e237f8a330e312bb01be",
"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_SKIP_TLS_VERIFY"
},
{
"description": "Tool catalog selector: dynamic, meta, or individual (default: dynamic)",
"default": "dynamic",
"choices": [
"meta",
"individual",
"dynamic"
],
"name": "TOOL_SURFACE"
},
{
"description": "Resource and prompt catalog selector: full or minimal (default: full)",
"default": "full",
"choices": [
"full",
"minimal"
],
"name": "CAPABILITY_SURFACE"
},
{
"description": "Meta-tool input schema detail: opaque, compact, or full (default: opaque)",
"default": "opaque",
"choices": [
"opaque",
"compact",
"full"
],
"name": "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",
"format": "string",
"name": "GITLAB_TIER"
},
{
"description": "Read-only mode: disables all mutating tools (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_READ_ONLY"
},
{
"description": "Safe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)",
"format": "boolean",
"default": "false",
"name": "GITLAB_SAFE_MODE"
},
{
"description": "Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)",
"format": "boolean",
"default": "true",
"name": "EMBEDDED_RESOURCES"
},
{
"description": "Comma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)",
"placeholder": "gitlab_admin,gitlab_runner",
"name": "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_IGNORE_SCOPES"
},
{
"description": "Maximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)",
"default": "2147483648",
"name": "UPLOAD_MAX_FILE_SIZE"
},
{
"description": "Extra OS path-list-separated directories allowed for local GitLab import archives",
"placeholder": "C:\\path\\to\\exports;D:\\other\\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": "RATE_LIMIT_RPS"
},
{
"description": "Token-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)",
"format": "number",
"default": "40",
"name": "RATE_LIMIT_BURST"
},
{
"description": "Logging verbosity (default: info)",
"default": "info",
"choices": [
"debug",
"info",
"warn",
"error"
],
"name": "LOG_LEVEL"
},
{
"description": "Auto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true",
"default": "true",
"choices": [
"true",
"check",
"false"
],
"name": "AUTO_UPDATE"
},
{
"description": "GitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)",
"default": "jmrplens/gitlab-mcp-server",
"name": "AUTO_UPDATE_REPO"
},
{
"description": "Periodic update check interval in HTTP mode (default: 1h)",
"default": "1h",
"name": "AUTO_UPDATE_INTERVAL"
},
{
"description": "Startup/background update timeout, range 5s-10m (default: 60s)",
"default": "60s",
"name": "AUTO_UPDATE_TIMEOUT"
}
]
}
]
}
mcp
model-context-protocol
streamable-http
mcpb
By
Comments
Sign in to leave a comment