Jenkins Enterprise MCP Server
Jenkins build management, multi-instance routing, and failure diagnostic tools.
Data last scanned today · Reviewed today
Overview
This Python-based MCP server enables comprehensive interaction with Jenkins environments through direct build control and diagnostic capabilities. It allows users to trigger builds synchronously or asynchronously, inspect job hierarchies, and retrieve logs across multiple Jenkins instances from a single interface. The server also offers configurable failure diagnostics to help isolate issues within build logs. Installation is supported via source or Docker/Compose, requiring a primary YAML configuration for credentials. Optional features include server-side job editing for non-SCM-backed jobs and semantic search integration powered by Qdrant, which can be configured via project-local override files to provide targeted build analysis.
Our verdict
With a high-risk security score of 35/100, this server requires cautious deployment. A significant security limitation is the lack of a read-only mode, as every installation defaults to providing full write access to the configured Jenkins instances. Furthermore, it is a community-maintained project rather than an official vendor release, meaning users should rely on their own validation of the code before deploying it in sensitive build environments.
- Supports multi-instance routing to manage complex Jenkins setups
- Provides built-in build diagnostic and failure recommendation tools
- Includes zero direct dependencies to minimize supply-chain complexity
- Offers both source and containerized deployment paths
- Lacks a read-only mode, granting full write access by default
- Community-maintained project lacking official vendor support
- Missing OAuth support, relying on standard API credentials
Tools
| Tool | Description | Risk |
|---|---|---|
| trigger_build | Start a build and wait for completion | medium |
| trigger_build_async | Queue a build without waiting for completion | medium |
| trigger_build_with_subs | Trigger a build and track downstream/sub-build execution | medium |
| get_jenkins_job_parameters | Inspect job parameters before triggering builds | low |
| find_jobs | Search jobs by name, path, or URL on one resolved Jenkins instance | low |
| list_job_builds | List recent builds for a job, or a small window around a target build number | low |
| get_build_info | Fetch metadata for a specific build or lastBuild | low |
| get_job_definition | Inspect whether a job is SCM-backed, inline, multibranch, or XML-backed | low |
| ripgrep_search | Search logs with regex and context windows | low |
| filter_errors_grep | Filter logs with common error-oriented patterns | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What prerequisites are needed to run the server?
You need Python 3.10+, Jenkins API access, and a valid Jenkins username and API token. If you intend to use semantic search, a Qdrant instance is also required.
›How do I enable semantic search and job editing?
Enable semantic search by setting disable_vector_search to false and providing the Qdrant host URL in your configuration. Job editing is enabled by setting settings.enable_job_editing to true in your configuration and defining a job_edit_workspace_dir.
›How does the server handle multi-instance Jenkins setups?
The server routes each tool call to the specific Jenkins instance identified by the provided jenkins_url. It does not perform fan-out operations across all configured instances for a single request.
›Is a project-local diagnostic configuration file mandatory?
No, a project-local diagnostic file is optional. If you do not provide one, the server will automatically use the bundled default diagnostic parameters.
›How does get_job_definition handle different job types?
For SCM-backed pipelines, it returns SCM location details. For inline pipelines, it stages a local Groovy file for editing, while other Jenkins-managed jobs have their config.xml staged.
›Are there specific requirements for using log-related tools in Docker?
The provided Docker image includes ripgrep, which is required for the ripgrep_search and navigate_log tools to function correctly in containerized deployments.
Badge
Maintain this server? Add the live badge to your README.