mcp-gitlab-crunchtools
MCP GitLab CrunchTools
Un servidor MCP (Model Context Protocol) seguro para proyectos, solicitudes de fusión, incidencias, pipelines y búsqueda de GitLab. Funciona con cualquier instancia de GitLab (gitlab.com, autoalojada o empresarial).
Resumen
Este servidor MCP está diseñado para ser:
Seguro por defecto - Modelado de amenazas integral, validación de entradas y protección de tokens
Sin servicios de terceros - Se ejecuta localmente mediante stdio, tu token de API nunca sale de tu máquina
Multi-instancia - Funciona con gitlab.com, GitLab autoalojado o instancias empresariales mediante URL configurable
Multiplataforma - Funciona en Linux, macOS y Windows
Actualizado automáticamente - GitHub Actions supervisa CVEs y actualiza dependencias
Contenerizado - Disponible en
quay.io/crunchtools/mcp-gitlabconstruido sobre la imagen base Hummingbird Python
Related MCP server: gitlab-mcp-server
Convención de nombres
Componente | Nombre |
Repositorio de GitHub | |
Contenedor |
|
Paquete de Python (PyPI) |
|
Comando CLI |
|
Importación de módulo |
|
¿Por qué Hummingbird?
La imagen del contenedor está construida sobre la imagen base Hummingbird Python de Project Hummingbird, que proporciona:
Exposición mínima a CVE - Construido con un conjunto mínimo de paquetes, lo que reduce drásticamente la superficie de ataque
Actualizaciones periódicas - Los parches de seguridad se aplican con prontitud
Optimizado para Python - Entorno de Python preconfigurado con el gestor de paquetes uv
Listo para producción - Manejo adecuado de señales y usuario no root por defecto
Características
Gestión de proyectos (5 herramientas)
list_projects- Lista proyectos con filtrado y búsquedaget_project- Obtiene detalles del proyecto por ID o rutalist_project_branches- Lista las ramas del repositorioget_project_branch- Obtiene una sola ramalist_project_commits- Lista commits con filtrado por fecha/ruta
Gestión de grupos (3 herramientas)
list_groups- Lista grupos con filtradoget_group- Obtiene detalles del grupo por ID o rutalist_group_projects- Lista proyectos en un grupo (con soporte para subgrupos)
Solicitudes de fusión (7 herramientas)
list_merge_requests- Lista MRs por estado, etiquetas, hitoget_merge_request- Obtiene detalles del MRcreate_merge_request- Crea un nuevo MRupdate_merge_request- Actualiza título, descripción, estado y asignados del MRlist_mr_notes- Lista comentarios en un MRcreate_mr_note- Añade un comentario a un MRget_mr_changes- Obtiene el diff de un MR
Incidencias (6 herramientas)
list_issues- Lista incidencias por estado, etiquetas, hito, asignadoget_issue- Obtiene detalles de la incidenciacreate_issue- Crea una nueva incidenciaupdate_issue- Actualiza título, descripción, estado y etiquetas de la incidencialist_issue_notes- Lista comentarios en una incidenciacreate_issue_note- Añade un comentario a una incidencia
Pipelines (4 herramientas)
list_pipelines- Lista pipelines de CI/CD con filtrado por estadoget_pipeline- Obtiene detalles del pipelinelist_pipeline_jobs- Lista trabajos en un pipelineget_job_log- Obtiene la salida del registro del trabajo
Búsqueda (2 herramientas)
search_global- Busca en todos los recursos de GitLab accesiblessearch_project- Busca dentro de un proyecto específico
Instalación
Con uvx (Recomendado)
uvx mcp-gitlab-crunchtoolsCon pip
pip install mcp-gitlab-crunchtoolsCon contenedor
podman run -e GITLAB_TOKEN=your_token \
quay.io/crunchtools/mcp-gitlabConfiguración
Variables de entorno
Variable | Obligatoria | Valor por defecto | Descripción |
| Sí | — | Token de acceso personal |
| No |
| URL de la instancia de GitLab |
Creación de un token de acceso personal de GitLab
Navega a Tokens de acceso
Ve a https://gitlab.com/-/user_settings/personal_access_tokens
O: Avatar > Preferencias > Tokens de acceso
Crea un token personalizado
Nombre:
mcp-gitlab-crunchtoolsCaducidad: Establece una fecha adecuada (se recomiendan 90 días)
Ámbitos: Selecciona los ámbitos según tus necesidades
Selección de ámbitos
Ámbito
Nivel de acceso
Capacidades
read_apiSolo lectura
Listar/ver proyectos, incidencias, MRs, pipelines
apiAcceso completo
Todas las funciones, incluida la creación/actualización
Copia y guarda el token
Copia el token inmediatamente (empieza por
glpat-)Guárdalo de forma segura en un gestor de contraseñas
Añadir a Claude Code
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- uvx mcp-gitlab-crunchtoolsPara GitLab autoalojado:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
--env GITLAB_URL=https://gitlab.example.com \
-- uvx mcp-gitlab-crunchtoolsPara la versión de contenedor:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- podman run -i --rm -e GITLAB_TOKEN quay.io/crunchtools/mcp-gitlabEjemplos de uso
Lista tus proyectos
User: List my GitLab projects
Assistant: [calls list_projects with membership=true]Ver solicitudes de fusión
User: Show open merge requests for my-org/backend
Assistant: [calls list_merge_requests with project_id="my-org/backend"]Crear una incidencia
User: Create an issue in my-org/backend titled "Fix login timeout"
Assistant: [calls create_issue with title="Fix login timeout"]Comprobar el estado del pipeline
User: Show failed pipelines for my-org/api
Assistant: [calls list_pipelines with status="failed"]Buscar código
User: Search for "authentication" in my-org/backend
Assistant: [calls search_project with scope="blobs"]Seguridad
Este servidor se diseñó con la seguridad como preocupación principal. Consulta SECURITY.md para:
Modelo de amenazas y vectores de ataque
Arquitectura de defensa en profundidad
Buenas prácticas para el manejo de tokens
Reglas de validación de entradas
Registro de auditoría
Características clave de seguridad
Protección de tokens
Almacenado como SecretStr (nunca se registra accidentalmente)
Solo variable de entorno (nunca en archivos o argumentos)
Saneado de todos los mensajes de error
Validación de entradas
Modelos Pydantic para todas las entradas
Validación de caracteres mediante lista blanca para IDs de proyectos/grupos
Prevención de recorrido de rutas
Endurecimiento de la API
Aplicación de HTTPS (excepto localhost)
Validación de certificados TLS
Tiempos de espera de solicitud (30s)
Límites de tamaño de respuesta (10MB)
Escaneo automatizado de CVE
GitHub Actions escanea dependencias semanalmente
Escaneo de seguridad del contenedor con Trivy
Análisis CodeQL para Python
Desarrollo
Configuración
git clone https://github.com/crunchtools/mcp-gitlab.git
cd mcp-gitlab
uv syncEjecutar pruebas
uv run pytestLint y verificación de tipos
uv run ruff check src tests
uv run mypy srcConstruir contenedor
podman build -t mcp-gitlab .Licencia
AGPL-3.0-or-later
Contribuciones
¡Las contribuciones son bienvenidas! Por favor, lee SECURITY.md antes de enviar cambios relacionados con la seguridad.
Enlaces
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for interacting with GitLab API, supporting both self-hosted instances and gitlab.com. Provides tools for managing issues, merge requests, code review, pipelines, milestones, releases, search, and file access.514MIT
- AlicenseAqualityCmaintenanceEnables interacting with GitLab repositories, merge requests, and code through natural language using MCP. Supports authentication with personal access tokens or OAuth2, and provides tools for listing projects, reading repository code, and analyzing merge request lifetimes.104MIT
- Flicense-qualityCmaintenanceExposes the GitLab REST API to MCP clients for managing projects, issues, merge requests, repositories, and CI/CD pipelines. It is multi-tenant, allowing each user to authenticate with their own token and instance URL.
- FlicenseAqualityDmaintenanceEnables LLMs to interact with GitLab via MCP, providing access to issues, merge requests, pipelines, and repository files for browsing, searching, and reading details.19
Related MCP Connectors
GitLab Public MCP — wraps the GitLab REST API v4 (public endpoints, no auth)
Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-gitlab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server