MCP Jenkins Intelligence

Plataforma de inteligencia para pipelines de Jenkins impulsada por IA con interfaz de lenguaje natural. Proporciona análisis completo de pipelines, predicción de fallos, sugerencias de optimización y reconstrucción automatizada de Jenkinsfile mediante la integración del Protocolo de Contexto de Modelo (MCP).

Documentación

MCP Jenkins Intelligence

License Python FastMCP Jenkins MCP Stars Issues

PRs Welcome

La Plataforma de Inteligencia Jenkins
Transforma tus operaciones de Jenkins con interfaces de lenguaje natural impulsadas por IA y análisis integral de pipelines.

Inicio Rápido (Distribución Binaria)

¿Prefieres un binario listo para usar? ¡Descarga la última versión y comienza a usar MCP Jenkins Intelligence en segundos!

Descarga e Instalación

# Option 1: Use the installer script (recommended)
curl -fsSL https://raw.githubusercontent.com/heniv96/mcp-jenkins-intelligence/main/install.sh | bash

# Option 2: Manual download
# Download from: https://github.com/heniv96/mcp-jenkins-intelligence/releases/latest
# Choose the appropriate binary for your platform:
# - mcp-jenkins-server-macos-arm64 (macOS Apple Silicon)
# - mcp-jenkins-server-linux-amd64 (Linux AMD64)
# Make executable: chmod +x mcp-jenkins-server-<platform>

Configuración de MCP

Agrega a la configuración de tu cliente MCP (Cursor/VSCode):

{
  "mcpServers": {
    "mcp-jenkins-intelligence": {
      "command": "/path/to/mcp-jenkins-server",
      "args": [],
      "env": {
        "JENKINS_URL": "https://your-jenkins-url",
        "JENKINS_USERNAME": "your-username", 
        "JENKINS_TOKEN": "your-token"
      }
    }
  }
}

¡Eso es todo! Sin instalación de Python, sin dependencias: ¡solo descarga y ejecuta!


Resumen

MCP Jenkins Intelligence es una solución integral de Protocolo de Contexto de Modelo (MCP) diseñada para equipos DevOps profesionales. Proporciona interfaces de lenguaje natural para operaciones complejas de pipelines de Jenkins, permitiendo a los equipos monitorear, analizar y optimizar sus flujos de trabajo de CI/CD mediante conversaciones impulsadas por IA en VSCode y Cursor.

Características Clave

Análisis Inteligente de Pipelines

  • Monitoreo en Tiempo Real: Estado de pipelines en vivo, métricas de salud y análisis de rendimiento
  • Información Impulsada por IA: Consultas en lenguaje natural para análisis complejo de pipelines
  • Análisis de Fallos: Análisis profundo de fallos de pipelines con análisis inteligente de causa raíz
  • Optimización de Rendimiento: Sugerencias automatizadas para mejorar tiempos de compilación y tasas de éxito
  • Analítica Avanzada: Informes integrales y comparaciones de rendimiento
  • Detección de Anomalías: Detección impulsada por IA de patrones inusuales de comportamiento en pipelines

Capacidades Avanzadas de IA

  • Procesamiento de Lenguaje Natural: Interfaz conversacional para operaciones DevOps complejas
  • Diagnóstico Inteligente: Análisis de salud de pipelines y guía de solución de problemas impulsados por IA
  • Prompts Contextuales: Sugerencias inteligentes de prompts para diferentes escenarios de análisis
  • Informes Automatizados: Identificación proactiva de problemas y oportunidades de optimización

Seguridad y Cumplimiento Empresarial

  • Soporte Multi-Autenticación: Integración estándar de Jenkins y Azure AD
  • Comunicación Segura: Cifrado TLS para todas las comunicaciones con la API de Jenkins
  • Registro de Auditoría: Trazabilidad integral de auditoría para todas las operaciones de pipelines
  • Privilegio Mínimo: Seguro por diseño con patrones de acceso de menor privilegio
  • Protección de Datos de Nivel Empresarial: Más de 19 patrones de protección para anonimización completa de datos
  • Anonimización Completa: Nombres de pipelines, nombres de clústeres, nombres de carpetas, nombres de aplicaciones, nombres de ramas, nombres de organizaciones, nombres de repositorios y nombres de archivos de código están protegidos
  • Seguridad Basada en Hash: Los datos sensibles se reemplazan con hashes seguros antes de la comunicación con IA
  • Ejecución Local: Todo el procesamiento de datos ocurre localmente: ningún dato sale de tu entorno
  • Protección Recursiva: Funciona en estructuras de datos anidadas y objetos complejos
  • Auditoría de Control de Acceso: Análisis integral de permisos y control de acceso

