icon for mcp server

Jenkins

STDIO

Bridge connecting Jenkins with AI language models via Model Context Protocol

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" ] } } }

VSCode Copilot Chat

  1. Create .vscode folder with mcp.json file in you workspace for local setup or edit settings.json trough settings menù.
  2. Insert the following configuration:
{ "servers": { "jenkins": { "url": "http://localhost:3000/sse", "type": "sse" } } }
  1. Run the Jenkins MCP server with the following command:
uvx mcp-jenkins \ --jenkins-url http://localhost:3000 \ --jenkins-username your_username \ --jenkins-password your_password \ --transport sse --port 3000

line arguments

# Stdio Mode uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --read-only # 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

ToolDescription
get_all_jobsGet all jobs
get_job_configGet job config
search_jobsSearch job by specific field
get_running_buildsGet running builds
stop_buildStop running build
get_build_infoGet build info
get_build_sourcecodeGet the pipeline source code of a specific build in Jenkins
get_job_infoGet job info
build_jobBuild a job with param
get_build_logsGet build logs
get_all_nodesGet nodes
get_node_configGet the config of node
get_all_queue_itemsGet all queue items
get_queue_itemGet queue item info
cancel_queue_itemCancel queue item
get_multibranch_jobsGet all multibranch pipeline jobs from Jenkins, optionally filtered by patterns
get_multibranch_branchesGet all branches for a specific multibranch pipeline job
scan_multibranch_pipelineTrigger a scan of a multibranch pipeline to discover new branches

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.

Be the First to Experience MCP Now