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
VSCode MCP Server
A VSCode extension that acts as an MCP server, providing access to diagnostic tools and debug session management.
MCP Bridge API
A lightweight, LLM-agnostic RESTful proxy that unifies multiple MCP servers under a single API.
MCP Image Extractor
Extracts images from files, URLs, or base64 strings and converts them to base64 for LLM analysis.
Solana Dev MCP
An MCP server for Solana development providing basic RPC methods and helpful prompts.
Crypto HFT MCP Server
Integrate AI with high-frequency cryptocurrency trading systems.
Agile Planner MCP Server
An AI-powered server for generating agile artifacts like backlogs, features, and user stories.
Laravel Loop
An MCP server for Laravel applications to connect with AI assistants using the MCP protocol.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
MCP Server Starter
A TypeScript starter project for building Model Context Protocol (MCP) servers with Bun.
Remote MCP Server on Cloudflare
Deploy a remote MCP server without authentication on Cloudflare Workers.