GitLab MCP for Code Review

by mehmetakinn
MIT License
1
  • Linux
  • Apple

Integrations

  • Enables interaction with GitLab's API to analyze and manage merge requests, including fetching diffs, comparing versions, adding comments, and approving/unapproving merge requests.

GitLab MCP para revisión de código

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

  • Python 3.10+
  • Token de acceso personal de GitLab con alcance de API (read_api, api)
  • Cursor IDE para integración completa con MCP

Inicio rápido

  1. Clonar este repositorio:
git clone https://github.com/yourusername/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 :

VariableRequeridoPor defectoDescripción
Token de Gitlab-Tu token de acceso personal de GitLab
Host de GitlabNogitlab.comNombre de host de la instancia de GitLab
VERSIÓN DE API DE GITLABNoversión 4Versión de la API de GitLab que se utilizará
NIVEL DE REGISTRONoINFORMACIÓNNivel de registro (DEBUG, INFO, WARNING, ERROR, CRÍTICO)
DEPURARNoFALSOHabilitar el modo de depuración
TIEMPO DE ESPERA DE LA SOLICITUDNo30Tiempo de espera de la solicitud de API en segundos
MÁXIMO_RETRIESNo3Má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.

Herramientas disponibles

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

HerramientaDescripción
fetch_merge_requestObtenga información completa sobre una solicitud de fusión
fetch_merge_request_diffObtener diferencias para una solicitud de fusión específica
fetch_commit_diffObtener información de diferencias para una confirmación específica
compare_versionsComparar diferentes ramas, etiquetas o confirmaciones
add_merge_request_commentAgregar un comentario a una solicitud de fusión
approve_merge_requestAprobar una solicitud de fusión
unapprove_merge_requestDesaprobar una solicitud de fusión
get_project_merge_requestsObtener 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

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. 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
                  A
                  license
                  A
                  quality
                  MCP Server for the GitLab API, enabling project management, file operations, and more.
                  Last updated -
                  9
                  1,630
                  44,247
                  JavaScript
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  A custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.
                  Last updated -
                  JavaScript
                • -
                  security
                  F
                  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 -
                  20
                  JavaScript
                • A
                  security
                  F
                  license
                  A
                  quality
                  An MCP server that enables AI assistants to manage GitHub Actions workflows by providing tools for listing, viewing, triggering, canceling, and rerunning workflows through the GitHub API.
                  Last updated -
                  9
                  24
                  TypeScript
                  • Linux
                  • Apple

                View all related MCP servers

                ID: 1q749wqn55