Jenkins CI/CD

Jenkins CI/CD

ashwinighuge3012

Connects AI assistants to Jenkins CI/CD servers for managing builds, monitoring pipelines, and handling artifacts. Provides comprehensive job control and real-time status tracking through a secure API.

Integrates with Jenkins CI/CD infrastructure to provide complete job management, build monitoring, pipeline execution, and artifact handling with intelligent caching and CSRF protection for DevOps automation workflows.

12433 views4Local (stdio)

What it does

  • Trigger and monitor Jenkins jobs
  • Stream build console logs in real-time
  • Download and search build artifacts
  • Execute pipeline stages with detailed monitoring
  • Manage build queues and job scheduling
  • Filter jobs by status, results and dates

Best for

DevOps engineers managing CI/CD pipelinesAutomating build monitoring and deployment workflowsTeams needing AI-assisted Jenkins operations
Enterprise-grade security with CSRF protectionIntelligent caching with automatic invalidationBatch operations with parallel execution

About Jenkins CI/CD

Jenkins CI/CD is a community-built MCP server published by ashwinighuge3012 that provides AI assistants with tools and capabilities via the Model Context Protocol. Jenkins CI/CD integrates seamlessly to manage jobs, monitor builds, and automate DevOps workflows with robust caching an It is categorized under developer tools.

How to install

You can install Jenkins CI/CD in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Jenkins CI/CD is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Jenkins MCP Server

npm version License

An enterprise-grade MCP (Model Context Protocol) server for seamless Jenkins CI/CD integration. Enables AI assistants like Claude to interact with Jenkins through a comprehensive, production-ready API.

πŸš€ Quick Start

npm Installation (Recommended)

# Global installation
npm install -g @ashwinighuge/jenkins-mcp-server

# Or use directly with npx
npx @ashwinighuge/jenkins-mcp-server --help

Claude Desktop Integration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "jenkins": {
      "command": "jenkins-mcp",
      "env": {
        "JENKINS_URL": "http://your-jenkins-server:8080",
        "JENKINS_USER": "your-username",
        "JENKINS_API_TOKEN": "your-api-token"
      }
    }
  }
}

✨ Features

  • πŸ”§ Job Management: Trigger, list, search, and monitor Jenkins jobs with full folder support
  • πŸ“Š Build Status: Real-time build status tracking and console log streaming
  • πŸ”„ Pipeline Support: Stage-by-stage pipeline execution monitoring with detailed logs
  • πŸ“¦ Artifact Management: List, download, and search build artifacts across multiple builds
  • ⚑ Batch Operations: Parallel job execution with intelligent priority queuing
  • πŸš€ Performance Caching: Multi-tier intelligent caching system with automatic invalidation
  • πŸ” Advanced Filtering: Filter jobs by status, results, dates, and more with regex support
  • πŸ“‹ Queue Management: Real-time build queue monitoring and management
  • πŸ”’ Enterprise Security: CSRF protection, 2FA support, and secure authentication
  • 🌐 Cross-Platform: Works on Windows, macOS, and Linux
  • πŸ”„ Retry Logic: Built-in exponential backoff for improved reliability
  • πŸ“‘ Transport Flexibility: Supports both STDIO and HTTP transports
  • βœ… Input Validation: Robust Pydantic-based validation and error handling

πŸ“‹ Prerequisites

  • Node.js: 14.0.0 or higher
  • Python: 3.12 or higher
  • Jenkins: 2.401+ (recommended)
  • Jenkins API Token: For authentication

πŸ›  Installation Methods

Method 1: npm (Recommended)

# Install globally for system-wide access
npm install -g @ashwinighuge/jenkins-mcp-server

# Verify installation
jenkins-mcp --help

Method 2: Development Setup

# Clone the repository
git clone https://github.com/AshwiniGhuge3012/jenkins-mcp-server
cd jenkins-mcp-server

# Install Node.js dependencies
npm install

# Install Python dependencies
pip install -r requirements.txt  # or use uv pip install

# Run locally
node bin/jenkins-mcp.js --help

πŸ” Configuration

Environment Variables

Create a .env file in your working directory:

# Required Jenkins Configuration
JENKINS_URL="http://your-jenkins-server:8080"
JENKINS_USER="your-username"
JENKINS_API_TOKEN="your-api-token"

# Optional: Server Configuration
MCP_PORT=8010
MCP_HOST=0.0.0.0

# Optional: Retry Configuration
JENKINS_MAX_RETRIES=3
JENKINS_RETRY_BASE_DELAY=1.0
JENKINS_RETRY_MAX_DELAY=60.0
JENKINS_RETRY_BACKOFF_MULTIPLIER=2.0

# Optional: Performance Cache Configuration
JENKINS_CACHE_STATIC_TTL=3600        # 1 hour
JENKINS_CACHE_SEMI_STATIC_TTL=300    # 5 minutes
JENKINS_CACHE_DYNAMIC_TTL=30         # 30 seconds
JENKINS_CACHE_SHORT_TTL=10           # 10 seconds
JENKINS_CACHE_STATIC_SIZE=1000       # Max cached items
JENKINS_CACHE_SEMI_STATIC_SIZE=500
JENKINS_CACHE_DYNAMIC_SIZE=200
JENKINS_CACHE_PERMANENT_SIZE=2000
JENKINS_CACHE_SHORT_SIZE=100

Getting Jenkins API Token

  1. Log into your Jenkins instance
  2. Click your username β†’ Configure
  3. Scroll to API Token section
  4. Click Add new Token
  5. Give it a name and click Generate
  6. Copy the generated token (save it securely!)

πŸš€ Usage

Command Line Interface

