GitLab MCP Server with GraphQL discovery
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
process.env. You'll be asked to provide them before it can run.GITLAB_ALLOW_SHARED_ESCAPE_HATCH— Allow execute_custom_query / execute_rest_read / execute_rest_write to run on the shared token (otherwise they require per-call credentials) falseGITLAB_ANALYTICS_MAX_PROJECTS— Cap on projects scanned per group-analytics fan-out (logs when bounded) 500GITLAB_AUTH_MODE— the three-way enum is gone. Pick your deployment shape by which env var you set; see [Choose your deployment](#choose-your-deployment).GITLAB_MAX_CONCURRENCY— Max concurrent in-flight requests to GitLab (excess queue, never rejected). 0 = unlimited 16GITLAB_MAX_PAGE_SIZE— Maximum items per page (1–100) 50GITLAB_MCP_OAUTH— Enable brokered OAuth 2.1 (HTTP mode) — see [OAuth for remote users](#oauth-for-remote-users) falseGITLAB_MCP_PORT— MCP_TRANSPORT=http =8008 \GITLAB_OAUTH_ALLOWED_GROUPS— Restrict the connector to members of these GitLab groups (comma/space separated full-paths; subgroups included). Empty = any authenticated user unsetGITLAB_OAUTH_CALLBACK_PATH— Path of the fixed GitLab redirect URI /gitlab/callbackGITLAB_OAUTH_CLIENT_ID— application id> \GITLAB_OAUTH_CLIENT_SECRET— application secret> \GITLAB_OAUTH_SCOPES— Space-separated GitLab scopes to request apiGITLAB_PIN_HOST— X-GitLab-Url: "{{GITLAB_URL_OVERRIDE}}" # only honored when =false (default pins to GITLAB_URL)GITLAB_READ_TOKEN— glpat-readonly-service-token # read_api scope onlyGITLAB_SHARED_ACCESS_TOKEN— rename to GITLAB_TOKEN (full access) or GITLAB_READ_TOKEN (read-only).GITLAB_TIMEOUT— Request timeout in milliseconds 30000GITLAB_TOKEN— env =glpat-your-pat \GITLAB_URL— env =https://gitlab.com \MCP_SERVER_URL— must be HTTPS (terminate TLS at your reverse proxy) and mustMCP_TRANSPORT— http GITLAB_MCP_PORT=8008 \REDIS_KEY_PREFIX— Base namespace for Redis keys (issuer host is appended) gitlab-mcpREDIS_URL— Back OAuth broker state with Redis (survives redeploys, enables >1 replica). Unset = in-memory unsetTRUST_PROXY— Express trust proxy when behind a reverse proxy (hop count like 1, boolean, or IP/subnet list). Needed for correct per-IP OAuth rate limiting behind traefik/nginx unset[](https://m8ven.ai/mcp/ttpears-gitlab-mcp-server-1pmas2)