{"slug": "gitlab-mcp-server-io-github-jmrplens-gitlab-mcp-server-2-6-6", "title": "GitLab MCP Server (io.github.jmrplens/gitlab-mcp-server@2.6.6)", "summary": "GitLab MCP Server v2.6.6, a Go MCP server for GitLab that provides 2 dynamic tools reaching over 1000 REST/GraphQL actions, was published to the official MCP registry on 2026-08-22. The server, distributed as a hosted remote over streamable-http and filed under Git & Code Hosting, declares 21 environment variables and is free for Community Edition with no paid tier. The mcpindex integrity screen found no manipulation pattern in its description, but a deterministic conformance probe has not yet been run.", "body_md": "[← Index](/leaderboard)\n\n# GitLab MCP Server\n\nGo MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.\n\nThe current version, v2.6.6, was published to the official MCP registry on 2026-08-22. It is distributed as a hosted remote over streamable-http, filed under Git & Code Hosting by this index, and declares 21 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; [the index's current counts](/stats) put this record in context.\n\n## Using GitLab MCP Server in Claude, Cursor, Gemini CLI, Cline, or Zed?\n\nMCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and **HOLDs the call** when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use **Install this server** for that).\n\nRewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less\n\n```\nuv tool install mcpindex-gate && mcpindex-config-wire\n```\n\n[method](/methodology)\n\nSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.\n\n`mcpindex.integrity.description`\n\npassINFOevidence“No hidden actions”via static_description\n\n- - Semantic screen only - the deterministic conformance probe has not run on this server\n- - Confidence is reported but not yet calibrated (v1)\n- - Screen reads the tool description, not the live behavior\n- - advisory\n- - registry description only no input schema\n- - Still current: the description we screened is unchanged, re-checked against the registry\n- - The registry listing (version, packages, links) changed after this screen ran - the description we assessed did not\n\nSemantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.\n\nOwn this server? [Screen its description →](/screen)\n\n## That verdict was true at screening time (snapshot 2026-08-22).\n\nContracts can change after screening, with no version bump. The gate pins GitLab MCP Server’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.\n\n[See your first HOLD in 2 minutes →](/guides/install-the-gate-first-hold)\n\nRelated: [how to trust an MCP server](/guides/how-to-trust-an-mcp-server) · [screen before install](/guides/screen-mcp-server-before-install) · [silent contract drift](/guides/mcp-silent-contract-drift)\n\nPeople vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.\n\n```\n[Independent trust record for GitLab MCP Server](https://mcpindex.ai/server/io-github-jmrplens-gitlab-mcp-server) - screening verdict, registry provenance, and contract drift monitoring.\n<a href=\"https://mcpindex.ai/server/io-github-jmrplens-gitlab-mcp-server\">Independent trust record for GitLab MCP Server</a> - screening verdict, registry provenance, and contract drift monitoring.\n```\n\nA live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.\n\n```\n[![mcpindex](https://mcpindex.ai/api/v1/badge/io-github-jmrplens-gitlab-mcp-server)](https://mcpindex.ai/server/io-github-jmrplens-gitlab-mcp-server)\n<a href=\"https://mcpindex.ai/server/io-github-jmrplens-gitlab-mcp-server\"><img src=\"https://mcpindex.ai/api/v1/badge/io-github-jmrplens-gitlab-mcp-server\" alt=\"mcpindex verdict\" height=\"20\" /></a>\n```\n\n`GITLAB_URL`\n\nGitLab instance URL (default: https://gitlab.com; set for self-managed instances)\n\n`GITLAB_TOKEN`\n\nGitLab Personal Access Token (glpat-...)\n\n`GITLAB_SKIP_TLS_VERIFY`\n\nSkip TLS certificate verification for self-signed certs (default: false)\n\n`TOOL_SURFACE`\n\nTool catalog selector: dynamic, meta, or individual (default: dynamic)\n\n`CAPABILITY_SURFACE`\n\nResource and prompt catalog selector: full or minimal (default: full)\n\n`META_PARAM_SCHEMA`\n\nMeta-tool input schema detail: opaque, compact, or full (default: opaque)\n\n`GITLAB_TIER`\n\nGitLab 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\n\n`GITLAB_READ_ONLY`\n\nRead-only mode: disables all mutating tools (default: false)\n\n`GITLAB_SAFE_MODE`\n\nSafe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)\n\n`EMBEDDED_RESOURCES`\n\nAppend EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)\n\n`EXCLUDE_TOOLS`\n\nComma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)\n\n`GITLAB_IGNORE_SCOPES`\n\nSkip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)\n\n`UPLOAD_MAX_FILE_SIZE`\n\nMaximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)\n\n`GITLAB_MCP_ALLOWED_IMPORT_DIRS`\n\nExtra OS path-list-separated directories allowed for local GitLab import archives\n\n`RATE_LIMIT_RPS`\n\nPer-server tools/call rate limit in requests per second; 0 disables it (default: 0)\n\n`RATE_LIMIT_BURST`\n\nToken-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)\n\n`LOG_LEVEL`\n\nLogging verbosity (default: info)\n\n`AUTO_UPDATE`\n\nAuto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true\n\n`AUTO_UPDATE_REPO`\n\nGitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)\n\n`AUTO_UPDATE_INTERVAL`\n\nPeriodic update check interval in HTTP mode (default: 1h)\n\n`AUTO_UPDATE_TIMEOUT`\n\nStartup/background update timeout, range 5s-10m (default: 60s)\n\n`GITLAB_URL`\n\nGitLab instance URL (default: https://gitlab.com; set for self-managed instances)\n\n`GITLAB_TOKEN`\n\nGitLab Personal Access Token (glpat-...)\n\n`GITLAB_SKIP_TLS_VERIFY`\n\nSkip TLS certificate verification for self-signed certs (default: false)\n\n`TOOL_SURFACE`\n\nTool catalog selector: dynamic, meta, or individual (default: dynamic)\n\n`CAPABILITY_SURFACE`\n\nResource and prompt catalog selector: full or minimal (default: full)\n\n`META_PARAM_SCHEMA`\n\nMeta-tool input schema detail: opaque, compact, or full (default: opaque)\n\n`GITLAB_TIER`\n\nGitLab 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\n\n`GITLAB_READ_ONLY`\n\nRead-only mode: disables all mutating tools (default: false)\n\n`GITLAB_SAFE_MODE`\n\nSafe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)\n\n`EMBEDDED_RESOURCES`\n\nAppend EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)\n\n`EXCLUDE_TOOLS`\n\nComma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)\n\n`GITLAB_IGNORE_SCOPES`\n\nSkip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)\n\n`UPLOAD_MAX_FILE_SIZE`\n\nMaximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)\n\n`GITLAB_MCP_ALLOWED_IMPORT_DIRS`\n\nExtra OS path-list-separated directories allowed for local GitLab import archives\n\n`RATE_LIMIT_RPS`\n\nPer-server tools/call rate limit in requests per second; 0 disables it (default: 0)\n\n`RATE_LIMIT_BURST`\n\nToken-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)\n\n`LOG_LEVEL`\n\nLogging verbosity (default: info)\n\n`AUTO_UPDATE`\n\nAuto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true\n\n`AUTO_UPDATE_REPO`\n\nGitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)\n\n`AUTO_UPDATE_INTERVAL`\n\nPeriodic update check interval in HTTP mode (default: 1h)\n\n`AUTO_UPDATE_TIMEOUT`\n\nStartup/background update timeout, range 5s-10m (default: 60s)\n\n`GITLAB_URL`\n\nGitLab instance URL (default: https://gitlab.com; set for self-managed instances)\n\n`GITLAB_TOKEN`\n\nGitLab Personal Access Token (glpat-...)\n\n`GITLAB_SKIP_TLS_VERIFY`\n\nSkip TLS certificate verification for self-signed certs (default: false)\n\n`TOOL_SURFACE`\n\nTool catalog selector: dynamic, meta, or individual (default: dynamic)\n\n`CAPABILITY_SURFACE`\n\nResource and prompt catalog selector: full or minimal (default: full)\n\n`META_PARAM_SCHEMA`\n\nMeta-tool input schema detail: opaque, compact, or full (default: opaque)\n\n`GITLAB_TIER`\n\nGitLab 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\n\n`GITLAB_READ_ONLY`\n\nRead-only mode: disables all mutating tools (default: false)\n\n`GITLAB_SAFE_MODE`\n\nSafe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)\n\n`EMBEDDED_RESOURCES`\n\nAppend EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)\n\n`EXCLUDE_TOOLS`\n\nComma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)\n\n`GITLAB_IGNORE_SCOPES`\n\nSkip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)\n\n`UPLOAD_MAX_FILE_SIZE`\n\nMaximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)\n\n`GITLAB_MCP_ALLOWED_IMPORT_DIRS`\n\nExtra OS path-list-separated directories allowed for local GitLab import archives\n\n`RATE_LIMIT_RPS`\n\nPer-server tools/call rate limit in requests per second; 0 disables it (default: 0)\n\n`RATE_LIMIT_BURST`\n\nToken-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)\n\n`LOG_LEVEL`\n\nLogging verbosity (default: info)\n\n`AUTO_UPDATE`\n\nAuto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true\n\n`AUTO_UPDATE_REPO`\n\nGitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)\n\n`AUTO_UPDATE_INTERVAL`\n\nPeriodic update check interval in HTTP mode (default: 1h)\n\n`AUTO_UPDATE_TIMEOUT`\n\nStartup/background update timeout, range 5s-10m (default: 60s)\n\n`GITLAB_URL`\n\nGitLab instance URL (default: https://gitlab.com; set for self-managed instances)\n\n`GITLAB_TOKEN`\n\nGitLab Personal Access Token (glpat-...)\n\n`GITLAB_SKIP_TLS_VERIFY`\n\nSkip TLS certificate verification for self-signed certs (default: false)\n\n`TOOL_SURFACE`\n\nTool catalog selector: dynamic, meta, or individual (default: dynamic)\n\n`CAPABILITY_SURFACE`\n\nResource and prompt catalog selector: full or minimal (default: full)\n\n`META_PARAM_SCHEMA`\n\nMeta-tool input schema detail: opaque, compact, or full (default: opaque)\n\n`GITLAB_TIER`\n\nGitLab 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\n\n`GITLAB_READ_ONLY`\n\nRead-only mode: disables all mutating tools (default: false)\n\n`GITLAB_SAFE_MODE`\n\nSafe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)\n\n`EMBEDDED_RESOURCES`\n\nAppend EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)\n\n`EXCLUDE_TOOLS`\n\nComma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)\n\n`GITLAB_IGNORE_SCOPES`\n\nSkip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)\n\n`UPLOAD_MAX_FILE_SIZE`\n\nMaximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)\n\n`GITLAB_MCP_ALLOWED_IMPORT_DIRS`\n\nExtra OS path-list-separated directories allowed for local GitLab import archives\n\n`RATE_LIMIT_RPS`\n\nPer-server tools/call rate limit in requests per second; 0 disables it (default: 0)\n\n`RATE_LIMIT_BURST`\n\nToken-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)\n\n`LOG_LEVEL`\n\nLogging verbosity (default: info)\n\n`AUTO_UPDATE`\n\nAuto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true\n\n`AUTO_UPDATE_REPO`\n\nGitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)\n\n`AUTO_UPDATE_INTERVAL`\n\nPeriodic update check interval in HTTP mode (default: 1h)\n\n`AUTO_UPDATE_TIMEOUT`\n\nStartup/background update timeout, range 5s-10m (default: 60s)\n\n`GITLAB_URL`\n\nGitLab instance URL (default: https://gitlab.com; set for self-managed instances)\n\n`GITLAB_TOKEN`\n\nGitLab Personal Access Token (glpat-...)\n\n`GITLAB_SKIP_TLS_VERIFY`\n\nSkip TLS certificate verification for self-signed certs (default: false)\n\n`TOOL_SURFACE`\n\nTool catalog selector: dynamic, meta, or individual (default: dynamic)\n\n`CAPABILITY_SURFACE`\n\nResource and prompt catalog selector: full or minimal (default: full)\n\n`META_PARAM_SCHEMA`\n\nMeta-tool input schema detail: opaque, compact, or full (default: opaque)\n\n`GITLAB_TIER`\n\nGitLab 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\n\n`GITLAB_READ_ONLY`\n\nRead-only mode: disables all mutating tools (default: false)\n\n`GITLAB_SAFE_MODE`\n\nSafe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)\n\n`EMBEDDED_RESOURCES`\n\nAppend EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)\n\n`EXCLUDE_TOOLS`\n\nComma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)\n\n`GITLAB_IGNORE_SCOPES`\n\nSkip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)\n\n`UPLOAD_MAX_FILE_SIZE`\n\nMaximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)\n\n`GITLAB_MCP_ALLOWED_IMPORT_DIRS`\n\nExtra OS path-list-separated directories allowed for local GitLab import archives\n\n`RATE_LIMIT_RPS`\n\nPer-server tools/call rate limit in requests per second; 0 disables it (default: 0)\n\n`RATE_LIMIT_BURST`\n\nToken-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)\n\n`LOG_LEVEL`\n\nLogging verbosity (default: info)\n\n`AUTO_UPDATE`\n\nAuto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true\n\n`AUTO_UPDATE_REPO`\n\nGitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)\n\n`AUTO_UPDATE_INTERVAL`\n\nPeriodic update check interval in HTTP mode (default: 1h)\n\n`AUTO_UPDATE_TIMEOUT`\n\nStartup/background update timeout, range 5s-10m (default: 60s)\n\n`GITLAB_URL`\n\nGitLab instance URL (default: https://gitlab.com; set for self-managed instances)\n\n`GITLAB_TOKEN`\n\nGitLab Personal Access Token (glpat-...)\n\n`GITLAB_SKIP_TLS_VERIFY`\n\nSkip TLS certificate verification for self-signed certs (default: false)\n\n`TOOL_SURFACE`\n\nTool catalog selector: dynamic, meta, or individual (default: dynamic)\n\n`CAPABILITY_SURFACE`\n\nResource and prompt catalog selector: full or minimal (default: full)\n\n`META_PARAM_SCHEMA`\n\nMeta-tool input schema detail: opaque, compact, or full (default: opaque)\n\n`GITLAB_TIER`\n\nGitLab 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\n\n`GITLAB_READ_ONLY`\n\nRead-only mode: disables all mutating tools (default: false)\n\n`GITLAB_SAFE_MODE`\n\nSafe mode: intercepts mutating tools and returns a JSON preview instead of executing (default: false)\n\n`EMBEDDED_RESOURCES`\n\nAppend EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)\n\n`EXCLUDE_TOOLS`\n\nComma-separated tool names to exclude from registration (e.g. gitlab_admin,gitlab_runner)\n\n`GITLAB_IGNORE_SCOPES`\n\nSkip Personal Access Token scope detection and register all tools regardless of token permissions (default: false)\n\n`UPLOAD_MAX_FILE_SIZE`\n\nMaximum attachment upload size in bytes or human-readable (e.g. 2GB). Default: 2147483648 (2 GB)\n\n`GITLAB_MCP_ALLOWED_IMPORT_DIRS`\n\nExtra OS path-list-separated directories allowed for local GitLab import archives\n\n`RATE_LIMIT_RPS`\n\nPer-server tools/call rate limit in requests per second; 0 disables it (default: 0)\n\n`RATE_LIMIT_BURST`\n\nToken-bucket burst size when RATE_LIMIT_RPS is greater than 0 (default: 40)\n\n`LOG_LEVEL`\n\nLogging verbosity (default: info)\n\n`AUTO_UPDATE`\n\nAuto-update mode: true (auto-apply), check (log-only), false (disabled). Default: true\n\n`AUTO_UPDATE_REPO`\n\nGitHub repository slug for release assets (default: jmrplens/gitlab-mcp-server)\n\n`AUTO_UPDATE_INTERVAL`\n\nPeriodic update check interval in HTTP mode (default: 1h)\n\n`AUTO_UPDATE_TIMEOUT`\n\nStartup/background update timeout, range 5s-10m (default: 60s)\n\n[methodology](/methodology)\n\n[BountyVerdict Agent Decision Toolsio.github.Mimirs402/bountyverdict](/server/io-github-mimirs402-bountyverdict)\n\nFree selector plus read-only GitHub bounty, agent harness, Actions, flake, and MCP drift decisions.\n\n[BountyVerdict Agent Decision Toolsio.github.cristianmoroaica/bountyverdict](/server/io-github-cristianmoroaica-bountyverdict)\n\nRead-only GitHub bounty, agent harness, Actions failure, flake, and MCP tool-drift decisions.\n\n[io.github.joepangallo/mcp-server-research-signalsio.github.joepangallo/mcp-server-research-signals](/server/io-github-joepangallo-mcp-server-research-signals)\n\nScored trend intelligence from HN, Reddit, ArXiv, and GitHub.", "url": "https://wpnews.pro/news/gitlab-mcp-server-io-github-jmrplens-gitlab-mcp-server-2-6-6", "canonical_source": "https://mcpindex.ai/server/io-github-jmrplens-gitlab-mcp-server", "published_at": "2026-08-22 21:56:10+00:00", "updated_at": "2026-08-22 23:13:48.979395+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["GitLab MCP Server", "mcpindex", "MCP registry"], "alternates": {"html": "https://wpnews.pro/news/gitlab-mcp-server-io-github-jmrplens-gitlab-mcp-server-2-6-6", "markdown": "https://wpnews.pro/news/gitlab-mcp-server-io-github-jmrplens-gitlab-mcp-server-2-6-6.md", "text": "https://wpnews.pro/news/gitlab-mcp-server-io-github-jmrplens-gitlab-mcp-server-2-6-6.txt", "jsonld": "https://wpnews.pro/news/gitlab-mcp-server-io-github-jmrplens-gitlab-mcp-server-2-6-6.jsonld"}}