GitLab CLI MCP Server
Integra asistentes de IA sin problemas con GitLab usando la herramienta CLI glab.
Documentación
GitLab MCP Server (Swift)
Un servidor de Model Context Protocol (MCP) que envuelve la CLI de GitLab (glab) para proporcionar funcionalidad de GitLab a asistentes de IA como Claude Desktop.
Características
- 🚀 Implementación nativa en Swift usando el SDK oficial de MCP Swift
- 🔧 Integración completa con la CLI de GitLab: admite todos los comandos de
glab - 🎯 Prompts inteligentes para flujos de trabajo comunes (merge requests, CI/CD, standup diario)
- 📊 Análisis de salida JSON con respaldo a texto plano
- 🔐 Autenticación segura mediante credenciales del sistema
glab - ⚡ Alto rendimiento con la concurrencia async/await de Swift
Requisitos previos
- macOS (Swift 5.9+ instalado mediante Xcode)
- CLI de glab instalada y autenticada
- Claude Desktop u otro cliente compatible con MCP
Instalación
Instalación rápida
# Clone the repository
git clone https://github.com/yourusername/gitlab-mcp-swift.git
cd gitlab-mcp-swift
# Run the install script
./install.sh
El script de instalación:
- Compilará el servidor usando Swift Package Manager
- Lo instalará en
~/.swiftpm/bin/git-lab-mcp - Mostrará la configuración para Claude Desktop
Instalación manual
# Build the project
swift build -c release
# Install to a location in your PATH
cp .build/release/git-lab-mcp ~/.swiftpm/bin/
Configuración
Añade a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"gitlab": {
"command": "/Users/YOUR_USERNAME/.swiftpm/bin/git-lab-mcp",
"args": ["--log-level", "info"],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
Autenticación
El servidor usa tu autenticación existente de la CLI de glab:
# Login to GitLab
glab auth login
# Check authentication status
glab auth status
Herramientas disponibles
Herramientas principales
glab_mr- Operaciones de merge request (listar, crear, ver, fusionar, aprobar)glab_issue- Gestión de issues (listar, crear, ver, cerrar, actualizar)glab_ci- Operaciones de pipelines CI/CD (ver, listar, ejecutar, reintentar)glab_repo- Operaciones de repositorio (clonar, fork, ver, archivar)glab_api- Acceso directo a la API de GitLabglab_auth- Gestión de autenticaciónglab_version- Información de versiónglab_raw- Ejecutar cualquier comando de glab directamente
Prompts
El servidor incluye prompts inteligentes para flujos de trabajo comunes:
my-mrs- Revisa tus merge requestscreate-mr- Crea un merge request con parámetros guiadosdaily-standup- Recopila la actividad de GitLab para standups diariosreview-pipeline- Revisa el estado de los pipelines CI/CD
Ejemplos de uso
Revisa tus merge requests
Use the prompt "my-mrs" to see all your open merge requests
Crea un merge request
Use the prompt "create-mr" with:
- title: "Fix: Memory leak in user service"
- source_branch: "fix/memory-leak"
- target_branch: "main"
Ejecuta un pipeline CI/CD
Use tool "glab_ci" with:
- subcommand: "run"
- repo: "myteam/myproject"
Desarrollo
Compilación desde el código fuente
# Clone the repository
git clone https://github.com/yourusername/gitlab-mcp-swift.git
cd gitlab-mcp-swift
# Build in debug mode
swift build
# Run tests
swift test
# Build for release
swift build -c release
Estructura del proyecto
gitlab-mcp-swift/
├── Sources/
│ └── GitLabMCP/
│ ├── GitLabMCPServer.swift # Main server implementation
│ ├── GitLabMCPCommand.swift # CLI entry point
│ └── GitLabCLI.swift # GitLab CLI wrapper
├── Package.swift # Swift package manifest
├── install.sh # Installation script
└── README.md # This file
Solución de problemas
El servidor no se inicia
- Asegúrate de que
glabesté instalado:which glab - Comprueba la autenticación:
glab auth status - Ejecuta con registro de depuración:
--log-level debug
Los comandos devuelven "no autenticado"
- Ejecuta
glab auth loginpara autenticarte - Para instancias autoalojadas:
glab auth login --hostname your.gitlab.instance
Problemas de conexión MCP
- Reinicia Claude Desktop después de los cambios de configuración
- Revisa los registros en la consola de desarrollador de Claude Desktop
- Verifica que la ruta del ejecutable sea correcta en la configuración
Contribuciones
¡Las contribuciones son bienvenidas! Por favor:
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios
- Añade pruebas si corresponde
- Envía un pull request
Licencia
Licencia MIT: consulta el archivo LICENSE para más detalles
Agradecimientos
- Construido con el SDK Swift de Model Context Protocol
- Envuelve la excelente CLI de GitLab (glab)
- Inspirado por la necesidad de una mejor integración de GitLab en asistentes de IA