Jenkins MCP Server
A Model Context Protocol (MCP) server that exposes a Jenkins controller's REST
API to MCP-compatible clients such as Claude Desktop. Built on the
MCP Python SDK (1.27+,
protocol 2025-11-25) using FastMCP with httpx for async HTTP and
pydantic-settings for configuration.
Features
- HTTP basic authentication using a Jenkins username + API token
- Automatic CSRF crumb fetch and cache for POST requests
- Works with nested folder job paths (
team/app/main) - Tools for jobs, builds, console logs, queue, nodes and plugins
Installation
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Configuration
All configuration is read from environment variables prefixed with JENKINS_.
A .env file in the working directory is also picked up automatically.
Running
jenkins-mcp
Claude Desktop configuration
Add an entry to claude_desktop_config.json:
{
"mcpServers": {
"jenkins": {
"command": "jenkins-mcp",
"env": {
"JENKINS_BASE_URL": "https://jenkins.example.com",
"JENKINS_USERNAME": "your-username",
"JENKINS_API_TOKEN": "your-api-token"
}
}
}
}
Tools
Development
Run tests with:
pytest -x --tb=short
Lint with:
ruff check src tests