GitLab MCP Server

GitLab project, issue, and merge request management via Model Context Protocol.

Data last scanned today · Reviewed today

292 dangerous tools41 tools9TypeScriptMIT

Overview

This TypeScript-based MCP server allows AI assistants to interact directly with GitLab instances. It provides comprehensive capabilities for managing development workflows, including listing projects, handling issues, and performing complex merge request operations such as threaded discussions and review management. Beyond basic task management, the server supports advanced pipeline and job control, including the ability to trigger, cancel, or retry pipelines and fetch job logs. It is compatible with both public GitLab and self-hosted instances by configuring a custom base URL.

Our verdict

This server carries a high risk level with a security score of 29/100. It lacks read-only mode, meaning every installation is granted full write access to your GitLab resources. Given that it is a community-maintained project not reviewed by GitLab, users should exercise extreme caution and consider the implications of providing full write-access tokens to their AI models.

  • Comprehensive merge request and review workflow support.
  • Native support for self-hosted GitLab instances.
  • Minimal supply chain footprint with only three dependencies.
  • Fully typed TypeScript implementation with detailed documentation.
  • No read-only mode available for safer integration.
  • High risk score due to lack of OAuth support.
  • Community-maintained without official vendor oversight.
  • Low bus factor with only three contributors.

Setup

Claude Desktop
{
  "mcpServers": {
    "gitlab-mcp-server": {
      "args": [
        "-y",
        "@alosies/gitlab-mcp-server"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
list_projectsList GitLab projects with minimal info by default.low
get_projectGet detailed information about a specific project.low
list_issuesList issues in a project.low
get_issueGet detailed information about a specific issue.low
create_issueCreate a new issue.medium
list_merge_requestsList merge requests in a project.low
get_merge_requestGet detailed information about a specific merge request.low
get_merge_request_diffsGet the changes/diffs of a merge request.low
list_merge_request_diffsList merge request diffs with pagination support.low
get_branch_diffsGet the changes/diffs between two branches or commits.low

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What permissions are required for the GitLab Personal Access Token?

You must create a token with the api, read_user, and read_repository scopes enabled.

Can this server be used with self-hosted GitLab instances?

Yes, you can configure the server for a self-hosted instance by adding the GITLAB_BASE_URL environment variable to your configuration.

How do I configure the server for Claude Desktop?

Add the server to your claude_desktop_config.json file using the npx command, providing your GitLab token via the NPM_CONFIG_TOKEN environment variable.

Badge

GitLab MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.