Ir al contenido

Primeros pasos

Pon en marcha GitLab MCP Server en menos de 5 minutos.

Antes de comenzar, asegúrate de tener:

  1. Una instancia de GitLab — GitLab.com, CE autoalojado o EE
  2. Un Personal Access Token (PAT) con el scope api
  3. Un cliente de IA compatible con MCP — VS Code + Copilot, Claude Desktop, Cursor o Claude Code
  1. Ve a GitLab → Preferences → Access Tokens
  2. Crea un nuevo token con el scope api
  3. Copia el token — lo necesitarás para la configuración

Descarga el último binario para tu plataforma desde la página de GitHub Releases:

PlataformaBinario
Linux (x86_64)gitlab-mcp-server-linux-amd64
Linux (ARM64)gitlab-mcp-server-linux-arm64
macOS (Intel)gitlab-mcp-server-darwin-amd64
macOS (Apple Silicon)gitlab-mcp-server-darwin-arm64
Windows (x86_64)gitlab-mcp-server-windows-amd64.exe
Windows (ARM64)gitlab-mcp-server-windows-arm64.exe
Ventana de terminal
chmod +x gitlab-mcp-server-*

Opcionalmente, muévelo a un directorio en tu PATH:

Ventana de terminal
sudo mv gitlab-mcp-server-linux-amd64 /usr/local/bin/gitlab-mcp-server

La forma más fácil de configurar el servidor es el asistente de configuración integrado:

Ventana de terminal
./gitlab-mcp-server setup-wizard

El asistente:

  • Solicitará tu URL de GitLab y token
  • Probará la conexión
  • Detectará automáticamente tu cliente de IA
  • Generará el archivo de configuración correcto

Si prefieres configurar manualmente, elige tu cliente de IA:

Crea o edita .vscode/mcp.json en la raíz de tu workspace:

{
"servers": {
"gitlab": {
"type": "stdio",
"command": "/ruta/a/gitlab-mcp-server",
"env": {
"GITLAB_URL": "https://gitlab.example.com",
"GITLAB_TOKEN": "glpat-xxxxxxxxxxxxxxxxxxxx"
}
}
}
}

En lugar de colocar secretos en archivos de configuración del cliente, puedes usar un archivo .env:

.env
GITLAB_URL=https://gitlab.example.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx

El servidor carga .env desde el directorio de trabajo actual automáticamente. Consulta Configuración para el orden de carga completo.

Para despliegues en equipo, puedes ejecutar el servidor en modo HTTP donde cada usuario se autentica con su propio token:

Ventana de terminal
./gitlab-mcp-server --http --http-addr=0.0.0.0:8080 --gitlab-url=https://gitlab.example.com

Cada cliente se conecta vía HTTP y proporciona su propio token de GitLab. Consulta Modo servidor HTTP para más detalles.

Para gestión de tokens sin configuración manual, usa el modo OAuth. Los usuarios autorizan a través del navegador — no se requiere copiar ni distribuir tokens:

Ventana de terminal
./gitlab-mcp-server --http --gitlab-url=https://gitlab.example.com --auth-mode=oauth

Los clientes MCP que soportan OAuth 2.1 (VS Code, Claude Code) descubren el servidor de autorización automáticamente vía /.well-known/oauth-protected-resource. Consulta docs/oauth-app-setup.md para crear la Aplicación OAuth de GitLab requerida.

Si te conectas a una instancia de GitLab autoalojada (Community Edition o Enterprise Edition), la configuración es la misma — solo asegúrate de que GITLAB_URL apunte a tu instancia interna:

.env
GITLAB_URL=https://gitlab.internal.company.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx

Muchas instancias autoalojadas usan certificados autofirmados o de CA interna. Si ves errores x509: certificate signed by unknown authority, añade:

.env
GITLAB_SKIP_TLS_VERIFY=true
.env
GITLAB_URL=https://gitlab.internal.company.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx

Tanto GitLab CE (gratuito) como EE (Premium/Ultimate) son totalmente compatibles. Para funciones exclusivas de EE como métricas DORA, épicas y gestión de vulnerabilidades, habilita el modo enterprise con GITLAB_ENTERPRISE=true. Consulta Configuración para todas las opciones disponibles.

Una vez configurado, abre tu cliente de IA y pregunta:

¿Quién soy en GitLab?

El servidor debería devolver tu perfil de usuario de GitLab, confirmando que la conexión funciona. También puedes probar:

Lista mis merge requests asignadas
Muestra los pipelines recientes en my-project

¡Si ves resultados, todo está listo!

Por defecto, el servidor funciona en modo meta-herramientas — en lugar de registrar 1006 herramientas individuales (que consumirían la mayor parte de la ventana de contexto del LLM), las consolida en 42 meta-herramientas a nivel de dominio que cubren el 100% de la funcionalidad.

Por ejemplo, en lugar de herramientas separadas gitlab_list_issues, gitlab_create_issue, gitlab_close_issue, hay una única herramienta gitlab_issue con un parámetro action:

{
"tool": "gitlab_issue",
"arguments": {
"action": "create",
"project": "my-group/my-project",
"title": "Fix login redirect"
}
}

Esto es transparente para ti — tu cliente de IA maneja el enrutamiento automáticamente. Solo pregunta de forma natural: “crea un issue para el bug del login” y el LLM selecciona la meta-herramienta y acción correctas.