Skip to main content
Glama

MCP Jenkins

PyPI Version PyPI Downloads 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

Related MCP server: Upstash MCP Server

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

Note: You can set your Jenkins token to password too!

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:

  • SSE mode

{ "servers": { "jenkins": { "url": "http://localhost:3000/sse", "type": "sse" } } }
  • Streamable-Http mode

{ "servers": { "mcp-jenkins-mcp": { "autoApprove": [], "disabled": false, "timeout": 60, "type": "streamableHttp", "url": "http://localhost:3000/mcp" } } }
  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_or_token \ --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 # Streamable-Http Mode uvx mcp-jenkins --jenkins-url xxx --jenkins-username xxx --jenkins-password xxx --transport streamable-http --port 9887

AutoGen

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

stop_build

Stop running build

get_build_info

Get build info

get_build_sourcecode

Get the pipeline source code of a specific build in Jenkins

get_job_info

Get job info

build_job

Build a job with param

get_build_logs

Get build logs

get_test_results

Get test results for a specific build

get_all_nodes

Get nodes

get_node_config

Get the config of node

get_all_queue_items

Get all queue items

get_queue_item

Get queue item info

cancel_queue_item

Cancel queue item

get_multibranch_jobs

Get all multibranch pipeline jobs from Jenkins, optionally filtered by patterns

get_multibranch_branches

Get all branches for a specific multibranch pipeline job

scan_multibranch_pipeline

Trigger 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.

MCP-Jenkins in MCP Registries

Star History

Star History Chart

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/lanbaoshen/mcp-jenkins'

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