Skip to main content
Glama

gitlab-mcp

Servidor MCP para la API de GitLab. Funciona con instancias de GitLab autohospedadas y con gitlab.com.

Proporciona herramientas para incidencias, solicitudes de fusión, revisión de código, pipelines, hitos, lanzamientos, búsqueda y acceso a archivos.

Requisitos previos

  • Node.js >= 18

  • npm

  • Token de acceso personal de GitLab con alcance api

Related MCP server: GitLab MCP Server

Instalación

git clone <repo-url> gitlab-mcp
cd gitlab-mcp
npm install
npm run build

Configuración

Cree un archivo config.json en la raíz del proyecto:

{
  "token": "glpat-your-token-here",
  "apiUrl": "https://your-gitlab-instance.com/api/v4"
}

Para gitlab.com, utilice "apiUrl": "https://gitlab.com/api/v4" o simplemente omita el campo.

Alternativamente, puede establecer variables de entorno en lugar de usar config.json:

export GITLAB_PERSONAL_ACCESS_TOKEN="glpat-your-token-here"
export GITLAB_API_URL="https://your-gitlab-instance.com/api/v4"

Creación de un token de GitLab

  1. Vaya a GitLab > Settings > Access Tokens

  2. Cree un token con el alcance api

  3. Copie el token en config.json

Adición a Claude Code

Añada el servidor a su configuración de MCP de Claude Code (~/.claude/settings.json o .claude/settings.local.json a nivel de proyecto):

{
  "mcpServers": {
    "gitlab": {
      "command": "node",
      "args": ["/absolute/path/to/gitlab-mcp/index.js"]
    }
  }
}

Reinicie Claude Code o ejecute /mcp para conectar.

Herramientas disponibles

Incidencias (Issues)

Herramienta

Descripción

gitlab_get_issue

Obtiene una incidencia específica por proyecto e IID

gitlab_list_group_issues

Lista las incidencias en un grupo con filtros (estado, etiquetas, asignado, búsqueda, hito)

gitlab_list_milestone_issues

Lista las incidencias en un hito

gitlab_create_issue

Crea una nueva incidencia

gitlab_update_issue

Actualiza una incidencia (estado, título, descripción, etiquetas, asignado, hito)

gitlab_add_comment

Añade un comentario a una incidencia

Solicitudes de fusión (Merge Requests)

Herramienta

Descripción

gitlab_list_merge_requests

Lista las MR con filtros (estado, autor, revisor, asignado, fecha, rama de destino). El proyecto es opcional: omítalo para búsquedas entre proyectos.

gitlab_get_merge_request

Obtiene una MR específica por proyecto e IID

gitlab_get_mr_changes

Obtiene el diff / archivos modificados de una MR

gitlab_list_mr_notes

Lista los comentarios/notas de una MR

gitlab_add_mr_note

Añade un comentario general a una MR

gitlab_create_mr_discussion

Crea un comentario inline en un archivo y línea específicos

Proyectos, Hitos, Lanzamientos

Herramienta

Descripción

gitlab_list_projects

Lista los proyectos en un grupo

gitlab_list_milestones

Lista los hitos en un grupo

gitlab_list_releases

Lista los lanzamientos de un proyecto

Búsqueda y Archivos

Herramienta

Descripción

gitlab_search

Busca dentro de un proyecto (código, incidencias, MR, commits, notas)

gitlab_get_file

Obtiene el contenido de un archivo de un repositorio

gitlab_list_pipelines

Lista los pipelines de CI/CD con filtros (estado, ref)

Opción de escape genérica

Herramienta

Descripción

gitlab_api_request

Llama directamente a cualquier endpoint de la API REST de GitLab. Úselo cuando no exista una herramienta dedicada. Requiere method (GET/POST/PUT/PATCH/DELETE), path (ej. /projects/93/merge_requests/2387/notes/74875) y un body opcional.

Ejemplo: editar una nota de MR existente:

gitlab_api_request({
  method: "PUT",
  path: "/projects/93/merge_requests/2387/notes/74875",
  body: { body: "Updated comment text" }
})

Ejemplo de uso en Claude Code

> Review MR !2397 in octopus/reunion/client

Claude will use gitlab_get_merge_request, gitlab_get_mr_changes,
and gitlab_create_mr_discussion to review and leave inline comments.

Desarrollo

# Edit index.ts, then rebuild
npm run build

# Reconnect in Claude Code
/mcp

Related MCP Connectors

Related MCP Servers