Jenkins API MCP Server

Um servidor para gerenciar jobs do Jenkins através de sua API REST, incluindo operações como build, configuração e recuperação de informações.

Documentação

Português (BR) | 中文

Jenkins API MCP Server

Este é um serviço de MCP Server baseado em Spring AI para chamadas à API REST do Jenkins, fornecendo interfaces de operação comuns para jobs do Jenkins.

Recursos

  • Gerenciamento de Jobs: Criar, excluir, habilitar/desabilitar, renomear jobs
  • Execução de Jobs: Disparar builds, builds com parâmetros, interromper builds
  • Informações de Jobs: Obter informações do job, informações do build, logs do build
  • Configuração de Jobs: Obter e atualizar configurações de jobs

Stack de Tecnologias

  • Spring Boot 3.3.6
  • Cliente da API REST do Jenkins
  • Spring AI MCP Server

Início Rápido

Requisitos

  • JDK 17+
  • Maven 3.6+
  • Servidor Jenkins (com "Remote Access API" habilitado)

Compilar o Projeto

Clone o repositório e navegue até o diretório do projeto:

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

Antes de executar o projeto, você precisa empacotá-lo usando Maven:

mvn package

Após uma compilação bem-sucedida, um arquivo chamado mcp-jenkins-server-0.0.1-SNAPSHOT.jar será gerado no diretório /target. Use o caminho completo para este arquivo na sua configuração mcp.json:

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

Configuração do 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"
      }
    }
  }
}

Documentação da API

Gerenciamento de Jobs

  • createJob : Criar um novo job no Jenkins
  • deleteJob : Excluir um job existente no Jenkins
  • enableJob : Habilitar um job desabilitado no Jenkins
  • disableJob : Desabilitar um job habilitado no Jenkins
  • renameJob : Renomear um job existente no Jenkins

Execução de Jobs

  • buildJob : Disparar um build para um job do Jenkins
  • buildJobWithParams : Disparar um build com parâmetros
  • killJob : Interromper um build em execução

Informações de Jobs

  • getJobInfo : Obter informações detalhadas sobre um job
  • getBuildInfo : Obter informações sobre um build específico
  • getBuildLog : Obter a saída do console de um build
  • getLastBuildNumber : Obter o número do último build
  • getLastBuildTimestamp : Obter o timestamp do último build

Configuração de Jobs

  • getJobConfig : Obter o XML de configuração de um job
  • updateJobConfig : Atualizar a configuração de um job