Analítica e Informes Avanzados

  • Informes Integrales: Genera informes detallados con métricas e información
  • Comparaciones de Rendimiento: Compara el rendimiento de pipelines entre equipos y entornos
  • Análisis de Tendencias: Análisis de tendencias de rendimiento y confiabilidad a largo plazo

Características Avanzadas de IA

  • Detección de Anomalías: Detección impulsada por IA de patrones inusuales de comportamiento en pipelines
  • Información Integral: Información y recomendaciones generadas por IA

Optimización de Rendimiento

  • Análisis de Tiempo de Compilación: Análisis detallado y sugerencias de optimización para tiempos de compilación

Implementación y Distribución

  • Múltiples Opciones de Implementación: Configuración de desarrollo o implementación de producción
  • Soporte Multiplataforma: Funciona en macOS, Linux y Windows
  • Configuración Fácil: Configuración simple con variables de entorno o configuración de MCP

Arquitectura

Integración del Protocolo MCP

El siguiente diagrama muestra cómo MCP Jenkins Intelligence se integra con VSCode y Cursor AI a través del Protocolo de Contexto de Modelo:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   VSCode/       │    │   MCP Protocol  │    │   Jenkins       │
│   Cursor AI     │◄──►│                 │◄──►│   Intelligence  │
│                 │    │                 │    │   Server        │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                │
                                ▼
                    ┌─────────────────────────────────────────┐
                    │            Jenkins API                  │
                    └─────────────────────────────────────────┘
                                │
                                ▼
        ┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
        │   AI Analysis   │    │   Core Tools    │    │   MCP Resources │
        │   Engine        │    │   (30 tools)    │    │   & Prompts     │
        └─────────────────┘    └─────────────────┘    └─────────────────┘
                │                        │                        │
                ▼                        ▼                        ▼
        ┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
        │ • Health        │    │ • List          │    │ • Status        │
        │   Analysis      │    │ • Details       │    │   Resource      │
        │ • Failure       │    │ • Builds        │    │ • Summary       │
        │   Analysis      │    │ • Configure     │    │   Resource      │
        │ • AI Queries    │    │ • Test          │    │ • Dashboard     │
        │ • Metrics       │    │ • Questions     │    │   Resource      │
        │ • Dependencies  │    │ • Trigger       │    │ • Logs          │
        │ • Trends        │    │ • Stop          │    │   Resource      │
        │ • Security      │    │ • Enable/Dis    │    │ • Health        │
        │ • Export        │    │ • Config        │    │   Resource      │
        │ • Optimize      │    │ • Predict       │    │ • Analysis      │
        │                 │    │ • Suggest       │    │   Prompts       │
        └─────────────────┘    └─────────────────┘    └─────────────────┘

Arquitectura Modular

La arquitectura interna sigue un diseño limpio y modular con separación de responsabilidades:

