Ir al contenido

Configuración

GitLab MCP Server se configura mediante variables de entorno en modo stdio y flags de CLI en modo HTTP. Esta página cubre todas las opciones de configuración.

Estas deben establecerse para que el servidor arranque en modo stdio:

VariableDescripciónEjemplo
GITLAB_URLURL base de la instancia de GitLabhttps://gitlab.example.com
GITLAB_TOKENPersonal Access Token con scope apiglpat-xxxxxxxxxxxxxxxxxxxx
VariablePredeterminadoDescripción
GITLAB_SKIP_TLS_VERIFYfalseOmitir verificación de certificados TLS para certificados autofirmados
META_TOOLStrueHabilitar modo meta-herramientas (42 herramientas de dominio en lugar de 1000+ herramientas individuales)
GITLAB_ENTERPRISEfalseHabilitar herramientas Enterprise/Premium (35 individuales + 15 meta-tools) para GitLab Premium/Ultimate
GITLAB_READ_ONLYfalseDesactivar todas las herramientas de escritura (crear, actualizar, eliminar)
GITLAB_SAFE_MODEfalseDevolver vista previa JSON estructurada en lugar de ejecutar herramientas de escritura (modo dry-run)
LOG_LEVELinfoNivel de verbosidad del log: debug, info, warn, error

Estos controlan qué capacidades MCP están habilitadas:

VariablePredeterminadoDescripción
ENABLE_ANALYSIS_TOOLStrueHabilitar 11 herramientas de análisis con IA (requiere MCP sampling)
ENABLE_ELICITATIONtrueHabilitar asistentes de creación interactivos (proyecto, issue, MR)
ENABLE_RESOURCEStrueHabilitar 24 recursos MCP para acceso de datos de solo lectura
ENABLE_PROMPTStrueHabilitar 38 plantillas de prompts MCP
VariablePredeterminadoDescripción
AUTO_UPDATEtrueComportamiento de autoactualización: true (aplicar al iniciar), check (solo notificar), false (deshabilitado)
AUTO_UPDATE_REPOjmrplens/gitlab-mcp-serverRepositorio de GitHub para los assets de release
AUTO_UPDATE_INTERVAL1hIntervalo de comprobación periódica (solo modo HTTP)
VariablePredeterminadoDescripción
YOLO_MODEfalseOmitir confirmaciones de acciones destructivas (no recomendado)
.env
# Requeridas
GITLAB_URL=https://gitlab.example.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
# Opcionales
GITLAB_SKIP_TLS_VERIFY=false
META_TOOLS=true
GITLAB_ENTERPRISE=false
GITLAB_READ_ONLY=false
GITLAB_SAFE_MODE=false
LOG_LEVEL=info
# Componentes opcionales
ENABLE_ANALYSIS_TOOLS=true
ENABLE_ELICITATION=true
ENABLE_RESOURCES=true
ENABLE_PROMPTS=true
# Autoactualización
AUTO_UPDATE=true

Crea .vscode/mcp.json en tu workspace:

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

Configuración segura del token usando variables de entrada de VS Code:

{
"inputs": [
{
"id": "gitlab-token",
"type": "promptString",
"description": "GitLab Personal Access Token",
"password": true
}
],
"servers": {
"gitlab": {
"type": "stdio",
"command": "/ruta/a/gitlab-mcp-server",
"env": {
"GITLAB_URL": "https://gitlab.example.com",
"GITLAB_TOKEN": "${input:gitlab-token}"
}
}
}
}

Al ejecutar en modo HTTP (--http), la configuración usa flags de CLI en lugar de variables de entorno:

FlagPredeterminadoDescripción
--httpfalseHabilitar modo de transporte HTTP
--http-addr:8080Dirección y puerto de escucha
--gitlab-urlURL de la instancia de GitLab (requerida)
--skip-tls-verifyfalseOmitir verificación TLS
--meta-toolstrueHabilitar modo meta-herramientas
--enterprisefalseHabilitar herramientas Enterprise/Premium
--read-onlyfalseModo solo lectura
--max-http-clients100Máximo de sesiones de clientes simultáneas
--session-timeout30mTiempo de espera de sesión inactiva
--auto-updatetrueModo de autoactualización
--auto-update-repojmrplens/gitlab-mcp-serverRepositorio de GitHub para releases
--auto-update-interval1hIntervalo de comprobación periódica de actualizaciones
--auth-modelegacyModo de autenticación: legacy u oauth
--oauth-cache-ttl15mTTL de caché de identidad OAuth (1m–2h)

Flags generales (modos stdio y HTTP):

FlagPredeterminadoDescripción
--shutdownfalseTerminar todas las instancias en ejecución y salir

Ejemplo:

Ventana de terminal
./gitlab-mcp-server \
--http \
--http-addr=0.0.0.0:8080 \
--gitlab-url=https://gitlab.example.com \
--max-http-clients=200 \
--session-timeout=1h

El servidor carga la configuración en el siguiente orden (las fuentes posteriores anulan las anteriores):

  1. ~/.gitlab-mcp-server.env — Valores predeterminados a nivel de usuario (directorio home)
  2. .env — Configuración a nivel de proyecto (directorio de trabajo actual)
  3. Variables de entorno del sistema — Variables exportadas en el shell
  4. Flags de CLI — Argumentos de línea de comandos (prioridad más alta)

Para instancias de GitLab con certificados TLS autofirmados:

Ventana de terminal
GITLAB_SKIP_TLS_VERIFY=true

Habilita GITLAB_READ_ONLY=true para restringir el servidor a operaciones de solo lectura. Todas las herramientas que crean, actualizan o eliminan recursos se desactivan. Esto es útil para:

  • Entornos de auditoría y cumplimiento
  • Servidores compartidos donde los usuarios solo deben consultar datos
  • Tokens con scope read_api

Habilita GITLAB_SAFE_MODE=true para interceptar las herramientas de escritura y devolver una vista previa JSON estructurada de lo que se ejecutaría, sin realizar la operación. Las herramientas de solo lectura funcionan normalmente. Esto es útil para:

  • Revisar operaciones antes de ejecutarlas (dry-run)
  • Entornos de formación donde se quiere ver el comportamiento de las herramientas
  • Depurar parámetros de herramientas sin efectos secundarios