{"name":"io.github.jmrplens/gitlab-mcp-server","slug":"jmrplens-gitlab-mcp-server","title":"GitLab MCP Server","description":"Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.","url":"https://mcp.market/server/jmrplens-gitlab-mcp-server","rating":null,"grade":"A","score":97,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":38,"stars":37,"forks":4,"downloads_week":null,"last_push_at":"2026-09-19T19:08:17.000Z","license":"MIT"},"uptime":{"percent":100,"checks":1,"ok":1,"last_checked_at":"2026-09-19T17:41:11.393Z","last_ok_at":"2026-09-19T17:41:11.393Z","latency_ms":1265},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/jmrplens/gitlab-mcp-server","website":"https://jmrp.io/docs/gitlab-mcp-server","version":"3.0.0","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"}]}],"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"}]}],"tools":[],"scan":{"score":97,"grade":"A","scanned_at":"2026-09-19T19:11:49.124Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:11:49.112Z","components":{"code":{"score":-1,"max":25,"notes":["package could not be scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 705ms (auth required)"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (endpoint requires auth); not counted"]},"auth":{"score":15,"max":15,"notes":["OAuth resource metadata advertised on 401"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.jmrp.io/gitlab","reachable":true,"authRequired":true,"latencyMs":705,"authScheme":"oauth"}],"packages":[],"repo":{"found":true,"owner":"jmrplens","repo":"gitlab-mcp-server","archived":false,"pushedAt":"2026-09-19T19:08:17Z","stars":37,"forks":4,"openIssues":21,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/28966312?v=4","ownerCreatedAt":"2017-05-25T21:07:25Z","license":"MIT"},"icon":{"url":"https://raw.githubusercontent.com/jmrplens/gitlab-mcp-server/main/site/public/favicon.svg","source":"registry"},"presence":{"stars":37,"forks":4,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-19T19:08:17.000Z","score":38}}}},"grade_history":[],"reviews":[]}