┌─────────────────────────────────────────────────────────────────────────┐
│                              MCP Layer                                  │
├─────────────────┬─────────────────┬─────────────────────────────────────┤
│  FastMCP Server │  Tool Registry  │  Request Router                     │
└─────────────────┴─────────────────┴─────────────────────────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           Modular Services                              │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────────────┤
│   Models    │  Services   │  Resources  │   Prompts   │                 │
├─────────────┼─────────────┼─────────────┼─────────────┼─────────────────┤
│ • Pipeline  │ • Jenkins   │ • Status    │ • Analysis  │                 │
│ • Build     │ • Core      │ • Summary   │ • Failure   │                 │
│ • Health    │ • Control   │ • Dashboard │ • Optimize  │                 │
│ • Failure   │ • Monitor   │ • Logs      │ • Security  │                 │
│ • Query     │ • AI        │ • Health    │             │                 │
│             │ • Security  │             │             │                 │
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                         Tool Categories                                 │
├─────────────────┬─────────────────┬─────────────────┬─────────────────┤
│  Core Tools (9) │  Control Tools  │  Monitoring (4) │  AI Tools (5)   │
│                 │     (4)         │                 │                 │
├─────────────────┼─────────────────┼─────────────────┼─────────────────┤
│ • list_pipelines│ • trigger_build │ • get_metrics   │ • Predict       │
│ • get_details   │ • stop_build    │ • dependencies  │   Failure       │
│ • get_builds    │ • enable_disable│ • monitor_queue │ • Suggest       │
│ • ask_questions │ • get_config    │ • analyze_trends│   Optimize      │
│ • configure_    │                 │                 │ • Anomaly       │
│   jenkins       │                 │                 │   Detection     │
│ • test_         │                 │                 │ • AI            │
│   connection    │                 │                 │   Insights      │
│ • analyze_      │                 │                 │ • Retry         │
│   health        │                 │                 │   Logic         │
│ • analyze_      │                 │                 │                 │
│   failure       │                 │                 │                 │
│ • get_server_   │                 │                 │                 │
│   info          │                 │                 │                 │
└─────────────────┴─────────────────┴─────────────────┴─────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                    Additional Tool Categories                           │
├─────────────┬─────────────┬─────────────┬─────────────────────────────┤
│  Security   │ Jenkinsfile │  Analytics  │  Performance                │
│     (2)     │     (3)     │     (2)     │      (1)                    │
├─────────────┼─────────────┼─────────────┼─────────────────────────────┤
│ • scan_     │ • get_      │ • generate_ │ • analyze_                  │
│   security  │   jenkinsfile│   report   │   build_time                │
│             │ • reconstruct│ • compare_ │                             │
│             │ • suggest_  │   performance│                             │
│             │   improvements│             │                             │
└─────────────┴─────────────┴─────────────┴─────────────────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                    MCP Resources & Prompts                             │
├─────────────────────────┬─────────────────────────────────────────────┤
│  Resources (5)          │  Prompts (4)                                │
├─────────────────────────┼─────────────────────────────────────────────┤
│ • pipeline://status     │ • analyze_pipeline_prompt                   │
│ • pipeline://{name}/    │ • failure_analysis_prompt                   │
│   summary               │ • optimization_prompt                       │
│ • pipeline://dashboard  │ • security_audit_prompt                     │
│ • pipeline://{name}/    │                                             │
│   logs                  │                                             │
│ • pipeline://health     │                                             │
└─────────────────────────┴─────────────────────────────────────────────┘

Estructura de Directorios

mcp-jenkins-intelligence/
├── server.py                 # Main MCP server (679 lines)
├── models/
│   ├── __init__.py
│   └── pipeline.py          # Pydantic models
├── services/
│   ├── __init__.py
│   ├── jenkins_service.py   # Jenkins API wrapper
│   ├── core_tools.py        # Core pipeline tools
│   ├── monitoring_tools.py  # Monitoring & analytics
│   ├── ai_tools.py          # AI intelligence tools
│   ├── security_tools.py    # Security & compliance
│   ├── advanced_ai_tools.py # Advanced AI features
│   ├── advanced_security_tools.py # Advanced security tools
│   ├── analytics_tools.py   # Analytics & reporting
│   ├── performance_tools.py # Performance optimization
│   ├── execution_analysis_service.py # Execution analysis
│   └── jenkinsfile_retrieval_service.py # Jenkinsfile management
├── resources/
│   ├── __init__.py
│   └── pipeline_resources.py # MCP resources
├── prompts/
│   ├── __init__.py
│   └── pipeline_prompts.py  # MCP prompts
├── config/
│   └── settings.py          # Configuration management
├── utils/
│   ├── __init__.py
│   └── helpers.py           # Helper functions
├── manuals/
│   ├── configuration/
│   │   └── README.md        # Configuration guide
│   ├── examples/
│   │   └── mcp-config-standalone.json # Example configuration
│   ├── quick-start/
│   │   └── README.md        # Quick start guide
│   └── troubleshooting/
│       └── README.md        # Troubleshooting guide
├── dist/                    # Built binaries (GitHub Releases)
│   ├── mcp-jenkins-server-macos-arm64    # macOS Apple Silicon binary
│   └── mcp-jenkins-server-linux-amd64    # Linux AMD64 binary
├── install.sh               # Automated installer script
├── Makefile                 # Build automation
├── build.sh                 # Build test script
├── requirements.txt         # Python dependencies
├── pyproject.toml          # Project configuration
├── LICENSE                 # MIT License
└── README.md              # This file

