GitLab CLI MCP Server
Integra asistentes de IA sin problemas con GitLab usando la herramienta CLI glab.
GitHub
1
Prueba este MCPPatrocinadoDocumentació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