Skip to main content
Glama
grglzrv

Jenkins MCP Server

by grglzrv

trigger_build

Queue a Jenkins build and get a queue ID and URL to poll. For parameterised jobs, pass parameters; omitting them causes rejection.

Instructions

Queue a build.

Returns a validated queue_id and a canonical queue_url built from configured JENKINS_URL, not a build number: the build has not started yet. Poll get_queue_item until its executable has a number, then use get_build_info. For a parameterised job pass parameters, using an empty object to accept every default; omitting it entirely makes Jenkins reject the trigger. Their encoded form must fit MCP_MAX_REQUEST_BYTES.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
job_nameYes
parametersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.10.10

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses that the return is a queue_id/queue_url rather than a build number, that the build has NOT started yet, and that an over-large encoded payload is rejected by MCP_MAX_REQUEST_BYTES. The remaining gap is permissions/auth requirements and whether a repeated trigger is deduplicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded single-line summary followed by the operational detail, with no filler sentences. The detail paragraph is dense and run-on, but every clause (queue semantics, polling path, parameter rule, size limit) earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and 0% schema description coverage, yet the description names the returned fields and explains what they mean and do not mean. Combined with the polling guidance and parameter rules, an agent has everything needed to call this correctly and handle the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does for `parameters`: default-vs-null semantics, the empty-object convention, and the size ceiling on the encoded form are all stated. `job_name` itself is left implicit, but its meaning is unambiguous from the tool purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Queue a build") and immediately distinguishes itself from siblings by describing the queue-item lifecycle. An agent knows this is the trigger point, not a build-inspection tool, and is routed to get_queue_item / get_build_info as follow-ups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the when and the follow-up sequence: poll get_queue_item until the executable has a number, then use get_build_info. It also gives a precise rule for parameterised jobs (pass an object, empty object for defaults, omitting makes Jenkins reject the trigger), which is a genuine usage discriminator.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.