Jenkins-mcp-server

umishra1504/Jenkins-mcp-server

3.1

If you are the rightful owner of Jenkins-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Jenkins MCP Server is a comprehensive tool for managing Jenkins builds, jobs, artifacts, and queue operations through the Model Context Protocol (MCP) interface.

Tools
13
Resources
0
Prompts
0

Jenkins MCP Server

🚀 AI-powered Jenkins management via Model Context Protocol. Trigger builds, manage jobs, and monitor CI/CD pipelines through your favorite AI assistant.

� Installation

Option 1: Global Installation (Recommended)

npm install -g jenkins-mcp-server

Option 2: Local Installation

npm install jenkins-mcp-server

Option 3: Use with npx (No Installation)

npx jenkins-mcp-server

⚙️ Configuration

Set required environment variables:

export JENKINS_URL="http://your-jenkins-instance:8080"
export JENKINS_USERNAME="your-username"
export JENKINS_API_TOKEN="your-api-token"

Getting Jenkins API Token

  1. Login to Jenkins → Click your username → Configure
  2. Under "API Token" → Add new Token → Generate
  3. Copy the token and use it as JENKINS_API_TOKEN

🤖 MCP Client Setup

GitHub Copilot (VS Code)

Add to mcp.json:

{
	"servers": {
		"jenkins": {
			"command": "npx",
			"args": ["jenkins-mcp-server"],
			"env": {
				"JENKINS_URL": "http://your-jenkins-instance:8080",
				"JENKINS_USERNAME": "your-username",
				"JENKINS_API_TOKEN": "your-api-token"
				// "ALLOW_ABSOLUTE_FILE_PARAMS": 1 // for file parameters with absolute paths 
			}
		}
	}
}

Claude Desktop

Add to claude_desktop_config.json:

{
	"mcpServers": {
		"jenkins": {
			"command": "npx",
			"args": ["jenkins-mcp-server"],
			"env": {
				"JENKINS_URL": "http://your-jenkins-instance:8080",
				"JENKINS_USERNAME": "your-username",
				"JENKINS_API_TOKEN": "your-api-token",
				// "ALLOW_ABSOLUTE_FILE_PARAMS": 1 // for file parameters with absolute paths 
			}
		}
	}
}

🛠️ Available Tools

Each tool returns a JSON result with success plus additional fields. Provide arguments as an object when invoking via an MCP client.

Build Management

triggerBuild – Start a job build (supports file + regular parameters) Inputs:

  • jobFullName (string, required)
  • parameters (object, optional) – Key/value map. Any value that is a valid local file path is uploaded as a file parameter.

File Parameter Security: By default, only relative file paths are allowed. To enable absolute file paths, set ALLOW_ABSOLUTE_FILE_PARAMS=1 in your environment variables.

Returns: { success, queueId, queueUrl, statusCode, message }

stopBuild – Stop (or force kill) the running build Inputs:

  • jobFullName (string, required)
  • buildNumber (integer, optional) Returns: { success, action: "stop"|"kill", buildNumber, buildUrl, message }

scheduleBuild – Schedule a build in the future Inputs:

  • jobFullName (string, required)
  • scheduleTime (string, required) – e.g. 22:15, 10:30 PM, or 2025-12-24 14:30
  • parameters (object, optional)

File Parameter Security: By default, only relative file paths are allowed. To enable absolute file paths, set ALLOW_ABSOLUTE_FILE_PARAMS=1 in your environment variables.

Returns: { status, queueUrl }

updateBuild – Update build description (display name not supported via REST) Inputs:

  • jobFullName (string, required)
  • buildNumber (integer, optional)
  • description (string, optional)
  • displayName (string, optional, ignored) Returns: { success, buildNumber, updates: [ { field, success, ... } ] }

Job Information

getJob – Job metadata Inputs: jobFullName (string, required)

getBuild – Build details (specific or last) Inputs:

  • jobFullName (string, required)
  • buildNumber (integer, optional)

getJobs – Paginated job list Inputs:

  • parentFullName (string, optional)
  • skip (integer, optional, default 0)
  • limit (integer, optional, default 10, max 10)

System Monitoring

whoAmI – Current authenticated user Inputs: none

getStatus – Jenkins instance status / health Inputs: none

Artifact Management

listBuildArtifacts – List artifacts for build Inputs:

  • jobFullName (string, required)
  • buildNumber (integer, optional)

readBuildArtifact – Read artifact content (text or base64) Inputs:

  • jobFullName (string, required)
  • artifactPath (string, required)
  • buildNumber (integer, optional)
  • format (string, optional: text | base64)

Queue Operations

cancelQueuedBuild – Cancel queued item(s) Inputs:

  • jobFullName (string, required)
  • queueId (integer, optional)

getQueueInfo – List queued builds (optionally filtered) Inputs:

  • jobFullName (string, optional)

Tip: Ask your AI assistant: "Trigger a build for job X with BRANCH=main" or "List artifacts for latest job X build".

⚡ Usage

After configuration, ask your AI assistant:

  • "Check my Jenkins server status"
  • "Trigger a build for my-app"
  • "Show me the latest build information"
  • "List all Jenkins jobs"

📄 License

MIT License - see file for details.