Jenkins
A server for integrating with Jenkins CI/CD to manage and trigger builds.
@grec0/mcp-jenkins
MCP server para integración con Jenkins CI/CD. Este servidor permite interactuar con Jenkins desde cualquier cliente MCP compatible (como Claude Desktop) para gestionar jobs, builds, reportes de cobertura y más.
Características
- ✅ Gestión de Jobs: Obtener estado, iniciar y detener jobs
- 📋 Monitoreo de Builds: Ver steps, nodos y estados de ejecución
- 🔄 Acciones de Input: Manejar aprobaciones y acciones pendientes
- 📊 Reportes de Cobertura: Analizar cobertura de código detallada
- 🌿 Integración Git: Listar ramas disponibles para builds
- 🔒 Autenticación Segura: Soporte para HTTPS con certificados auto-firmados
Instalación
Opción 1: Usar con npx (Recomendado)
# No requiere instalación global
npx @grec0/mcp-jenkins
Opción 2: Instalación global
npm install -g @grec0/mcp-jenkins
Requisitos Previos
Plugins de Jenkins Requeridos
⚠️ IMPORTANTE: Para funcionalidad completa, necesitas estos plugins instalados en Jenkins:
Obligatorios:
pipeline-rest-api
- Para API de pipelinesgit-parameter
- Para listado de ramas Git
Opcionales (para cobertura):
jacoco
- Para reportes de cobertura Java- Plugin de cobertura frontend (Istanbul, etc.)
📖 Ver JENKINS_REQUIREMENTS.md para instrucciones detalladas de instalación
Configuración
Variables de Entorno
export JENKINS_URL="https://tu-jenkins.com"
export JENKINS_USERNAME="tu-usuario"
export JENKINS_PASSWORD="tu-token-o-password"
Configuración en Claude Desktop
Agregar al archivo de configuración de Claude Desktop:
Opción 1: Con npx (Recomendado)
{
"mcpServers": {
"jenkins": {
"command": "npx",
"args": ["@grec0/mcp-jenkins"],
"env": {
"JENKINS_URL": "https://tu-jenkins.com",
"JENKINS_USERNAME": "tu-usuario",
"JENKINS_PASSWORD": "tu-token"
}
}
}
}
Opción 2: Con instalación global
{
"mcpServers": {
"jenkins": {
"command": "mcp-jenkins",
"env": {
"JENKINS_URL": "https://tu-jenkins.com",
"JENKINS_USERNAME": "tu-usuario",
"JENKINS_PASSWORD": "tu-token"
}
}
}
}
Herramientas Disponibles
Gestión de Jobs
jenkins_get_job_status
- Obtener estado de un jobjenkins_start_job
- Iniciar un job con rama específicajenkins_stop_job
- Detener un job en ejecuciónjenkins_get_git_branches
- Listar ramas de Git disponibles
Monitoreo de Builds
jenkins_get_build_steps
- Ver steps de un buildjenkins_get_node_status
- Estado de un nodo específicojenkins_get_pending_actions
- Acciones pendientes de input
Acciones de Input
jenkins_submit_input_action
- Enviar aprobación/rechazo
Reportes de Cobertura
jenkins_get_coverage_report
- Reporte de cobertura generaljenkins_get_coverage_lines
- Cobertura de archivo específicojenkins_get_coverage_paths
- Listar archivos con cobertura
Uso
Obtener estado de un job
¿Cuál es el estado del job "mi-app"?
Iniciar un build
Inicia el job "mi-app" con la rama "feature/nueva-funcionalidad"
Ver cobertura de código
Muéstrame el reporte de cobertura del build #123 de "mi-app"
Aprobar un deployment
Obtén las acciones pendientes del build #456 de "mi-app" y luego aprueba el deployment
Simplificaciones respecto al código Java original
- Eliminación del parámetro
area
: Solo se usaapp
para simplificar - Estructura de jobs simplificada:
/job/app-{app}-pipeline
en lugar de/job/{area}/job/app{area}-{app}-pipeline
- Configuración por variables de entorno: Más simple que la configuración de Spring Boot
Ejecución Manual
Con npx:
# Configurar variables de entorno
export JENKINS_URL="https://tu-jenkins.com"
export JENKINS_USERNAME="tu-usuario"
export JENKINS_PASSWORD="tu-token"
# Ejecutar
npx @grec0/mcp-jenkins
Con instalación global:
# Instalar globalmente
npm install -g @grec0/mcp-jenkins
# Configurar variables de entorno
export JENKINS_URL="https://tu-jenkins.com"
export JENKINS_USERNAME="tu-usuario"
export JENKINS_PASSWORD="tu-token"
# Ejecutar
mcp-jenkins
Desarrollo
# Clonar el repositorio
git clone https://github.com/gcorroto/mcp-jenkins.git
cd mcp-jenkins
# Instalar dependencias
npm install
# Compilar
npm run build
# Ejecutar en modo desarrollo
npm run dev
# Ejecutar tests
npm test
Licencia
MIT
Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-feature
) - Commit tus cambios (
git commit -am 'Agregar nueva feature'
) - Push a la rama (
git push origin feature/nueva-feature
) - Abre un Pull Request
Soporte
Si encuentras algún problema, por favor abre un issue en GitHub.
Related Servers
Node.js Sandbox MCP Server
Run arbitrary JavaScript in an isolated Docker container with on-the-fly npm dependency installation.
Shell Command MCP Server
Execute pre-configured and secure shell commands via a Go-based MCP server.
iOS MCP Server
An iOS mobile automation server using Appium and WebDriverAgent.
Advanced Unity MCP Integration
An MCP server for Unity, enabling AI assistants to interact with projects in real-time, access scene data, and execute code.
Translator AI
Translate JSON i18n files using Google Gemini or local Ollama models, with incremental caching support.
UUIDv7 Generator
A server for generating version 7 universally unique identifiers (UUIDv7).
Scout Monitoring MCP
Scout's official MCP pipes error, trace and metric data from production to your AI agent
MCP Inspector
A developer tool for testing and debugging MCP servers.
Windows CLI
MCP server for secure command-line interactions on Windows systems, enabling controlled access to PowerShell, CMD, and Git Bash shells.
Chronulus AI
Predict anything with Chronulus AI forecasting and prediction agents.