{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.zereight/gitlab-mcp","description":"GitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.","repository":{"url":"https://github.com/zereight/gitlab-mcp","source":"github"},"version":"2.2.3","packages":[{"registryType":"npm","identifier":"@zereight/mcp-gitlab","version":"2.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"GitLab personal access token for local stdio use. One of this token, GITLAB_JOB_TOKEN, GITLAB_AUTH_COOKIE_PATH, or GITLAB_USE_OAUTH=true must be set. Create a token with the GitLab scopes the tools need, such as api or read_api.","format":"string","isSecret":true,"name":"GITLAB_PERSONAL_ACCESS_TOKEN"},{"description":"Optional GitLab CI job token to use instead of a personal access token when running inside GitLab CI.","format":"string","isSecret":true,"name":"GITLAB_JOB_TOKEN"},{"description":"Optional path to a GitLab authentication cookie file for cookie-based authentication.","format":"filepath","name":"GITLAB_AUTH_COOKIE_PATH"},{"description":"Set to true to start with GitLab OAuth instead of a personal access token, job token, or cookie file.","format":"boolean","name":"GITLAB_USE_OAUTH"},{"description":"GitLab OAuth application ID. When GITLAB_USE_OAUTH=true, set this or GITLAB_OAUTH_TOKEN_SCRIPT.","format":"string","name":"GITLAB_OAUTH_CLIENT_ID"},{"description":"Command that prints an OAuth access token. When GITLAB_USE_OAUTH=true, set this or GITLAB_OAUTH_CLIENT_ID.","format":"string","name":"GITLAB_OAUTH_TOKEN_SCRIPT"},{"description":"GitLab API base URL. Use https://gitlab.com/api/v4 for GitLab.com or your self-managed GitLab API URL.","format":"string","default":"https://gitlab.com/api/v4","name":"GITLAB_API_URL"},{"description":"Optional comma-separated list of GitLab project IDs that this server is allowed to access.","format":"string","name":"GITLAB_ALLOWED_PROJECT_IDS"},{"description":"Tool exposure. Allowed values are readonly, modify, and full. Unset uses full. readonly keeps read-only tools. modify blocks delete and teardown tools.","format":"string","choices":["readonly","modify","full"],"name":"GITLAB_PERMISSION_MODE"},{"description":"Optional comma-separated list of toolsets to enable, such as projects, issues, merge_requests, pipelines, releases, users, groups, wiki, or search.","format":"string","name":"GITLAB_TOOLSETS"},{"description":"Optional comma-separated list of individual tool names to add on top of enabled toolsets.","format":"string","name":"GITLAB_TOOLS"},{"description":"Optional regular expression used to hide matching tools from the server.","format":"string","name":"GITLAB_DENIED_TOOLS_REGEX"},{"description":"Optional comma-separated list of tool names that require explicit approval before execution.","format":"string","name":"GITLAB_TOOL_POLICY_APPROVE"},{"description":"Optional comma-separated list of tool names to hide from tools/list.","format":"string","name":"GITLAB_TOOL_POLICY_HIDDEN"},{"description":"Set to 0 only when you intentionally need to connect to a GitLab instance with invalid or self-signed TLS certificates.","format":"string","name":"NODE_TLS_REJECT_UNAUTHORIZED"},{"description":"Optional path to a custom CA certificate file for self-managed GitLab instances.","format":"filepath","name":"GITLAB_CA_CERT_PATH"},{"description":"Set to true to mask text tool results and returned errors using built-in or configured rules.","format":"string","default":"false","name":"GITLAB_MASKING_ENABLED"},{"description":"Optional path to a response-masking JSON configuration file.","format":"filepath","name":"GITLAB_MASKING_CONFIG"},{"description":"Optional protected server-owned JSON file containing managed masking policies.","format":"filepath","name":"GITLAB_MASKING_POLICY_FILE"},{"description":"Directory used to resolve response-masking configuration paths.","format":"filepath","name":"GITLAB_MASKING_WORKSPACE_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-12T03:37:58.330085Z","publishedAt":"2026-10-12T03:37:58.330085Z","updatedAt":"2026-10-12T03:37:58.330085Z","isLatest":true}}}