Instalación y Configuración

Requisitos Previos

  • Python 3.8+ (para configuración de desarrollo)
  • Servidor Jenkins con acceso a la API
  • Cliente MCP (VSCode con extensión MCP o Cursor)

Instalación Binaria (Recomendada)

  1. Descarga el binario para tu plataforma:

    # macOS (Apple Silicon)
    curl -L -o mcp-jenkins-server https://github.com/heniv96/mcp-jenkins-intelligence/releases/latest/download/mcp-jenkins-server-macos-arm64
    
    # Linux (AMD64)
    curl -L -o mcp-jenkins-server https://github.com/heniv96/mcp-jenkins-intelligence/releases/latest/download/mcp-jenkins-server-linux-amd64
    
  2. Hazlo ejecutable:

    chmod +x mcp-jenkins-server
    
  3. Configura tu cliente MCP (consulta la sección de Configuración de MCP arriba)

Configuración de Desarrollo

  1. Clona el repositorio:

    git clone https://github.com/heniv96/mcp-jenkins-intelligence.git
    cd mcp-jenkins-intelligence
    
  2. Instala las dependencias:

    pip install -r requirements.txt
    
  3. Configura las variables de entorno:

    export JENKINS_URL="https://your-jenkins-url"
    export JENKINS_USERNAME="your-username"
    export JENKINS_TOKEN="your-token"
    
  4. Ejecuta el servidor:

    python server.py
    

Configuración

Variables de Entorno

VariableDescripciónRequeridaPredeterminada
JENKINS_URLURL del servidor JenkinsSí-
JENKINS_USERNAMENombre de usuario de JenkinsSí-
JENKINS_TOKENToken de API de JenkinsSí-
MCP_SERVER_PORTPuerto del servidor MCPNo8000

Configuración del Cliente MCP

Configuración de VSCode

Agrega a tu settings.json:

{
  "mcp.servers": {
    "mcp-jenkins-intelligence": {
      "command": "/path/to/mcp-jenkins-server",
      "args": [],
      "env": {
        "JENKINS_URL": "https://your-jenkins-url",
        "JENKINS_USERNAME": "your-username",
        "JENKINS_TOKEN": "your-token"
      }
    }
  }
}

Configuración de Cursor

Agrega a tu mcp.json:

{
  "mcpServers": {
    "mcp-jenkins-intelligence": {
      "command": "/path/to/mcp-jenkins-server",
      "args": [],
      "env": {
        "JENKINS_URL": "https://your-jenkins-url",
        "JENKINS_USERNAME": "your-username",
        "JENKINS_TOKEN": "your-token"
      }
    }
  }
}

Uso

Comandos Básicos

Una vez configurado, puedes interactuar con Jenkins mediante lenguaje natural:

  • "Lista todos los pipelines" - Obtén una lista de todos los pipelines disponibles
  • "Muéstrame la salud del pipeline X" - Obtén un análisis detallado de salud
  • "¿Qué le pasa a la compilación fallida?" - Analiza fallos de compilación
  • "Optimiza el tiempo de compilación del pipeline Y" - Obtén sugerencias de optimización
  • "Genera un informe de la semana pasada" - Crea informes integrales

Características Avanzadas

  • Análisis Impulsado por IA: Haz preguntas complejas sobre el rendimiento de tus pipelines
  • Detección de Anomalías: Recibe alertas sobre comportamiento inusual de pipelines
  • Auditoría de Seguridad: Análisis de seguridad integral de tu configuración de Jenkins
  • Optimización de Rendimiento: Análisis detallado del tiempo de compilación y sugerencias

