Jenkins Integration
STDIOMCP server for interacting with Jenkins CI/CD servers, enabling build management and log retrieval.
MCP server for interacting with Jenkins CI/CD servers, enabling build management and log retrieval.
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.
git clone https://github.com/yourusername/jenkins-server-mcp.git cd jenkins-server-mcp
npm install
npm run build
The server requires the following environment variables:
JENKINS_URL
: The URL of your Jenkins server (defaults to 'http://sohoci.rd.tp-link.net/jenkins')JENKINS_USER
: Jenkins username for authenticationJENKINS_TOKEN
: Jenkins API token for authenticationConfigure these in your MCP settings file:
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" } } } }
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" }
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 } }
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" }
For development with auto-rebuild:
npm run watch
Since MCP servers communicate over stdio, you can use the MCP Inspector for debugging:
npm run inspector
This will provide a URL to access debugging tools in your browser.
This project is licensed under the MIT License - see the LICENSE file for details.