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 usaapppara simplificar - Estructura de jobs simplificada:
/job/app-{app}-pipelineen 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
MCP Emulator Controller
Control emulators by opening/closing apps, capturing screenshots, and interacting with the screen.
Vibetest Use
Automated QA testing for websites to find UI bugs, broken links, and accessibility issues.
Nuxt MCP
MCP server helping models to understand your Vite/Nuxt app better.
Vibe-Coder
A server for a structured, LLM-based coding workflow, from feature clarification and planning to phased development and progress tracking.
Make
Execute make targets from any Makefile in a safe and controlled environment.
Volatility MCP Server
An MCP server for memory forensics using the Volatility 3 framework.
302AI Sandbox MCP Server
A code sandbox for AI assistants to safely execute arbitrary code. Requires a 302AI API key for authentication.
TIA-Portal MCP-Server
A VS Code extension to connect and interact with Siemens TIA Portal projects directly from the editor.
Roslyn MCP Server
A C# MCP server using Microsoft's Roslyn compiler for code analysis and navigation in C# codebases.
Unstructured
Set up and interact with your unstructured data processing workflows in Unstructured Platform