GitLab MCP Server
Local package path declaredCredentials listedRepository declared by sourceUpdated 2026-10-09
io.github.jmrplens/gitlab-mcp-server · Registry status: active
At a glance
Go MCP server for GitLab: 2 dynamic tools reach ~872 actions on Free/CE, up to ~1098 on Ultimate.
Vendor's own description, untranslated and unverified
- Execution location
- Local package path declaredMCP-Register · 2026-08-06
- Required secrets declared
- Credentials listedMCP-Register · 2026-08-06
- Declared version and change
3.2.0· Source-reported change date 2026-10-09MCP-Register · 2026-10-10- Repository as declared
- github.com/jmrplens/gitlab-mcp-serverMCP-Register · 2026-08-06
- Configuration
- can be built from the disclosed start template
Inspect connection paths and prerequisites
Related categories
- MCP servers for version control613
- MCP servers with declared required secrets6,067
- Locally executed MCP servers17,056
- MCP servers with a repository URL30,107
- Local MCP servers with a repository URL16,152
- Local MCP servers with declared required secrets3,818
6 of 8 categories. All categories in the segment catalogue
Page last changed:
Sources and collection
- Runs
- Local package path declared
- Credentials
- Credentials listed
- Registry record changed
- 2026-10-09
- Setup
- Template available
- Registry name
io.github.jmrplens/gitlab-mcp-server- Package coordinate
npm:@jmrp.io/gitlab-mcp-server- Declared version
3.2.0- Source-reported listing date
- 2026-10-09
- Source-reported change date
- 2026-10-09
- First seen by tracevero
- 2026-08-06
- Vendor's website
- https://jmrp.io/docs/gitlab-mcp-server
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin. What the confidence levels mean
Measured values
| Required secrets declared | Credentials listed yes Original data – Required secret variables (raw): GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN Original data – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
|---|---|
| Execution location | Local package path declared local Original data – Transports (raw): stdio, stdio, stdio, stdio, stdio, stdio, stdio, stdio, streamable-http Source: MCP-Register · collected on 2026-08-06 · derived |
| Path argument present | no Original data – Path arguments (raw): confirmed absent Original data – Path environment variables (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
| Repository URL listed | Repository declared by source yes Original data – Repository (raw): https://github.com/jmrplens/gitlab-mcp-server Source: MCP-Register · collected on 2026-08-06 · derived |
| Field of use, derived from the vendor description | Version control Original data – Description (raw): Go MCP server for GitLab: 2 dynamic tools reach ~872 actions on Free/CE, up to ~1098 on Ultimate. Source: MCP-Register · collected on 2026-08-26 · derived |
| Declared version | 3.2.0 Source: MCP-Register · collected on 2026-10-10 · self-declared |
What is measured is what a manifest declares, not what a piece of software does. This registry fetches no repository URL, no endpoint and no package index; nothing here is verified. Which value comes from which source, and by which rule it was formed, is set out in the Methodology.
Where this server connects to
- Address as stated in the raw record
https://mcp.jmrp.io/gitlab- Host
mcp.jmrp.ioEntries carrying exactly this value: 2
Taken verbatim from the raw record. The registry does not call this address and does not infer a shared operator from a shared host.
Source data25
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin.
| Description (raw) | Go MCP server for GitLab: 2 dynamic tools reach ~872 actions on Free/CE, up to ~1098 on Ultimate. Source: MCP-Register · collected on 2026-10-10 · self-declared |
|---|---|
| Environment variables (raw) | GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_CAPABILITY_SURFACE, GITLAB_MCP_META_PARAM_SCHEMA, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_EMBEDDED_RESOURCES, GITLAB_MCP_EXCLUDE_TOOLS, GITLAB_MCP_IGNORE_SCOPES, GITLAB_MCP_UPLOAD_MAX_FILE_SIZE, GITLAB_MCP_ALLOWED_UPLOAD_DIRS, GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS, GITLAB_MCP_ALLOWED_IMPORT_DIRS, GITLAB_MCP_RATE_LIMIT_RPS, GITLAB_MCP_RATE_LIMIT_BURST, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_CAPABILITY_SURFACE, GITLAB_MCP_META_PARAM_SCHEMA, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_EMBEDDED_RESOURCES, GITLAB_MCP_EXCLUDE_TOOLS, GITLAB_MCP_IGNORE_SCOPES, GITLAB_MCP_UPLOAD_MAX_FILE_SIZE, GITLAB_MCP_ALLOWED_UPLOAD_DIRS, GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS, GITLAB_MCP_ALLOWED_IMPORT_DIRS, GITLAB_MCP_RATE_LIMIT_RPS, GITLAB_MCP_RATE_LIMIT_BURST, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_CAPABILITY_SURFACE, GITLAB_MCP_META_PARAM_SCHEMA, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_EMBEDDED_RESOURCES, GITLAB_MCP_EXCLUDE_TOOLS, GITLAB_MCP_IGNORE_SCOPES, GITLAB_MCP_UPLOAD_MAX_FILE_SIZE, GITLAB_MCP_ALLOWED_UPLOAD_DIRS, GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS, GITLAB_MCP_ALLOWED_IMPORT_DIRS, GITLAB_MCP_RATE_LIMIT_RPS, GITLAB_MCP_RATE_LIMIT_BURST, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_CAPABILITY_SURFACE, GITLAB_MCP_META_PARAM_SCHEMA, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_EMBEDDED_RESOURCES, GITLAB_MCP_EXCLUDE_TOOLS, GITLAB_MCP_IGNORE_SCOPES, GITLAB_MCP_UPLOAD_MAX_FILE_SIZE, GITLAB_MCP_ALLOWED_UPLOAD_DIRS, GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS, GITLAB_MCP_ALLOWED_IMPORT_DIRS, GITLAB_MCP_RATE_LIMIT_RPS, GITLAB_MCP_RATE_LIMIT_BURST, GITLAB_MCP_LOG_LEVEL, GITLAB_URL, GITLAB_TOKEN, GITLAB_MCP_SKIP_TLS_VERIFY, GITLAB_MCP_TOOL_SURFACE, GITLAB_MCP_CAPABILITY_SURFACE, GITLAB_MCP_META_PARAM_SCHEMA, GITLAB_MCP_TIER, GITLAB_MCP_READ_ONLY, GITLAB_MCP_SAFE_MODE, GITLAB_MCP_EMBEDDED_RESOURCES, GITLAB_MCP_EXCLUDE_TOOLS, GITLAB_MCP_IGNORE_SCOPES, GITLAB_MCP_UPLOAD_MAX_FILE_SIZE, GITLAB_MCP_ALLOWED_UPLOAD_DIRS, GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS, GITLAB_MCP_ALLOWED_IMPORT_DIRS, GITLAB_MCP_RATE_LIMIT_RPS, GITLAB_MCP_RATE_LIMIT_BURST, GITLAB_MCP_LOG_LEVEL Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Required secret variables (raw) | GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN, GITLAB_TOKEN Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Transports (raw) | stdio, stdio, stdio, stdio, stdio, stdio, stdio, stdio, streamable-http Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Path arguments (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Repository (raw) | https://github.com/jmrplens/gitlab-mcp-server Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Package registries (raw) | mcpb, mcpb, mcpb, npm, nuget, oci, oci, pypi Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Required secret headers (raw) | confirmed absent Source: MCP-Register · collected on 2026-09-11 · self-declared |
| Path environment variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote URLs (raw) | https://mcp.jmrp.io/gitlab Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote hosts (raw) | mcp.jmrp.io Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Registry status message (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| First listed in the registry (raw) | 2026-10-09 Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Last changed in the registry (raw) | 2026-10-09 Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Delivery form (raw) | package and remote Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository platform (raw) | github Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository subfolder (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package identifiers (raw) | @jmrp.io/gitlab-mcp-server, docker.io/jmrplens/gitlab-mcp-server:3.2.0@sha256:054f99756efb1182aff73effb2a8861ddde8c90146d2e2b3efafd459647d69f8, ghcr.io/jmrplens/gitlab-mcp-server:3.2.0@sha256:054f99756efb1182aff73effb2a8861ddde8c90146d2e2b3efafd459647d69f8, gitlab-mcp-server, https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.2.0/gitlab-mcp-server-darwin.mcpb, https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.2.0/gitlab-mcp-server-linux.mcpb, https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.2.0/gitlab-mcp-server-windows.mcpb, jmrplens-gitlab-mcp-server Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Package versions (raw) | 3.2.0 Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Runtime hints (raw) | dnx · npx · uvx Source: MCP-Register · collected on 2026-09-11 · self-declared |
| Environment variable formats (raw) | boolean, number Source: MCP-Register · collected on 2026-09-11 · self-declared |
| Environment variable descriptions (raw) | GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS=Extra OS path-list-separated directories an action may write a downloaded file into; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths · GITLAB_MCP_ALLOWED_IMPORT_DIRS=Extra OS path-list-separated directories a project or group import archive may be read from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths · GITLAB_MCP_ALLOWED_UPLOAD_DIRS=Extra OS path-list-separated directories an action may read a local file from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths · GITLAB_MCP_CAPABILITY_SURFACE=Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full · GITLAB_MCP_EMBEDDED_RESOURCES=Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true) · GITLAB_MCP_EXCLUDE_TOOLS=Comma-separated tool names, group names or canonical action IDs to exclude, on every surface (e.g. gitlab_admin,gitlab_runner) · GITLAB_MCP_IGNORE_SCOPES=Skip the scope filter and the read_api narrowing and register all tools regardless of token permissions; a token carrying neither read_api nor api is still refused (default: false) · GITLAB_MCP_LOG_LEVEL=Logging verbosity (default: info) · GITLAB_MCP_META_PARAM_SCHEMA=Meta-tool input schema detail: opaque, compact, or full (default: opaque) · GITLAB_MCP_RATE_LIMIT_BURST=Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40) · GITLAB_MCP_RATE_LIMIT_RPS=Rate limit per credential, in requests per second, on every call that reaches GitLab, with tools/list charged to a bucket of its own; 0, the default on stdio, disables it (default: 0) · GITLAB_MCP_READ_ONLY=Read-only mode: removes every mutating action from the served surface; reads keep working (default: false) · GITLAB_MCP_SAFE_MODE=Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false) · GITLAB_MCP_SKIP_TLS_VERIFY=Skip TLS certificate verification for self-signed certs (default: false) · GITLAB_MCP_TIER=GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools · GITLAB_MCP_TOOL_SURFACE=Tool catalog selector: dynamic, meta, or individual (default: dynamic) · GITLAB_MCP_UPLOAD_MAX_FILE_SIZE=Largest local file an upload or file-reading action accepts, in bytes or with a KB, MB or GB suffix (e.g. 2GB); at most 1 TB (default: 2147483648, 2 GB) · GITLAB_TOKEN=GitLab Personal Access Token (glpat-...) · GITLAB_URL=GitLab instance URL (default: https://gitlab.com; set for self-managed instances) Source: MCP-Register · collected on 2026-10-10 · self-declared |
| Icon formats (raw) | image/png, image/svg+xml Source: MCP-Register · collected on 2026-09-11 · self-declared |
| Connection paths (source structure) | {"packages":[{"registryType":"mcpb","identifier":"https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.2.0/gitlab-mcp-server-darwin.mcpb","version":"3.2.0","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.2.0/gitlab-mcp-server-windows.mcpb","version":"3.2.0","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/jmrplens/gitlab-mcp-server/releases/download/v3.2.0/gitlab-mcp-server-linux.mcpb","version":"3.2.0","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"oci","identifier":"ghcr.io/jmrplens/gitlab-mcp-server:3.2.0@sha256:054f99756efb1182aff73effb2a8861ddde8c90146d2e2b3efafd459647d69f8","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_CAPABILITY_SURFACE","description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","required":false,"secret":false},{"name":"GITLAB_MCP_META_PARAM_SCHEMA","description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EMBEDDED_RESOURCES","description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EXCLUDE_TOOLS","description":"Comma-separated tool names, group names or canonical action IDs to exclude, on every surface (e.g. gitlab_admin,gitlab_runner)","required":false,"secret":false},{"name":"GITLAB_MCP_IGNORE_SCOPES","description":"Skip the scope filter and the read_api narrowing and register all tools regardless of token permissions; a token carrying neither read_api nor api is still refused (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE","description":"Largest local file an upload or file-reading action accepts, in bytes or with a KB, MB or GB suffix (e.g. 2GB); at most 1 TB (default: 2147483648, 2 GB)","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_UPLOAD_DIRS","description":"Extra OS path-list-separated directories an action may read a local file from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS","description":"Extra OS path-list-separated directories an action may write a downloaded file into; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS","description":"Extra OS path-list-separated directories a project or group import archive may be read from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_RPS","description":"Rate limit per credential, in requests per second, on every call that reaches GitLab, with tools/list charged to a bucket of its own; 0, the default on stdio, disables it (default: 0)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_BURST","description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"oci","identifier":"docker.io/jmrplens/gitlab-mcp-server:3.2.0@sha256:054f99756efb1182aff73effb2a8861ddde8c90146d2e2b3efafd459647d69f8","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_CAPABILITY_SURFACE","description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","required":false,"secret":false},{"name":"GITLAB_MCP_META_PARAM_SCHEMA","description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EMBEDDED_RESOURCES","description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EXCLUDE_TOOLS","description":"Comma-separated tool names, group names or canonical action IDs to exclude, on every surface (e.g. gitlab_admin,gitlab_runner)","required":false,"secret":false},{"name":"GITLAB_MCP_IGNORE_SCOPES","description":"Skip the scope filter and the read_api narrowing and register all tools regardless of token permissions; a token carrying neither read_api nor api is still refused (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE","description":"Largest local file an upload or file-reading action accepts, in bytes or with a KB, MB or GB suffix (e.g. 2GB); at most 1 TB (default: 2147483648, 2 GB)","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_UPLOAD_DIRS","description":"Extra OS path-list-separated directories an action may read a local file from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS","description":"Extra OS path-list-separated directories an action may write a downloaded file into; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS","description":"Extra OS path-list-separated directories a project or group import archive may be read from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_RPS","description":"Rate limit per credential, in requests per second, on every call that reaches GitLab, with tools/list charged to a bucket of its own; 0, the default on stdio, disables it (default: 0)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_BURST","description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"npm","identifier":"@jmrp.io/gitlab-mcp-server","version":"3.2.0","runtimeHint":"npx","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_CAPABILITY_SURFACE","description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","required":false,"secret":false},{"name":"GITLAB_MCP_META_PARAM_SCHEMA","description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EMBEDDED_RESOURCES","description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EXCLUDE_TOOLS","description":"Comma-separated tool names, group names or canonical action IDs to exclude, on every surface (e.g. gitlab_admin,gitlab_runner)","required":false,"secret":false},{"name":"GITLAB_MCP_IGNORE_SCOPES","description":"Skip the scope filter and the read_api narrowing and register all tools regardless of token permissions; a token carrying neither read_api nor api is still refused (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE","description":"Largest local file an upload or file-reading action accepts, in bytes or with a KB, MB or GB suffix (e.g. 2GB); at most 1 TB (default: 2147483648, 2 GB)","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_UPLOAD_DIRS","description":"Extra OS path-list-separated directories an action may read a local file from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS","description":"Extra OS path-list-separated directories an action may write a downloaded file into; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS","description":"Extra OS path-list-separated directories a project or group import archive may be read from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_RPS","description":"Rate limit per credential, in requests per second, on every call that reaches GitLab, with tools/list charged to a bucket of its own; 0, the default on stdio, disables it (default: 0)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_BURST","description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"pypi","identifier":"jmrplens-gitlab-mcp-server","version":"3.2.0","runtimeHint":"uvx","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_CAPABILITY_SURFACE","description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","required":false,"secret":false},{"name":"GITLAB_MCP_META_PARAM_SCHEMA","description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EMBEDDED_RESOURCES","description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EXCLUDE_TOOLS","description":"Comma-separated tool names, group names or canonical action IDs to exclude, on every surface (e.g. gitlab_admin,gitlab_runner)","required":false,"secret":false},{"name":"GITLAB_MCP_IGNORE_SCOPES","description":"Skip the scope filter and the read_api narrowing and register all tools regardless of token permissions; a token carrying neither read_api nor api is still refused (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE","description":"Largest local file an upload or file-reading action accepts, in bytes or with a KB, MB or GB suffix (e.g. 2GB); at most 1 TB (default: 2147483648, 2 GB)","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_UPLOAD_DIRS","description":"Extra OS path-list-separated directories an action may read a local file from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS","description":"Extra OS path-list-separated directories an action may write a downloaded file into; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS","description":"Extra OS path-list-separated directories a project or group import archive may be read from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_RPS","description":"Rate limit per credential, in requests per second, on every call that reaches GitLab, with tools/list charged to a bucket of its own; 0, the default on stdio, disables it (default: 0)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_BURST","description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"nuget","identifier":"gitlab-mcp-server","version":"3.2.0","runtimeHint":"dnx","transport":"stdio","environment":[{"name":"GITLAB_URL","description":"GitLab instance URL (default: https://gitlab.com; set for self-managed instances)","required":false,"secret":false},{"name":"GITLAB_TOKEN","description":"GitLab Personal Access Token (glpat-...)","required":true,"secret":true},{"name":"GITLAB_MCP_SKIP_TLS_VERIFY","description":"Skip TLS certificate verification for self-signed certs (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_TOOL_SURFACE","description":"Tool catalog selector: dynamic, meta, or individual (default: dynamic)","required":false,"secret":false},{"name":"GITLAB_MCP_CAPABILITY_SURFACE","description":"Resource and prompt catalog selector: full or minimal (default: full); resource subscriptions require full","required":false,"secret":false},{"name":"GITLAB_MCP_META_PARAM_SCHEMA","description":"Meta-tool input schema detail: opaque, compact, or full (default: opaque)","required":false,"secret":false},{"name":"GITLAB_MCP_TIER","description":"GitLab tier: free/ce, premium or ultimate, used as given. When unset, detected from the instance license, then from the plans of the namespaces the token administers, falling back to free. Gates Premium and Ultimate actions; GitLab.com Ultimate also serves the Orbit Knowledge Graph tools","required":false,"secret":false},{"name":"GITLAB_MCP_READ_ONLY","description":"Read-only mode: removes every mutating action from the served surface; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_SAFE_MODE","description":"Safe mode: a mutating action returns a preview card naming the action and echoing its arguments instead of running; reads keep working (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EMBEDDED_RESOURCES","description":"Append EmbeddedResource content blocks (clickable links to MCP resources) to get_* tool results (default: true)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_EXCLUDE_TOOLS","description":"Comma-separated tool names, group names or canonical action IDs to exclude, on every surface (e.g. gitlab_admin,gitlab_runner)","required":false,"secret":false},{"name":"GITLAB_MCP_IGNORE_SCOPES","description":"Skip the scope filter and the read_api narrowing and register all tools regardless of token permissions; a token carrying neither read_api nor api is still refused (default: false)","format":"boolean","required":false,"secret":false},{"name":"GITLAB_MCP_UPLOAD_MAX_FILE_SIZE","description":"Largest local file an upload or file-reading action accepts, in bytes or with a KB, MB or GB suffix (e.g. 2GB); at most 1 TB (default: 2147483648, 2 GB)","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_UPLOAD_DIRS","description":"Extra OS path-list-separated directories an action may read a local file from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_DOWNLOAD_DIRS","description":"Extra OS path-list-separated directories an action may write a downloaded file into; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_ALLOWED_IMPORT_DIRS","description":"Extra OS path-list-separated directories a project or group import archive may be read from; the working directory (unless it is the filesystem root or your home directory) and the OS temp directory are always allowed. Unused in HTTP mode, which refuses local paths","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_RPS","description":"Rate limit per credential, in requests per second, on every call that reaches GitLab, with tools/list charged to a bucket of its own; 0, the default on stdio, disables it (default: 0)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_RATE_LIMIT_BURST","description":"Token-bucket burst size when GITLAB_MCP_RATE_LIMIT_RPS is greater than 0 (default: 40)","format":"number","required":false,"secret":false},{"name":"GITLAB_MCP_LOG_LEVEL","description":"Logging verbosity (default: info)","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[{"url":"https://mcp.jmrp.io/gitlab","transport":"streamable-http","headers":[{"name":"Authorization","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.","required":false,"secret":true}]}]} Source: MCP-Register · collected on 2026-10-10 · self-declared |
Embed this badge
Paste this line into a README of your own. The badge states how many values the registry holds for the entry and when it last looked, and it links back to this page.
[](https://tracevero.com/mcp/io-github-jmrplens-gitlab-mcp-server)
The image is drawn again on every request, so it always reports the current state while the pasted line stays as it is. It carries no rating and no traffic light – only the two measured figures.
Changes
| 2026-10-10 | Declared version: 3.1.0 → 3.2.0 |
|---|---|
| 2026-10-10 | Description (raw): Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier. → Go MCP server for GitLab: 2 dynamic tools reach ~872 actions on Free/CE, up to ~1098 on Ultimate. |
| 2026-10-10 | Last changed in the registry (raw): 2026-09-30 → 2026-10-09 |
These are the 3 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/io-github-jmrplens-gitlab-mcp-server