Skip to main content
Glama

GitLab MCP for Code Review

by mehmetakinn

GitLab MCP para revisión de código

Python 3.10+ Licencia: MIT

Este proyecto es una bifurcación de cayirtepeomer/gerrit-code-review-mcp y está adaptado para la integración de GitLab.

Un servidor MCP (Protocolo de Contexto de Modelo) para integrar asistentes de IA como Claude con las solicitudes de fusión de GitLab. Esto permite a los asistentes de IA revisar los cambios de código directamente a través de la API de GitLab.

Características

  • Análisis completo de solicitudes de fusión : obtenga detalles completos sobre las solicitudes de fusión, incluidas diferencias, confirmaciones y comentarios

  • Diferencias específicas de archivos : analiza cambios en archivos específicos dentro de solicitudes de fusión

  • Comparación de versiones : compare diferentes ramas, etiquetas o confirmaciones

  • Gestión de revisiones : agregar comentarios, aprobar o desaprobar solicitudes de fusión

  • Descripción general del proyecto : obtener listas de todas las solicitudes de fusión en un proyecto

Instalación

Prerrequisitos

Inicio rápido

  1. Clonar este repositorio:

git clone https://github.com/mehmetakinn/gitlab-mcp-code-review.git cd gitlab-mcp-code-review
  1. Crear y activar un entorno virtual:

python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. Instalar dependencias:

pip install -r requirements.txt
  1. Crea un archivo .env con tu configuración de GitLab (consulta .env.example para ver todas las opciones):

# Required GITLAB_TOKEN=your_personal_access_token_here # Optional settings GITLAB_HOST=gitlab.com GITLAB_API_VERSION=v4 LOG_LEVEL=INFO

Opciones de configuración

Las siguientes variables de entorno se pueden configurar en su archivo .env :

Variable

Requerido

Por defecto

Descripción

Token de Gitlab

-

Tu token de acceso personal de GitLab

Host de Gitlab

No

gitlab.com

Nombre de host de la instancia de GitLab

VERSIÓN DE API DE GITLAB

No

versión 4

Versión de la API de GitLab que se utilizará

NIVEL DE REGISTRO

No

INFORMACIÓN

Nivel de registro (DEBUG, INFO, WARNING, ERROR, CRÍTICO)

DEPURAR

No

FALSO

Habilitar el modo de depuración

TIEMPO DE ESPERA DE LA SOLICITUD

No

30

Tiempo de espera de la solicitud de API en segundos

MÁXIMO_RETRIES

No

3

Máximo de intentos de reintento para solicitudes fallidas

Integración de Cursor IDE

Para usar este MCP con Cursor IDE, agregue esta configuración a su archivo ~/.cursor/mcp.json :

{ "mcpServers": { "gitlab-mcp-code-review": { "command": "/path/to/your/gitlab-mcp-code-review/.venv/bin/python", "args": [ "/path/to/your/gitlab-mcp-code-review/server.py", "--transport", "stdio" ], "cwd": "/path/to/your/gitlab-mcp-code-review", "env": { "PYTHONPATH": "/path/to/your/gitlab-mcp-code-review", "VIRTUAL_ENV": "/path/to/your/gitlab-mcp-code-review/.venv", "PATH": "/path/to/your/gitlab-mcp-code-review/.venv/bin:/usr/local/bin:/usr/bin:/bin" }, "stdio": true } } }

Reemplace /path/to/your/gitlab-mcp-code-review con la ruta real a su repositorio clonado.

Integración de la aplicación de escritorio Claude

Para utilizar este MCP con la aplicación de escritorio Claude:

  1. Abra la aplicación de escritorio Claude

  2. Vaya a Configuración → Avanzado → Configuración de MCP

  3. Agregue la siguiente configuración:

{ "mcpServers": { "gitlab-mcp-code-review": { "command": "/path/to/your/gitlab-mcp-code-review/.venv/bin/python", "args": [ "/path/to/your/gitlab-mcp-code-review/server.py", "--transport", "stdio" ], "cwd": "/path/to/your/gitlab-mcp-code-review", "env": { "PYTHONPATH": "/path/to/your/gitlab-mcp-code-review", "VIRTUAL_ENV": "/path/to/your/gitlab-mcp-code-review/.venv", "PATH": "/path/to/your/gitlab-mcp-code-review/.venv/bin:/usr/local/bin:/usr/bin:/bin" }, "stdio": true } } }

