The Jenkins Server MCP enables AI assistants to interact with Jenkins CI/CD servers for build management tasks. You can:
Get the status of specific builds
Trigger new builds (with optional parameters)
Retrieve console output/logs for builds
Provides tools for interacting with Jenkins CI/CD servers, allowing users to check build statuses, trigger builds with parameters, and retrieve build logs from Jenkins jobs.
Connects to TP-Link's Jenkins server (sohoci.rd.tp-link.net/jenkins) by default, enabling interaction with TP-Link's continuous integration environment.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jenkins Server MCPcheck the status of the last build for view/xxx_debug"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sponsors
Website | Description |
Free AI SaaS Product Directory & Listing Platform - Submit your AI products and SaaS tools for free exposure and discovery | |
Free AI Tools & SaaS Directory for Developers - Discover and list innovative AI-powered tools and SaaS applications | |
Free AI-Powered Image Merging & Combination Tool - Merge and combine multiple images effortlessly with AI technology |
Jenkins Server MCP
A Model Context Protocol (MCP) server that provides tools for interacting with Jenkins CI/CD servers. This server enables AI assistants to check build statuses, trigger builds, and retrieve build logs through a standardized interface.
Related MCP server: MCP Toolkit
Installation
Clone this repository:
git clone https://github.com/hekmon8/jenkins-server-mcp.git
cd jenkins-server-mcpInstall dependencies:
npm installBuild the project:
npm run buildConfiguration
The server requires the following environment variables:
JENKINS_URL: The URL of your Jenkins serverJENKINS_USER: Jenkins username for authenticationJENKINS_TOKEN: Jenkins API token for authentication
Configure these in your MCP settings file:
For Claude Desktop
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"jenkins-server": {
"command": "node",
"args": ["/path/to/jenkins-server-mcp/build/index.js"],
"env": {
"JENKINS_URL": "https://your-jenkins-server.com",
"JENKINS_USER": "your-username",
"JENKINS_TOKEN": "your-api-token"
}
}
}
}Tools and Usage
1. Get Build Status
Get the status of a Jenkins build:
// Example usage
const result = await mcpClient.useTool("jenkins-server", "get_build_status", {
jobPath: "view/xxx_debug",
buildNumber: "lastBuild" // Optional, defaults to lastBuild
});Input Schema:
{
"jobPath": "string", // Path to Jenkins job
"buildNumber": "string" // Optional, build number or "lastBuild"
}2. Trigger Build
Trigger a new Jenkins build with parameters:
// Example usage
const result = await mcpClient.useTool("jenkins-server", "trigger_build", {
jobPath: "view/xxx_debug",
parameters: {
BRANCH: "main",
BUILD_TYPE: "debug"
}
});Input Schema:
{
"jobPath": "string", // Path to Jenkins job
"parameters": {
// Build parameters as key-value pairs
}
}3. Get Build Log
Retrieve the console output of a Jenkins build:
// Example usage
const result = await mcpClient.useTool("jenkins-server", "get_build_log", {
jobPath: "view/xxx_debug",
buildNumber: "lastBuild"
});Input Schema:
{
"jobPath": "string", // Path to Jenkins job
"buildNumber": "string" // Build number or "lastBuild"
}Development
For development with auto-rebuild:
npm run watchDebugging
Since MCP servers communicate over stdio, you can use the MCP Inspector for debugging:
npm run inspectorThis will provide a URL to access debugging tools in your browser.
Thanks
Thanks AIMCP(https://www.aimcp.info).
License
This project is licensed under the MIT License - see the LICENSE file for details.