Jenkins API MCP Server logo

Jenkins API MCP Server

by ProgrammerAgua

This is a MCP Server service based on Spring AI for Jenkins Rest API calls. It provides common operation interfaces for Jenkins jobs.

View on GitHub

Last updated: N/A

English | 中文

Jenkins API MCP Server

This is a MCP Server service based on Spring AI for Jenkins Rest API calls, providing common operation interfaces for Jenkins jobs.

Features

  • Job Management: Create, delete, enable/disable, rename jobs
  • Job Building: Trigger builds, build with parameters, stop builds
  • Job Information: Get job info, build info, build logs
  • Job Configuration: Get and update job configurations

Technology Stack

  • Spring Boot 3.3.6
  • Jenkins REST API Client
  • Spring AI MCP Server

Quick Start

Requirements

  • JDK 17+
  • Maven 3.6+
  • Jenkins server (with "Remote Access API" enabled)

Build Project

Clone the repository and navigate to the project directory:

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

Before running the project, you need to package it using Maven:

mvn package

After a successful build, a file named mcp-jenkins-server-0.0.1-SNAPSHOT.jar will be generated in the /target directory. Use the full path to this file in your mcp.json configuration:

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

mcp.json Configuration

{
  "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"
      }
    }
  }
}

API Documentation

Job Management

  • createJob : Create a new Jenkins job
  • deleteJob : Delete an existing Jenkins job
  • enableJob : Enable a disabled Jenkins job
  • disableJob : Disable an enabled Jenkins job
  • renameJob : Rename an existing Jenkins job

Job Building

  • buildJob : Trigger a build for a Jenkins job
  • buildJobWithParams : Trigger a build with parameters
  • killJob : Stop a running build

Job Information

  • getJobInfo : Get detailed information about a job
  • getBuildInfo : Get information about a specific build
  • getBuildLog : Get the console output of a build
  • getLastBuildNumber : Get the last build number
  • getLastBuildTimestamp : Get the timestamp of the last build

Job Configuration

  • getJobConfig : Get the configuration XML of a job
  • updateJobConfig : Update the configuration of a job