
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 details of a specific Jenkins build including result, duration, and timestamps. Use list_builds to find valid build numbers.
List builds for a Jenkins job with pagination. Returns build numbers, results, and timestamps. Use offset and limit for next page.
Get the console output of a Jenkins build as plain text. Use list_builds to find valid build numbers.
Stop a running Jenkins build. Use list_builds to find builds where building=true.
List Jenkins jobs with pagination. Returns job names, URLs, and status colors. Use offset and limit for next page.
Get Jenkins job details by name including build history, health, and configuration. For jobs in folders, use 'folder/job-name'.
Get the XML configuration of a Jenkins job. Returns the raw config.xml. Use list_jobs to find valid job names.
Enable a disabled Jenkins job so it can be built. Use list_jobs to find valid job names.
Disable a Jenkins job to prevent new builds. The job remains visible but cannot be triggered. Use list_jobs to find valid job names.
Permanently delete a Jenkins job and all its build history. This cannot be undone. Use list_jobs to find valid job names.
List all Jenkins nodes (agents and built-in). Returns node names, executor counts, and online/offline status.
Get details of a Jenkins node including executors, offline status, and configuration. Use list_nodes to find valid names.
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 a queued Jenkins build. Use listqueueitems to find valid queue IDs.
List all installed Jenkins plugins. Returns plugin names, versions, and whether updates are available.
Get Jenkins system information including mode, executor count, security status, and whether Jenkins is preparing for shutdown.
Validate Jenkins credentials by fetching the current user. Returns success status and message.

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}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.
The use cases naturally depend on the agent you've built, but here are a few common ones:
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 systemget_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 developerlist_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 oneget_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 escalatelist_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 recommendationlist_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 channelHere is what sets Merge Agent Handler's Jenkins MCP server apart from the official plugin or other alternatives:
list_jobs, get_build, and get_build_log. It never gets access to trigger_build, delete_job, or other write operationsYou 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.
Yes, Merge for Workforce lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, and other MCP-compatible AI tools to Jenkins without bypassing IT governance.
Instead of setting up direct connections with personal credentials that IT can't monitor or revoke, each employee authenticates through Merge and gets individual credentials tied to their identity.
IT also provisions access by role or group via SCIM. A DevOps engineer, for example, gets Jenkins access to monitor build pipelines and deployment status, GitHub to reference code changes triggering builds, and PagerDuty to manage alerts on failed deployments; while a release manager gets Jenkins access to track release pipeline progress, Jira to coordinate with development teams on release readiness, and Slack to communicate deployment status to stakeholders.
Every tool call an employee's AI makes to Jenkins is also inspected against your DLP rules and logged to a searchable audit trail, giving security teams full visibility into what data was accessed and by whom.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now