MCP.so
Sign In
Servers

gitlab-mcp-server

@kopiloto

Overview

What is gitlab-mcp-server?

gitlab-mcp-server is an MCP server that integrates with GitLab using the python-gitlab library. It provides tools to read repository code, manage merge requests, and query project information. Intended for developers and CI/CD workflows, it authenticates via personal access tokens or OAuth2 tokens.

How to use gitlab-mcp-server?

Install with uvx gitlab-mcp-server and configure the MCP client with environment variables GITLAB_TOKEN (or GITLAB_OAUTH_TOKEN) and GITLAB_URL. The server exposes tools that can be invoked directly from an MCP host (e.g., Claude Desktop) to interact with GitLab resources.

Key features of gitlab-mcp-server

  • List accessible GitLab projects, groups, and group projects
  • Search repositories and get detailed repository information
  • Read entire repository code structure with glob-based filtering
  • Read individual files with metadata and binary detection
  • List and filter merge requests with rich metadata
  • Calculate merge request lifetime statistics (average, median, percentiles)

Use cases of gitlab-mcp-server

  • Analyze how long merge requests take to merge across a project
  • Read source code from multiple repositories in a single conversation
  • Quickly locate projects by name or keyword across a GitLab instance
  • Get user information and verify permissions before automating tasks

FAQ from gitlab-mcp-server

What authentication methods are supported?

Personal Access Token (recommended) and OAuth2 Token. The server checks for GITLAB_OAUTH_TOKEN first, then falls back to GITLAB_TOKEN.

What scopes are required for a personal access token?

At minimum, the read_api scope is needed.

Can I use gitlab-mcp-server with a self-hosted GitLab instance?

Yes. Set the GITLAB_URL environment variable to your instance URL (e.g., https://gitlab.example.com). If not set, it defaults to https://gitlab.com.

Are there limits on file reading?

Yes. The default maximum is 50 files and 100 KB per file. Limits are configurable to prevent timeouts. Binary files are automatically detected.

Is gitlab-mcp-server production-ready?

No. The project is in development stage; features and APIs may change without notice. Use with caution in production environments.

More from Version Control