# STDIO mode (default, for Claude Desktop)
jenkins-mcp

# HTTP mode (for MCP Gateway)
jenkins-mcp --transport streamable-http --port 8010

# Custom host and port
jenkins-mcp --transport streamable-http --host localhost --port 9000

# Show help
jenkins-mcp --help

Transport Modes

ModeUse CaseCommand
STDIOClaude Desktop, direct MCP clientsjenkins-mcp
HTTPMCP Gateway, web integrationsjenkins-mcp --transport streamable-http

Advanced Usage Examples

# Using with npx (no global installation)
npx @ashwinighuge/jenkins-mcp-server

# Using environment variables
JENKINS_URL=http://localhost:8080 JENKINS_USER=admin JENKINS_API_TOKEN=abc123 jenkins-mcp

# HTTP mode with custom configuration
jenkins-mcp --transport streamable-http --host 0.0.0.0 --port 8080

Available Tools

Here is a list of the tools exposed by this MCP server:

trigger_job

  • Description: Triggers a Jenkins job with optional parameters.
  • Parameters:
    • job_name (string): The name of the Jenkins job.
    • params (object, optional): Job parameters as a JSON object. For multiselect parameters, pass an array of strings.
  • Returns: A confirmation message with the queue URL.

get_job_info

  • Description: Gets detailed information about a Jenkins job, including its parameters.
  • Parameters:
    • job_name (string): The name of the Jenkins job.
  • Returns: An object containing the job's description, parameters, and last build number.

get_build_status

  • Description: Gets the status of a specific build.
  • Parameters:
    • job_name (string): The name of the Jenkins job.
    • build_number (integer): The build number.
  • Returns: An object with the build status, timestamp, duration, and URL.

get_console_log

  • Description: Retrieves the console log for a specific build.
  • Parameters:
    • job_name (string): The name of the Jenkins job.
    • build_number (integer): The build number.
    • start (integer, optional): The starting byte position for fetching the log.
  • Returns: The console log text and information about whether more data is available.

list_jobs

  • Description: Lists all available jobs on the Jenkins server with advanced filtering capabilities.
  • Parameters:
    • recursive (boolean, optional): If True, recursively traverse folders (default: True)
    • max_depth (integer, optional): Maximum depth to recurse (default: 10)
    • include_folders (boolean, optional): Whether to include folder items (default: False)
    • status_filter (string, optional): Filter by job status: "building", "queued", "idle", "disabled"
    • last_build_result (string, optional): Filter by last build result: "SUCCESS", "FAILURE", "UNSTABLE", "ABORTED", "NOT_BUILT"
    • days_since_last_build (integer, optional): Only jobs built within the last N days
    • enabled_only (boolean, optional): If True, only enabled jobs; if False, only disabled jobs
  • Returns: A list of jobs with enhanced metadata including build status and timestamps.

search_jobs

  • Description: Search for Jenkins jobs using pattern matching with advanced filtering.
  • Parameters:
    • pattern (string): Pattern to match job names (supports wildcards like 'build*', 'test', etc.)
    • job_type (string, optional): Filter by type - "job", "folder", or "all" (default: "job")
    • max_depth (integer, optional): Maximum depth to search (default: 10)
    • use_regex (boolean, optional): If True, treat pattern as regex instead of wildcard (default: False)
    • status_filter (string, optional): Filter by job status: "building", "queued", "idle", "disabled"
    • last_build_result (string, optional): Filter by last build result: "SUCCESS", "FAILURE", "UNSTABLE", "ABORTED", "NOT_BUILT"
    • days_since_last_build (integer, optional): Only jobs built within the last N days
    • enabled_only (boolean, optional): If True, only enabled jobs; if False, only disabled jobs
  • Returns: A list of matching jobs with enhanced metadata and full paths.

get_queue_info

  • Description: Gets information about builds currently in the queue.
  • Parameters: None
  • Returns: A list of items in the queue.

server_info

  • Description: Gets basic information about the Jenkins server.
  • Parameters: None
  • Returns: The Jenkins version and URL.

get_pipeline_status

  • Description: Gets detailed pipeline stage status for Jenkins Pipeline job builds.
  • Parameters:
    • job_name (string): The name of the Jenkins Pipeline job.
    • build_number (integer): The build number.
  • Returns: Pipeline execution details including stage-by-stage status, timing, duration, and logs.

list_build_artifacts

  • Description: List all artifacts for a specific Jenkins build.
  • Parameters:
    • job_name (string): Name of the Jenkins job.
    • build_number (integer): Build number to list artifacts for.
  • Returns: Information about all artifacts including filenames, sizes, and download URLs.

download_build_artifact

  • Description: Download a specific build artifact content (text-based artifacts only for safety).
  • Parameters:
    • job_name (string): Name of the Jenkins job.
    • build_number (integer): Build number containing the artifact.
    • artifact_path (string): Relative path to the artifact (from list_build_artifacts).
    • max_size_mb (integer, optional): Maximum file size to download in MB (default: 50MB).
  • Returns: Artifact content (for text files) or download information.

search_build_artifacts

  • Description: Search for artifacts across recent builds of a job using pattern matching.
  • Parameters:
    • job_name (string): Name of the Jenkins job to search.
    • pattern (string): Pattern to match artifact names (wildcards

README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
ui-design-system

UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.

18
ai-sdk

Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".

6
api-documenter

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.

4
openai-knowledge

Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.

4
cli-builder

Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.

3
ydc-ai-sdk-integration

Integrate Vercel AI SDK applications with You.com tools (web search, AI agent, content extraction). Use when developer mentions AI SDK, Vercel AI SDK, generateText, streamText, or You.com integration with AI SDK.

2