Reemplace /path/to/your/gitlab-mcp-code-review con la ruta real a su repositorio clonado.

Herramientas disponibles

El servidor MCP proporciona las siguientes herramientas para interactuar con GitLab:

Herramienta

Descripción

fetch_merge_request

Obtenga información completa sobre una solicitud de fusión

fetch_merge_request_diff

Obtener diferencias para una solicitud de fusión específica

fetch_commit_diff

Obtener información de diferencias para una confirmación específica

compare_versions

Comparar diferentes ramas, etiquetas o confirmaciones

add_merge_request_comment

Agregar un comentario a una solicitud de fusión

approve_merge_request

Aprobar una solicitud de fusión

unapprove_merge_request

Desaprobar una solicitud de fusión

get_project_merge_requests

Obtener una lista de solicitudes de fusión para un proyecto

Ejemplos de uso

Obtener una solicitud de fusión

# Get details of merge request #5 in project with ID 123 mr = fetch_merge_request("123", "5")

Ver cambios específicos en archivos

# Get diff for a specific file in a merge request file_diff = fetch_merge_request_diff("123", "5", "path/to/file.js")

Comparar sucursales

# Compare develop branch with master branch diff = compare_versions("123", "develop", "master")

Agregar un comentario a una solicitud de fusión

# Add a comment to a merge request comment = add_merge_request_comment("123", "5", "This code looks good!")

Aprobar una solicitud de fusión

# Approve a merge request and set required approvals to 2 approval = approve_merge_request("123", "5", approvals_required=2)

Solución de problemas

Si encuentra problemas:

  1. Verifique que su token de GitLab tenga los permisos adecuados (api, read_api)

  2. Comprueba la configuración de tu archivo .env

  3. Asegúrese de que las rutas de configuración de MCP sean correctas

  4. Pruebe la conexión con: curl -H "Private-Token: your-token" https://gitlab.com/api/v4/projects

  5. Establezca LOG_LEVEL=DEBUG en su archivo .env para obtener un registro más detallado

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio

  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )

  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )

  4. Empujar a la rama ( git push origin feature/amazing-feature )

  5. Abrir una solicitud de extracción

Consulte el archivo CONTRIBUTING.md para obtener más detalles sobre el proceso de desarrollo.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor MCP que integra asistentes de IA como Claude con las solicitudes de fusión de GitLab, lo que les permite revisar cambios de código, agregar comentarios y aprobar/desaprobar solicitudes de fusión directamente a través de la API de GitLab.

  1. Características
    1. Instalación
      1. Prerrequisitos
      2. Inicio rápido
    2. Opciones de configuración
      1. Integración de Cursor IDE
        1. Integración de la aplicación de escritorio Claude
          1. Herramientas disponibles
            1. Ejemplos de uso
              1. Obtener una solicitud de fusión
              2. Ver cambios específicos en archivos
              3. Comparar sucursales
              4. Agregar un comentario a una solicitud de fusión
              5. Aprobar una solicitud de fusión
            2. Solución de problemas
              1. Contribuyendo
                1. Licencia

                  Related MCP Servers

                  • A
                    security
                    F
                    license
                    A
                    quality
                    An MCP server that enables Claude and other compatible LLMs to interact with the GitHub API, supporting features like creating issues, retrieving repository information, listing issues, and searching repositories.
                    Last updated -
                    4
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that enables communication with GitLab repositories, allowing interaction with GitLab's API to manage projects, issues, and repositories through natural language.
                    Last updated -
                    7,512
                    1
                    MIT License
                  • A
                    security
                    F
                    license
                    A
                    quality
                    An MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.
                    Last updated -
                    4
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.
                    Last updated -
                    0
                    16
                    MIT License

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/mehmetakinn/gitlab-mcp-code-review'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server