Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

gitlab-mcp-server

MCP.Pizza Chef: radostkali

The gitlab-mcp-server is a Python MCP server built on FastMCP that provides structured, real-time access to GitLab data and functionality. It enables LLMs to interact with GitLab repositories, issues, merge requests, and other resources securely and efficiently. Designed for easy deployment via Docker, it supports integration with MCP hosts like Cursor and Claude, facilitating advanced AI workflows involving GitLab environments.

Use This MCP server To

Access GitLab repository data for AI-assisted code review Fetch and summarize GitLab issues and merge requests Automate GitLab project status reporting Enable LLMs to query GitLab CI/CD pipeline statuses Integrate GitLab context into developer copilot workflows Trigger GitLab actions via natural language commands Aggregate GitLab project metrics for analysis Provide real-time GitLab environment context to LLMs

README

GitLab MCP Server (in Python)

Model Context Protocol (MCP) server for GitLab integration, built on FastMCP.

This server is implemented in Python, with fastmcp.

Quick Start

  1. Build the Docker image:
docker build -t gitlab-mcp-server .

Integration with Cursor/Claude

In MCP Settings -> Add MCP server, add this config:

{
  "mcpServers": {
    "gitlab": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "GITLAB_TOKEN",
        "-e",
        "GITLAB_URL",
        "gitlab-mcp-server:latest"
      ],
      "env": {
        "GITLAB_TOKEN": "token",
        "GITLAB_URL": "https://gitlab.com/"
      }
    }
  }
}

Note: Don't forget to replace GITLAB_TOKEN and GITLAB_URL values with your actual GitLab credentials and instance URL.

Getting GitLab Token

  1. Log in to your GitLab account
  2. Go to Settings -> Access Tokens
  3. Create a new token:
    • Scopes: select the necessary permissions:
      • api - for API access
      • read_repository - for reading repositories
      • write_repository - for writing to repositories
  4. Click "Create personal access token"
  5. Copy the generated token (it will be shown only once!)

Prompt (rule) for review

Here are some suggestions to improve and clarify your review.mdc rules for code review:


review.mdc (Improved Version)

Purpose:
Guidelines for conducting code reviews in the current branch, focusing on diffs with the origin/master branch, and integrating with the MCP GitLab server.


1. Review Scope

  • Review only the changes in the current branch compared to the origin/master branch.
  • Locate the corresponding Merge Request (MR) for this branch in GitLab using MCP tools.

2. Review Structure

  • Summary of Changes:

    • Provide a concise summary divided into two sections:
      • Business Changes: Describe the impact on business logic, user experience, or requirements.
      • Code Changes: Summarize technical modifications, refactoring, or architectural shifts.
  • Logical Breakdown:

    • Divide the changes into logical blocks (e.g., features, bug fixes, refactoring).
    • List these blocks clearly.
  • Detailed Review:

    • For each block, provide:
      • A brief description.
      • Suggestions for improvement (code quality, readability, maintainability, performance, etc.).
      • Identification of potential bugs or issues.
      • Illustrate type of suggestion with emoji.
      • Link to line in code.
    • If the terms of reference (requirements/spec) are not provided, request them to ensure accurate review.

3. Suggestions and Comments

  • Propose to post line comments with suggestions directly in the Merge Request using the MCP GitLab server.
  • All line comments in Merge Request must:
    • Begin with "[AI]".
    • Be specific, actionable, and reference the relevant code line(s).
    • Do not write a lot of text. Smaller is better.

4. Additional Guidelines

  • Prioritize clarity, conciseness, and constructiveness in all feedback.
  • Focus on both business logic and code quality.
  • Ensure all suggestions are justified and, where possible, reference best practices or project standards.
  • If you identify a bug, explain the reasoning and potential impact.

Contributing

Feel free to:

  • Add new GitLab integration tools and features
  • Improve existing functionality
  • Fix bugs
  • Enhance documentation
  • Suggest improvements

To contribute:

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Open a Pull Request

All contributions, big or small, are appreciated!

gitlab-mcp-server FAQ

How do I deploy the gitlab-mcp-server?
Build the Docker image using the provided Dockerfile and run it with your GitLab token and URL environment variables.
What environment variables are required?
You must provide GITLAB_TOKEN for authentication and GITLAB_URL for your GitLab instance URL.
Can I use this server with multiple MCP hosts?
Yes, it supports integration with various MCP hosts like Cursor and Claude via standard MCP configuration.
Is the gitlab-mcp-server secure?
It uses scoped GitLab access tokens to ensure secure and limited access to your GitLab data.
What programming language is the server implemented in?
The server is implemented in Python using the FastMCP framework.
How do I get a GitLab token for this server?
Log in to GitLab, navigate to Settings -> Access Tokens, and create a token with the necessary scopes.
Does the server support self-hosted GitLab instances?
Yes, you can specify your GitLab instance URL via the GITLAB_URL environment variable.
Can this server trigger GitLab actions or only read data?
It can both read data and trigger actions depending on the permissions granted to the token.