Referencia de la API

Herramientas Principales

HerramientaDescripciónParámetros
list_pipelinesLista todos los pipelines disponiblessearch (opcional)
get_pipeline_detailsObtén información detallada del pipelinepipeline_name
get_pipeline_buildsObtén compilaciones recientes de un pipelinepipeline_name, limit, status
analyze_pipeline_healthAnaliza la salud y el rendimiento del pipelinepipeline_name, period
analyze_pipeline_failureAnaliza un fallo específico del pipelinepipeline_name, build_number
ask_pipeline_questionHaz preguntas en lenguaje naturalquestion, pipeline_names

Herramientas de Monitoreo

HerramientaDescripciónParámetros
get_pipeline_metricsObtén métricas detalladas del pipelinepipeline_name, period
get_pipeline_dependenciesObtén dependencias del pipelinepipeline_name
monitor_pipeline_queueMonitorea la cola de compilación de Jenkins-
analyze_build_trendsAnaliza tendencias de compilación entre pipelinespipeline_names, period

Herramientas de IA

HerramientaDescripciónParámetros
predict_pipeline_failurePredice fallos probables de pipelinespipeline_name
suggest_pipeline_optimizationObtén sugerencias de optimizaciónpipeline_name
detect_pipeline_anomaliesDetecta comportamiento inusual de pipelinespipeline_name, sensitivity
generate_ai_insightsGenera información integral de IApipeline_name, insight_type

Seguridad

Protección de Datos

MCP Jenkins Intelligence implementa protección integral de datos:

  • Anonimización Completa: Todos los datos sensibles se reemplazan con hashes seguros
  • Procesamiento Local: Todo el procesamiento de datos ocurre localmente
  • Sin Llamadas Externas: No se envían datos a servicios de IA externos
  • Protección Recursiva: Funciona en estructuras de datos anidadas
  • Auditoría de Control de Acceso: Análisis integral de permisos

Patrones de Protección Soportados

  • Nombres de pipelines
  • Nombres de clústeres
  • Nombres de carpetas
  • Nombres de aplicaciones
  • Nombres de ramas
  • Nombres de organizaciones
  • Nombres de repositorios
  • Nombres de archivos de código
  • Números de compilación
  • Marcas de tiempo
  • URLs y rutas
  • Información de usuario
  • Valores de tokens
  • Datos de configuración
  • Entradas de registro
  • Mensajes de error
  • Trazas de pila
  • Variables de entorno
  • Y más...

Solución de Problemas

Problemas Comunes

  1. Conexión Fallida: Verifica tu URL y credenciales de Jenkins
  2. Permiso Denegado: Verifica que tu usuario de Jenkins tenga los permisos apropiados
  3. Binario No Encontrado: Asegúrate de que el binario sea ejecutable y esté en tu PATH
  4. Cliente MCP Sin Respuesta: Verifica tu configuración de MCP

Modo de Depuración

Habilita el registro de depuración configurando:

export DEBUG=1

Obtener Ayuda

Contribuciones

¡Damos la bienvenida a las contribuciones! Consulta nuestras pautas de contribución para más detalles.

Desarrollo

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Agrega pruebas
  5. Envía una solicitud de extracción

Compilación

# Install dependencies
pip install -r requirements.txt

# Run tests
python -m pytest

# Build binary
make build

Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.

Agradecimientos

Registro de Cambios

v1.2.0

  • Se agregó protección integral de datos y anonimización
  • Se mejoró la distribución binaria con soporte multiplataforma
  • Se mejoraron las características de seguridad y auditoría de control de acceso
  • Se agregaron capacidades avanzadas de IA y detección de anomalías
  • Se mejoraron las herramientas de optimización de rendimiento
  • Se agregaron informes y analítica integrales

v1.1.0

  • Lanzamiento inicial con funcionalidad principal de MCP
  • Análisis y monitoreo básico de pipelines
  • Información y recomendaciones impulsadas por IA

Hecho con ❤️ para la comunidad DevOps