GitLab MCP Server

io.github.zereight/gitlab-mcp

About GitLab MCP Server

GitLab MCP Server is an MCP server published by the GitHub account zereight. GitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.

It runs on your own machine: your AI client starts it from the npm package @zereight/mcp-gitlab at version 2.3.13.

It asks for 2 secrets: GITLAB_PERSONAL_ACCESS_TOKEN and GITLAB_JOB_TOKEN. Give it a key with the least access that still works.

Version 2.3.13 was published on 27 October 2026, and the source code is public, so you can read it before installing.

Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.

What it asks for

VariableRequiredSecretDescription
GITLAB_PERSONAL_ACCESS_TOKENNoYesGitLab personal access token for local stdio use. A non-empty value overrides GITLAB_PERSONAL_ACCESS_TOKEN_FILE. One of this token, GITLAB_PERSONAL_ACCESS_TOKEN_FILE, 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.
GITLAB_PERSONAL_ACCESS_TOKEN_FILENoNoPath to a file that contains the personal access token. Read once at startup and trimmed. Ignored when GITLAB_PERSONAL_ACCESS_TOKEN or --token is non-empty. A missing, unreadable, or empty file stops startup. Does not replace job token, OAuth, cookie, or remote authorization.
GITLAB_JOB_TOKENNoYesOptional GitLab CI job token to use instead of a personal access token when running inside GitLab CI.
GITLAB_AUTH_COOKIE_PATHNoNoOptional path to a GitLab authentication cookie file for cookie-based authentication.
GITLAB_USE_OAUTHNoNoSet to true to start with GitLab OAuth instead of a personal access token, job token, or cookie file.
GITLAB_OAUTH_CLIENT_IDNoNoGitLab OAuth application ID. When GITLAB_USE_OAUTH=true, set this or GITLAB_OAUTH_TOKEN_SCRIPT.
GITLAB_OAUTH_TOKEN_SCRIPTNoNoCommand that prints an OAuth access token. When GITLAB_USE_OAUTH=true, set this or GITLAB_OAUTH_CLIENT_ID.
GITLAB_API_URLNoNoGitLab API base URL. Use https://gitlab.com/api/v4 for GitLab.com or your self-managed GitLab API URL.
GITLAB_ALLOWED_PROJECT_IDSNoNoOptional comma-separated list of GitLab project IDs that this server is allowed to access.
GITLAB_PERMISSION_MODENoNoTool exposure. Allowed values are readonly, modify, and full. Unset uses full. readonly keeps read-only tools. modify blocks delete and teardown tools.
GITLAB_TOOLSETSNoNoOptional comma-separated list of toolsets to enable, such as projects, issues, merge_requests, pipelines, releases, users, groups, wiki, or search.
GITLAB_TOOLSNoNoOptional comma-separated list of individual tool names to add on top of enabled toolsets.
GITLAB_DENIED_TOOLS_REGEXNoNoOptional regular expression used to hide matching tools from the server.
GITLAB_TOOL_POLICY_APPROVENoNoOptional comma-separated list of tool names that require explicit approval before execution.
GITLAB_TOOL_POLICY_HIDDENNoNoOptional comma-separated list of tool names to hide from tools/list.
NODE_TLS_REJECT_UNAUTHORIZEDNoNoSet to 0 only when you intentionally need to connect to a GitLab instance with invalid or self-signed TLS certificates.
GITLAB_CA_CERT_PATHNoNoOptional path to a custom CA certificate file for self-managed GitLab instances.
GITLAB_MASKING_ENABLEDNoNoSet to true to mask text tool results and returned errors using built-in or configured rules.
GITLAB_MASKING_CONFIGNoNoOptional path to a response-masking JSON configuration file.
GITLAB_MASKING_POLICY_FILENoNoOptional protected server-owned JSON file containing managed masking policies.
GITLAB_MASKING_WORKSPACE_DIRNoNoDirectory used to resolve response-masking configuration paths.

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/zereight/gitlab-mcp
Version pinnedPassEvery package has an explicit version
Secrets requestedInfoAsks for 2 secrets: GITLAB_PERSONAL_ACCESS_TOKEN, GITLAB_JOB_TOKEN
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via GitHub account zereight
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Install scriptsPass@zereight/mcp-gitlab@2.3.13 runs nothing at install
Code red flagsPassRead 91 files in @zereight/mcp-gitlab@2.3.13: no obfuscation, encoded execution, credential reads or data-collection endpoints found
Text aimed at the AIPassNo hidden characters or instructions to the AI in 91 files, including comments and the README

Popularity & health: 95 / 100

Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.

Popularity35 / 40

2,079 GitHub stars, 251,654 downloads last week, 0 Hacker News posts (0 points). Best two of the three, each on a log scale.

Activity25 / 25

Last push 2026-10-29, last release 2026-10-31, 913 commits in 90 days.

Issue health15 / 15

248 closed of 256 issues.

Our checks20 / 20

0 warnings, each costing a fifth.

364 forks, 608 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.

What people say

No Hacker News threads link to its source code.

Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.

Facts

Registry nameio.github.zereight/gitlab-mcp
PublisherGitHub account zereight
How the name is verifiedName verified via GitHub account zereight. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagesnpm @zereight/mcp-gitlab 2.3.13 (stdio)
oci docker.io/zereight050/gitlab-mcp:2.3.13 no version given (stdio)
Version2.3.13
Published
Last updated
Source repositoryhttps://github.com/zereight/gitlab-mcp
Websitehttps://zereight.github.io/gitlab-mcp/
CategoryProductivity & notes (assigned by keyword rule, not by hand)

Related servers in Productivity & notes