Connect your AI Agents to Jenkins in minutes

Available tools
trigger_build
Trigger a new Jenkins build for a job. Optionally pass build parameters. Returns the queue item URL. Use list_jobs to find valid job names.
get_build
Get details of a specific Jenkins build including result, duration, and timestamps. Use list_builds to find valid build numbers.
list_builds
List builds for a Jenkins job with pagination. Returns build numbers, results, and timestamps. Use offset and limit for next page.
get_build_log
Get the console output of a Jenkins build as plain text. Use list_builds to find valid build numbers.
stop_build
Stop a running Jenkins build. Use list_builds to find builds where building=true.
list_jobs
List Jenkins jobs with pagination. Returns job names, URLs, and status colors. Use offset and limit for next page.
get_job
Get Jenkins job details by name including build history, health, and configuration. For jobs in folders, use 'folder/job-name'.
get_job_config
Get the XML configuration of a Jenkins job. Returns the raw config.xml. Use list_jobs to find valid job names.
enable_job
Enable a disabled Jenkins job so it can be built. Use list_jobs to find valid job names.
disable_job
Disable a Jenkins job to prevent new builds. The job remains visible but cannot be triggered. Use list_jobs to find valid job names.
delete_job
Permanently delete a Jenkins job and all its build history. This cannot be undone. Use list_jobs to find valid job names.
list_nodes
List all Jenkins nodes (agents and built-in). Returns node names, executor counts, and online/offline status.
get_node
Get details of a Jenkins node including executors, offline status, and configuration. Use list_nodes to find valid names.
list_queue_items
List items in the Jenkins build queue. Shows jobs waiting to be built, why they are queued, and whether they are blocked or stuck.
cancel_queue_item
Cancel a queued Jenkins build. Use list_queue_items to find valid queue IDs.
list_plugins
List all installed Jenkins plugins. Returns plugin names, versions, and whether updates are available.
get_system_info
Get Jenkins system information including mode, executor count, security status, and whether Jenkins is preparing for shutdown.
validate_credential
Validate Jenkins credentials by fetching the current user. Returns success status and message.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Jenkins MCP server
FAQs on using Merge's Jenkins MCP server
What is a Jenkins MCP?
A Jenkins MCP server is a protocol layer that gives your agents access to Jenkins build and job data through tools. Your agents can invoke these tools to trigger builds, retrieve logs, inspect job configurations, monitor queue state, and manage pipeline execution, and more.
Jenkins offers an MCP server plugin, but you can also use a Jenkins MCP server from a third-party platform, like Merge Agent Handler.
How can I use the Jenkins MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Incident triage from build failures: When a Jenkins build fails, an agent retrieves the build log, identifies the failing test or error message, and posts a summary to the relevant Slack channel with the job name and build number, so engineers have the failure context before they open Jenkins
- Automated deployment gating: After a pull request is merged in GitHub, an agent triggers the corresponding Jenkins deployment job, polls for build status, and updates the pull request with a comment once the build completes or fails
- Pipeline health reporting: Each morning, an agent lists all jobs that failed or are currently queued across a Jenkins instance and posts a consolidated status digest to a DevOps Slack channel, replacing manual dashboard checks before standups
- Blocked build escalation: When a build has been sitting in the Jenkins queue longer than a defined threshold, an agent cancels the queue item, posts an alert in the on-call channel with the job name and wait time, and pages the responsible team for intervention
What are popular tools for Jenkins's MCP server?
Here are some of the most commonly used tools:
trigger_build: kicks off a specific Jenkins job by name, with optional parameters passed at build time. Use this when an agent needs to initiate a deployment or test run in response to an event in another system
get_build_log: retrieves the console output for a specific build run. Useful for agents that need to parse failure messages, extract test results, or summarize what happened during a build before surfacing context to a developer
list_jobs: returns all jobs within a Jenkins instance or folder. Call this when an agent needs to enumerate available pipelines before filtering, searching, or triggering a specific one
get_build: fetches the status, result, duration, and metadata for a specific build. Good for workflows that poll build state after triggering a job and need to determine whether to proceed, wait, or escalate
list_builds: returns recent build history for a given job. Helpful when an agent needs to identify patterns, like repeated failures on the same branch, before generating a report or recommendation
list_queue_items: shows all builds currently waiting to run in the Jenkins executor queue. Call this when an agent needs to detect backlog, cancel stuck jobs, or report queue depth to an ops channel
What makes Merge Agent Handler's Jenkins MCP server better than alternative Jenkins MCP servers?
Here is what sets Merge Agent Handler's Jenkins MCP server apart from the official plugin or other alternatives:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Jenkins, this means you can prevent build logs containing environment variables, secret values, or internal hostnames from being surfaced to agents that have no reason to see that data
- Managed authentication and credentials: Merge stores and refreshes your Jenkins credentials on your behalf. You never hand API tokens or Jenkins user credentials directly to an agent, and you don't have to manage token rotation when credentials change
- Real-time observability and audit trail: Every tool call against Jenkins is logged with the timestamp, tool name, input parameters, and response. You can see exactly which builds an agent triggered, which logs it read, and which jobs it disabled, without adding any custom instrumentation to your pipelines
- Tool Packs and controlled access: Tool Packs let you define exactly which Jenkins tools each agent can reach. A read-only build monitoring agent gets
list_jobs,get_build, andget_build_log. It never gets access totrigger_build,delete_job, or other write operations
How can I start using Merge Agent Handler's Jenkins MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Jenkins and complete the credential setup. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Jenkins data directly. The first time you use a Jenkins tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's Jenkins MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now
























