Skip to main content
Glama

GitLab MCP for Code Review

by mehmetakinn

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

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 :

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.

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:

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

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

                  • -
                    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
                    1
                    JavaScript
                    MIT License
                  • 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
                    16
                    37
                    TypeScript
                    • Linux
                    • Apple
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A Model Context Protocol server that enables AI assistants to interact with GitLab repositories, allowing tasks like managing merge requests, searching projects, and creating comments through RESTful API integration.
                    Last updated -
                    67
                    2
                    TypeScript
                    • Apple

                  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