GitLab MCP Server
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
What it says
The record the registry holds
Where it answers
https://mcp.jmrp.io/gitlab · streamable-http
How you get it
It also ships as a package you run yourself.
https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-linux-amd64 · mcpb · 2.6.6https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-linux-arm64 · mcpb · 2.6.6https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-darwin-amd64 · mcpb · 2.6.6https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-darwin-arm64 · mcpb · 2.6.6https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-windows-amd64.exe · mcpb · 2.6.6https://github.com/jmrplens/gitlab-mcp-server/releases/download/v2.6.6/gitlab-mcp-server-windows-arm64.exe · mcpb · 2.6.6
the record
Copied from the official MCP registry, exactly as it holds it.
{
"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": "2.6.6",
"websiteUrl": "https://mcp.jmrp.io/",
"icons": [
{
"src": "https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/site/src/assets/logo-light.svg",
"mimeType": "image/svg+xml",
"sizes": [
"any"
],
"theme": "light"
},
{
"src": "https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/site/src/assets/logo-dark.svg",
"mimeType": "image/svg+xml",
"sizes": [
"any"
],
"theme": "dark"
}
],
"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"
}
]
}
],
"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"
}
]
}
]
},
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"statusChangedAt": "2026-08-22T21:56:10.628016Z",
"publishedAt": "2026-08-22T21:56:10.628016Z",
"updatedAt": "2026-08-22T21:56:10.628016Z",
"isLatest": true
}
}
}
Make it installable
Draft an Agent Plugin from this
An MCP server is raw capability: some tools, wired to something. An Agent Plugin is the packaging that says what job it does, what it leaves behind and where it stops. The prompt below carries this record and asks for the packaging; your own assistant writes it, and nothing here is sent anywhere.
What this is
MCP server
application/mcp-server-record+jsonhosted · an address you calllocal · you run it yourselfversion 2.6.6last seen 2026-08-23
These are the publisher's own words, filed by them with the official MCP registry and mirrored here. This catalog did not read them from the publisher and has not run, called or installed anything.
Where it lives
The publisher's own address
The address the publisher put in their registry record, printed as they wrote it. Nobody here has opened it.