Ir al contenido

Solución de Problemas

SíntomaCausaSolución
GITLAB_TOKEN is required al inicioToken no establecidoEstablece GITLAB_TOKEN en .env o en el entorno
GITLAB_URL is required al inicioURL no establecidaEstablece GITLAB_URL en .env o usa el flag --gitlab-url
401 Unauthorized de la API de GitLabPAT inválido o expiradoGenera un nuevo token con scope api en GitLab → Preferences → Access Tokens
403 Forbidden en operaciones específicasEl token carece del scope requeridoAsegúrate de que el token tiene scope api (no solo read_api)
Conexión rechazada o timeoutInstancia de GitLab inaccesibleVerifica que GITLAB_URL es accesible: curl -s $GITLAB_URL/api/v4/version
SíntomaCausaSolución
x509: certificate signed by unknown authorityCertificado autofirmadoEstablece GITLAB_SKIP_TLS_VERIFY=true en .env o --skip-tls-verify en modo HTTP
x509: certificate has expiredCertificado TLS expiradoRenueva el certificado en el servidor de GitLab, o usa GITLAB_SKIP_TLS_VERIFY=true temporalmente
SíntomaCausaSolución
El cliente MCP muestra 1006 herramientas en lugar de 42Meta-herramientas desactivadasEstablece META_TOOLS=true (por defecto) para consolidar en meta-herramientas de dominio
Herramienta no encontrada en tools/listDesajuste del modo de meta-herramientasEl modo individual usa gitlab_create_issue, el modo meta usa gitlab_issue con action: create
unknown action en llamada a meta-herramientaParámetro de acción inválidoVerifica las acciones válidas en Resumen de Herramientas
Herramientas enterprise faltantesModo enterprise desactivadoEstablece GITLAB_ENTERPRISE=true para habilitar 15 meta-herramientas enterprise adicionales
SíntomaCausaSolución
Actualización detectada pero no aplicadaModo es solo checkEstablece AUTO_UPDATE=true para habilitar la aplicación automática
Sigue ejecutando la versión antigua tras la actualizaciónProceso no reiniciado (Windows)Reinicia el servidor o usa gitlab-mcp-server --shutdown para terminar todas las instancias
No se puede reemplazar el binario (archivo bloqueado)Las instancias en ejecución mantienen el archivoEjecuta gitlab-mcp-server --shutdown para terminar todas las instancias primero
Error de red alcanzando GitHubFirewall o proxy bloqueandoVerifica la conectividad a github.com desde el servidor
SíntomaCausaSolución
400 Bad RequestCabecera de token faltanteEnvía la cabecera PRIVATE-TOKEN o Authorization: Bearer <token> con cada solicitud
Desalojo del pool demasiado frecuenteDemasiados tokens únicosAumenta --max-http-clients (por defecto: 100)
Sesiones expirando inesperadamenteTimeout de inactividad muy cortoAumenta --session-timeout (por defecto: 30m)
SíntomaCausaSolución
401 Unauthorized con token OAuth válidoToken expirado o rechazado por GitLabRe-autoriza a través del flujo OAuth; verifica que la aplicación OAuth de GitLab siga activa
Alta latencia en la primera solicitud tras expirar la cachéRe-validación del token contra la API de GitLabComportamiento esperado — aumenta --oauth-cache-ttl (por defecto: 15m, máx: 2h) para reducir la frecuencia de validación
404 en /.well-known/oauth-protected-resourceModo OAuth no habilitadoInicia el servidor con --auth-mode=oauth
El cliente no inicia el flujo OAuthEl cliente no soporta OAuth 2.1Usa la cabecera PRIVATE-TOKEN en su lugar — funciona en modo OAuth mediante normalización automática
La cabecera PRIVATE-TOKEN no funciona en modo OAuthDebería funcionarEl middleware normaliza PRIVATE-TOKEN a Bearer — verifica la validez del token
Operaciones fallan con scope mcp insuficienteDCR fallback asignó scope mcp en lugar de apiConfigura clientId explícitamente en la configuración del cliente MCP. Ver Modo servidor HTTP
SíntomaCausaSolución
Resultados de listas truncadosLímite predeterminado de per_pagePasa los parámetros per_page (máx 100) y page para paginar
nextPage faltante en la respuestaÚltima página alcanzadaNo hay más resultados — este es el comportamiento esperado
SíntomaSolución
”Tool not found” en Copilot ChatVerifica el panel de Salida → MCP Logs para errores. Verifica la ruta de .vscode/mcp.json
El servidor no aparece en el estado MCPEjecuta Ctrl+Shift+PMCP: List Servers para verificar la configuración
”Permission denied” al inicioEjecuta chmod +x /ruta/al/gitlab-mcp-server (Linux/macOS)
El servidor se reinicia repetidamenteVerifica MCP Logs por GITLAB_URL o GITLAB_TOKEN faltantes
SíntomaSolución
Las herramientas no se listanVerifica que .cursor/mcp.json existe y usa la clave mcpServers (no servers)
${input:...} no funcionaNo es soportado por Cursor — usa variables de entorno en su lugar

Habilita el registro detallado para diagnosticar problemas:

Ventana de terminal
# Modo stdio
LOG_LEVEL=debug ./gitlab-mcp-server 2>debug.log
# Modo HTTP (logs mezclados con la salida del servidor)
LOG_LEVEL=debug ./gitlab-mcp-server --http --gitlab-url=https://gitlab.ejemplo.com 2>debug.log

Los logs de depuración incluyen:

  • Cada llamada a herramienta con parámetros de entrada
  • Detalles de solicitud/respuesta de la API de GitLab
  • Eventos de validación de token (solo los últimos 4 caracteres)
  • Operaciones del pool de sesiones (modo HTTP)

Si no puedes resolver un problema:

  1. Habilita el registro de depuración (LOG_LEVEL=debug) y captura la salida
  2. Revisa las GitHub Issues para problemas conocidos
  3. Abre una nueva issue con:
    • Versión del servidor (gitlab-mcp-server --version o revisa los logs de inicio)
    • Sistema operativo y arquitectura
    • Nombre y versión del cliente MCP
    • Logs de depuración redactados (elimina cualquier token o dato sensible)
    • Pasos para reproducir el problema