PluginBench
MCP Server

io.github.zereight/gitlab-mcp MCP Server

io.github.zereight/gitlab-mcp

What is the io.github.zereight/gitlab-mcp MCP server?

GitLab MCP server for projects, merge requests, issues, pipelines, wiki, releases, and more.

How to install io.github.zereight/gitlab-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • GITLAB_PERSONAL_ACCESS_TOKEN
    required
    secret

    GitLab personal access token for local stdio use. Create a token with the GitLab scopes needed by the tools you plan to use, such as api or read_api.

  • GITLAB_JOB_TOKEN
    secret

    Optional GitLab CI job token to use instead of a personal access token when running inside GitLab CI.

  • GITLAB_AUTH_COOKIE_PATH

    Optional path to a GitLab authentication cookie file for cookie-based authentication.

  • GITLAB_API_URL

    GitLab API base URL. Use https://gitlab.com/api/v4 for GitLab.com or your self-managed GitLab API URL.

  • GITLAB_ALLOWED_PROJECT_IDS

    Optional comma-separated list of GitLab project IDs that this server is allowed to access.

  • GITLAB_READ_ONLY_MODE

    Set to true to expose only read-only tools and block write operations.

  • USE_GITLAB_WIKI

    Set to true to enable GitLab wiki tools.

  • GITLAB_TOOLSETS

    Optional comma-separated list of toolsets to enable, such as projects, issues, merge_requests, pipelines, releases, users, groups, wiki, or search.

  • GITLAB_TOOLS

    Optional comma-separated list of individual tool names to add on top of enabled toolsets.

  • GITLAB_DENIED_TOOLS_REGEX

    Optional regular expression used to hide matching tools from the server.

  • GITLAB_TOOL_POLICY_APPROVE

    Optional comma-separated list of tool names that require explicit approval before execution.

  • GITLAB_TOOL_POLICY_HIDDEN

    Optional comma-separated list of tool names to hide from tools/list.

  • NODE_TLS_REJECT_UNAUTHORIZED

    Set to 0 only when you intentionally need to connect to a GitLab instance with invalid or self-signed TLS certificates.

  • GITLAB_CA_CERT_PATH

    Optional path to a custom CA certificate file for self-managed GitLab instances.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "gitlab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITLAB_PERSONAL_ACCESS_TOKEN>",
        "GITLAB_JOB_TOKEN": "<YOUR_GITLAB_JOB_TOKEN>",
        "GITLAB_AUTH_COOKIE_PATH": "<YOUR_GITLAB_AUTH_COOKIE_PATH>",
        "GITLAB_API_URL": "<YOUR_GITLAB_API_URL>",
        "GITLAB_ALLOWED_PROJECT_IDS": "<YOUR_GITLAB_ALLOWED_PROJECT_IDS>",
        "GITLAB_READ_ONLY_MODE": "<YOUR_GITLAB_READ_ONLY_MODE>",
        "USE_GITLAB_WIKI": "<YOUR_USE_GITLAB_WIKI>",
        "GITLAB_TOOLSETS": "<YOUR_GITLAB_TOOLSETS>",
        "GITLAB_TOOLS": "<YOUR_GITLAB_TOOLS>",
        "GITLAB_DENIED_TOOLS_REGEX": "<YOUR_GITLAB_DENIED_TOOLS_REGEX>",
        "GITLAB_TOOL_POLICY_APPROVE": "<YOUR_GITLAB_TOOL_POLICY_APPROVE>",
        "GITLAB_TOOL_POLICY_HIDDEN": "<YOUR_GITLAB_TOOL_POLICY_HIDDEN>",
        "NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
        "GITLAB_CA_CERT_PATH": "<YOUR_GITLAB_CA_CERT_PATH>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "gitlab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITLAB_PERSONAL_ACCESS_TOKEN>",
        "GITLAB_JOB_TOKEN": "<YOUR_GITLAB_JOB_TOKEN>",
        "GITLAB_AUTH_COOKIE_PATH": "<YOUR_GITLAB_AUTH_COOKIE_PATH>",
        "GITLAB_API_URL": "<YOUR_GITLAB_API_URL>",
        "GITLAB_ALLOWED_PROJECT_IDS": "<YOUR_GITLAB_ALLOWED_PROJECT_IDS>",
        "GITLAB_READ_ONLY_MODE": "<YOUR_GITLAB_READ_ONLY_MODE>",
        "USE_GITLAB_WIKI": "<YOUR_USE_GITLAB_WIKI>",
        "GITLAB_TOOLSETS": "<YOUR_GITLAB_TOOLSETS>",
        "GITLAB_TOOLS": "<YOUR_GITLAB_TOOLS>",
        "GITLAB_DENIED_TOOLS_REGEX": "<YOUR_GITLAB_DENIED_TOOLS_REGEX>",
        "GITLAB_TOOL_POLICY_APPROVE": "<YOUR_GITLAB_TOOL_POLICY_APPROVE>",
        "GITLAB_TOOL_POLICY_HIDDEN": "<YOUR_GITLAB_TOOL_POLICY_HIDDEN>",
        "NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
        "GITLAB_CA_CERT_PATH": "<YOUR_GITLAB_CA_CERT_PATH>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "gitlab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITLAB_PERSONAL_ACCESS_TOKEN>",
        "GITLAB_JOB_TOKEN": "<YOUR_GITLAB_JOB_TOKEN>",
        "GITLAB_AUTH_COOKIE_PATH": "<YOUR_GITLAB_AUTH_COOKIE_PATH>",
        "GITLAB_API_URL": "<YOUR_GITLAB_API_URL>",
        "GITLAB_ALLOWED_PROJECT_IDS": "<YOUR_GITLAB_ALLOWED_PROJECT_IDS>",
        "GITLAB_READ_ONLY_MODE": "<YOUR_GITLAB_READ_ONLY_MODE>",
        "USE_GITLAB_WIKI": "<YOUR_USE_GITLAB_WIKI>",
        "GITLAB_TOOLSETS": "<YOUR_GITLAB_TOOLSETS>",
        "GITLAB_TOOLS": "<YOUR_GITLAB_TOOLS>",
        "GITLAB_DENIED_TOOLS_REGEX": "<YOUR_GITLAB_DENIED_TOOLS_REGEX>",
        "GITLAB_TOOL_POLICY_APPROVE": "<YOUR_GITLAB_TOOL_POLICY_APPROVE>",
        "GITLAB_TOOL_POLICY_HIDDEN": "<YOUR_GITLAB_TOOL_POLICY_HIDDEN>",
        "NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
        "GITLAB_CA_CERT_PATH": "<YOUR_GITLAB_CA_CERT_PATH>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "gitlab-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@zereight/mcp-gitlab"
      ],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITLAB_PERSONAL_ACCESS_TOKEN>",
        "GITLAB_JOB_TOKEN": "<YOUR_GITLAB_JOB_TOKEN>",
        "GITLAB_AUTH_COOKIE_PATH": "<YOUR_GITLAB_AUTH_COOKIE_PATH>",
        "GITLAB_API_URL": "<YOUR_GITLAB_API_URL>",
        "GITLAB_ALLOWED_PROJECT_IDS": "<YOUR_GITLAB_ALLOWED_PROJECT_IDS>",
        "GITLAB_READ_ONLY_MODE": "<YOUR_GITLAB_READ_ONLY_MODE>",
        "USE_GITLAB_WIKI": "<YOUR_USE_GITLAB_WIKI>",
        "GITLAB_TOOLSETS": "<YOUR_GITLAB_TOOLSETS>",
        "GITLAB_TOOLS": "<YOUR_GITLAB_TOOLS>",
        "GITLAB_DENIED_TOOLS_REGEX": "<YOUR_GITLAB_DENIED_TOOLS_REGEX>",
        "GITLAB_TOOL_POLICY_APPROVE": "<YOUR_GITLAB_TOOL_POLICY_APPROVE>",
        "GITLAB_TOOL_POLICY_HIDDEN": "<YOUR_GITLAB_TOOL_POLICY_HIDDEN>",
        "NODE_TLS_REJECT_UNAUTHORIZED": "<YOUR_NODE_TLS_REJECT_UNAUTHORIZED>",
        "GITLAB_CA_CERT_PATH": "<YOUR_GITLAB_CA_CERT_PATH>"
      }
    }
  }
}
Claude Code
claude mcp add gitlab-mcp --env GITLAB_PERSONAL_ACCESS_TOKEN=<YOUR_GITLAB_PERSONAL_ACCESS_TOKEN> --env GITLAB_JOB_TOKEN=<YOUR_GITLAB_JOB_TOKEN> --env GITLAB_AUTH_COOKIE_PATH=<YOUR_GITLAB_AUTH_COOKIE_PATH> --env GITLAB_API_URL=<YOUR_GITLAB_API_URL> --env GITLAB_ALLOWED_PROJECT_IDS=<YOUR_GITLAB_ALLOWED_PROJECT_IDS> --env GITLAB_READ_ONLY_MODE=<YOUR_GITLAB_READ_ONLY_MODE> --env USE_GITLAB_WIKI=<YOUR_USE_GITLAB_WIKI> --env GITLAB_TOOLSETS=<YOUR_GITLAB_TOOLSETS> --env GITLAB_TOOLS=<YOUR_GITLAB_TOOLS> --env GITLAB_DENIED_TOOLS_REGEX=<YOUR_GITLAB_DENIED_TOOLS_REGEX> --env GITLAB_TOOL_POLICY_APPROVE=<YOUR_GITLAB_TOOL_POLICY_APPROVE> --env GITLAB_TOOL_POLICY_HIDDEN=<YOUR_GITLAB_TOOL_POLICY_HIDDEN> --env NODE_TLS_REJECT_UNAUTHORIZED=<YOUR_NODE_TLS_REJECT_UNAUTHORIZED> --env GITLAB_CA_CERT_PATH=<YOUR_GITLAB_CA_CERT_PATH> -- npx -y @zereight/mcp-gitlab

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →