Skip to main content
Glama

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 LICENSE file for details.


MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/umishra1504/Jenkins-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server