mcp-jenkins

MCP.Pizza Chef: lanbaoshen

Jenkins runs the builds and releases for a lot of teams, and checking on it usually means hunting through its web interface. This lets an assistant answer instead: whether a build passed, why one failed, what is queued, and what changed. It can also start jobs when you ask. It works in Cursor, installs through several common package tools, and connects to the Jenkins server you already run.

Coding
Data

Use This MCP server To

Check whether the last build passed Find out why a build failed See what jobs are queued right now Start a build without opening Jenkins Get a plain summary of recent failures Check which job is taking longest

README

MCP Jenkins

PyPI Version PyPI - Downloads PyPI Downloads smithery badge test License

The Model Context Protocol (MCP) is an open-source implementation that bridges Jenkins with AI language models following Anthropic's MCP specification. This project enables secure, contextual AI interactions with Jenkins tools while maintaining data privacy and security.

Cursor Demo

cursor demo

Setup Guide

Installation

Choose one of these installation methods:

# Using uv (recommended)
pip install uv
uvx mcp-jenkins

# Using pip
pip install mcp-jenkins

# Using Smithery
npx -y @smithery/cli@latest install @lanbaoshen/mcp-jenkins --client claude

Configuration and Usage

Cursor
  1. Open Cursor Settings
  2. Navigate to MCP
  3. Click + Add new global MCP server

This will create or edit the ~/.cursor/mcp.json file with your MCP server configuration.

{
  "mcpServers": {
    "mcp-jenkins": {
      "command": "uvx",
      "args": [
        "mcp-jenkins",
        "--jenkins-url=xxx",
        "--jenkins-username=xxx",
        "--jenkins-password=xxx"
      ]
    }
  }
}
line arguments
# Stdio Mode
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx

# SSE Mode
uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --transport sse --port 9887
AutoGen
Install and exec

Install autogen:

pip install "autogen-ext[azure,ollama,openai,mcp]" autogen-chat

Run python scripts:

import asyncio

from autogen_ext.tools.mcp import StdioMcpToolAdapter, StdioServerParams
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_core import CancellationToken


async def main() -> None:
    # Create server params for the remote MCP service
    server_params = StdioServerParams(
        command='uvx',
        args=[
            'mcp-jenkins',
            '--jenkins-username',
            'xxx',
            '--jenkins-password',
            'xxx',
            '--jenkins-url',
            'xxx'
        ],
    )

    # Get the translation tool from the server
    adapter = await StdioMcpToolAdapter.from_server_params(server_params, 'get_all_jobs')

    # Create an agent that can use the translation tool
    agent = AssistantAgent(
        name='jenkins_assistant',
        model_client=[Replace_with_your_model_client],
        tools=[adapter],
    )

    # Let the agent translate some text
    await Console(
        agent.run_stream(task='Get all jobs', cancellation_token=CancellationToken())
    )


if __name__ == "__main__":
    asyncio.run(main())

Available Tools

Tool Description
get_all_jobs Get all jobs
get_job_config Get job config
search_jobs Search job by specific field
get_running_builds Get running builds
get_build_info Get build info
get_job_info Get job info
build_job Build a job with param
get_build_logs Get build logs

Development & Debugging

# Using MCP Inspector
# For installed package
npx @modelcontextprotocol/inspector uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx

# For local development version
npx @modelcontextprotocol/inspector uv --directory /path/to/your/mcp-jenkins run mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx

Pre-Commit Hook

# Install Dependency
uv sync --all-extras --dev
pre-commit install

# Manually execute
pre-commit run --all-files

UT

# Install Dependency
uv sync --all-extras --dev

# Execute UT
uv run pytest --cov=mcp_jenkins

License

Licensed under MIT - see LICENSE file. This is not an official Jenkins product.

mcp-jenkins FAQ

Can I use this to find out why a build failed?
Yes — you can ask about a specific job and get the reason without digging through logs.
Can it start builds or only read them?
It can trigger jobs as well as report on them, so access should go to people you trust.
Do I need a key or account?
No separate key beyond the access your own Jenkins server already requires.
Which apps does it work with?
It is documented for Cursor and works with other assistants supporting this connection.
How hard is it to set up?
It installs through several common package tools and points at your Jenkins address.