Jenkins API MCP Server

Un servidor para gestionar trabajos de Jenkins a través de su API REST, incluyendo operaciones como construcción, configuración y recuperación de información.

Documentación

Español | 中文

Jenkins API MCP Server

Este es un servicio de servidor MCP basado en Spring AI para llamadas a la API REST de Jenkins, que proporciona interfaces de operación comunes para trabajos de Jenkins.

Características

  • Gestión de trabajos: Crear, eliminar, habilitar/deshabilitar, renombrar trabajos
  • Ejecución de trabajos: Activar compilaciones, compilar con parámetros, detener compilaciones
  • Información de trabajos: Obtener información del trabajo, información de compilación, registros de compilación
  • Configuración de trabajos: Obtener y actualizar configuraciones de trabajos

Pila tecnológica

  • Spring Boot 3.3.6
  • Cliente de API REST de Jenkins
  • Spring AI MCP Server

Inicio rápido

Requisitos

  • JDK 17+
  • Maven 3.6+
  • Servidor Jenkins (con la "API de acceso remoto" habilitada)

Compilar el proyecto

Clone el repositorio y navegue al directorio del proyecto:

git clone [repository-url]
cd jenkins-mcp-server

Antes de ejecutar el proyecto, debe empaquetarlo usando Maven:

mvn package

Después de una compilación exitosa, se generará un archivo llamado mcp-jenkins-server-0.0.1-SNAPSHOT.jar en el directorio /target. Use la ruta completa de este archivo en su configuración de mcp.json:

{your_path}\\mcp-jenkins-server-0.0.1-SNAPSHOT.jar

Configuración de mcp.json

{
  "mcpServers": {
    "jenkins-mcp": {
      "command": "java",
      "args": [
        "-jar",
        "{your_path}\\mcp-jenkins-server-0.0.1-SNAPSHOT.jar"
      ],
      "env": {
        "JENKINS_API_SERVER_URI": "jenkins-uri",
        "JENKINS_API_USERNAME": "username", 
        "JENKINS_API_TOKEN": "password/token"
      }
    }
  }
}

Documentación de la API

Gestión de trabajos

  • createJob : Crear un nuevo trabajo de Jenkins
  • deleteJob : Eliminar un trabajo existente de Jenkins
  • enableJob : Habilitar un trabajo deshabilitado de Jenkins
  • disableJob : Deshabilitar un trabajo habilitado de Jenkins
  • renameJob : Renombrar un trabajo existente de Jenkins

Ejecución de trabajos

  • buildJob : Activar una compilación para un trabajo de Jenkins
  • buildJobWithParams : Activar una compilación con parámetros
  • killJob : Detener una compilación en ejecución

Información de trabajos

  • getJobInfo : Obtener información detallada sobre un trabajo
  • getBuildInfo : Obtener información sobre una compilación específica
  • getBuildLog : Obtener la salida de consola de una compilación
  • getLastBuildNumber : Obtener el número de la última compilación
  • getLastBuildTimestamp : Obtener la marca de tiempo de la última compilación

Configuración de trabajos

  • getJobConfig : Obtener el XML de configuración de un trabajo
  • updateJobConfig : Actualizar la configuración de un trabajo