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
























