Skip to main content
Glama
mcpland
by mcpland

jenkins-mcp

Node CI npm license

A Model Context Protocol (MCP) server that provides AI assistants with full access to Jenkins CI/CD systems. Built with TypeScript and Node.js, it enables Claude, Cursor, and other MCP-compatible clients to query, manage, and control Jenkins jobs, builds, nodes, and queues through natural language.

Table of Contents

Related MCP server: Jenkins MCP Server

Features

  • 23 MCP Tools — Full Jenkins automation: jobs, builds, nodes, and queues

  • 3 Transport Modesstdio, sse, and streamable-http for different deployment scenarios

  • Read-Only Mode — Restrict to safe, read-only operations for controlled environments

  • Per-Request Auth — HTTP header-based Jenkins auth for multi-user/multi-tenant setups

  • SSL Configuration — Toggle SSL certificate verification for self-signed certs

  • Session Singleton — Reuse Jenkins client connections within a session for efficiency

  • CSRF Protection — Automatic crumb/token handling for Jenkins security

  • Folder Support — Full support for nested Jenkins folders and multi-branch pipelines

  • TypeScript Strict Mode — Fully typed codebase with strict compiler checks

Usage

MCP Client

Add the following to your MCP client configuration file:

{
  "mcpServers": {
    "jenkins": {
      "command": "npx",
      "args": [
        "jenkins-mcp",
        "--jenkins-url",
        "https://jenkins.example.com",
        "--jenkins-username",
        "your-username",
        "--jenkins-password",
        "your-api-token"
      ]
    }
  }
}

Claude Code

claude mcp add jenkins -- npx jenkins-mcp \
  --jenkins-url https://jenkins.example.com \
  --jenkins-username your-username \
  --jenkins-password your-api-token

Cursor

Add to your Cursor MCP settings (.cursor/mcp.json):

{
  "mcpServers": {
    "jenkins": {
      "command": "npx",
      "args": [
        "jenkins-mcp",
        "--jenkins-url",
        "https://jenkins.example.com",
        "--jenkins-username",
        "your-username",
        "--jenkins-password",
        "your-api-token"
      ]
    }
  }
}

Read-Only Mode

For safety in production environments, use --read-only to disable all write operations:

{
  "mcpServers": {
    "jenkins": {
      "command": "npx",
      "args": [
        "jenkins-mcp",
        "--read-only",
        "--jenkins-url",
        "https://jenkins.example.com",
        "--jenkins-username",
        "your-username",
        "--jenkins-password",
        "your-api-token"
      ]
    }
  }
}

Configuration

Jenkins-MCP can be configured through CLI arguments, environment variables, or HTTP headers (for HTTP transports).

CLI Options

jenkins-mcp [options]

Option

Description

Default

--jenkins-url

Jenkins server URL

--jenkins-username

Jenkins username

--jenkins-password

Jenkins password or API token

--jenkins-timeout

API request timeout in seconds

5

--jenkins-verify-ssl / --no-jenkins-verify-ssl

Verify SSL certificates

true

--jenkins-session-singleton / --no-jenkins-session-singleton

Reuse Jenkins client within session

true

--read-only

Only register read-only tools

false

--allow-full-console-output

Register the unsafe raw full-console-output tool

false

--transport

Transport mode: stdio | sse | streamable-http

stdio

--host

Host for HTTP transports

0.0.0.0

--port

Port for HTTP transports

9887

Environment Variables

Jenkins-MCP reads configuration from process environment variables. It does not auto-load .env files by itself.

If you use a local .env file, load it before starting the server (for example: set -a; source .env; set +a), then run jenkins-mcp.

Example .env values:

# Jenkins server URL
jenkins_url=https://jenkins.example.com/

# Jenkins basic auth
jenkins_username=your-username
jenkins_password=your-api-token

# Optional runtime settings
jenkins_timeout=5
jenkins_verify_ssl=true
jenkins_session_singleton=true

HTTP Headers (HTTP Transports Only)

When using sse or streamable-http transport, Jenkins credentials can be provided per-request via HTTP headers. This enables multi-user scenarios where different requests authenticate against different Jenkins instances.

Header

Description

x-jenkins-url

Jenkins server URL

x-jenkins-username

Jenkins username

x-jenkins-password

Jenkins password or API token

Each provided header overrides the corresponding environment variable for that request. Missing header values fall back to environment configuration.

Available Tools

Job / Item Tools

Tool

Description

Parameters

Read-Only

get_all_items

Get all jobs and folders from Jenkins

Yes

get_item

Get a specific job or folder by full name

fullname

Yes

get_item_config

Get job configuration XML

fullname

Yes

set_item_config

Update job configuration XML

fullname, config_xml

No

query_items

Search items with regex filters

class_pattern?, fullname_pattern?, color_pattern?

Yes

build_item

Trigger a job build

fullname, build_type, params?

No

Build Tools

Tool

Description

Parameters

Read-Only

get_build

Get build details

fullname, number?

Yes

get_build_console_tail

Get the recent tail of build console output

fullname, number?, max_bytes?

Yes

get_build_console_chunk

Read incremental console output by offset

fullname, start, number?, max_bytes?

Yes

search_build_console

Search console output incrementally with excerpts

fullname, query, number?, max_bytes?, ...

Yes

get_build_failure_excerpt

Get focused failure excerpts and test hints via incremental scan

fullname, number?, max_bytes?, max_excerpts?

Yes

get_build_console_output

Get raw full console log output

fullname, number?

Yes

get_build_test_report

Get test results report

fullname, number?

Yes

get_build_scripts

Extract build scripts (for replay)

fullname, number?

Yes

get_running_builds

Get all currently running builds

Yes

stop_build

Stop a running build

fullname, number

No

For large logs, prefer get_build_console_tail -> search_build_console -> get_build_console_chunk. get_build_console_output is disabled by default and only registered when --allow-full-console-output is set. Large-log helper tools enforce server-side byte ceilings even if the caller asks for more, and search-style tools scan logs incrementally instead of fetching consoleText.

For a failed build, prefer this sequence:

  1. get_build to confirm result, building, and the target build number.

  2. get_build_failure_excerpt to get focused failure snippets plus failing test hints.

  3. search_build_console with anchors such as Caused by:, ERROR, FAILED, or a failing test name.

  4. get_build_console_chunk to continue reading from a returned nextStart offset when the first excerpt is not enough.

  5. get_build_console_output only when raw full log export is explicitly needed.

For a running build, prefer this sequence:

  1. get_build to confirm the build is still running.

  2. get_build_console_tail to inspect the latest output window.

  3. search_build_console for known error anchors in the recent window.

  4. get_build_console_chunk with the last nextStart value to keep polling without rereading old output.

Node Tools

Tool

Description

Parameters

Read-Only

get_all_nodes

Get all compute nodes

Yes

get_node

Get a specific node with executor info

name

Yes

get_node_config

Get node configuration XML

name

Yes

set_node_config

Update node configuration XML

name, config_xml

No

Queue Tools

Tool

Description

Parameters

Read-Only

get_all_queue_items

Get all items waiting in the queue

Yes

get_queue_item

Get a specific queue item by ID

id

Yes

cancel_queue_item

Cancel a queued item

id

No

Tools marked Read-Only: No are only available when --read-only is not set.

Transport Modes

stdio (Default)

Standard input/output transport for direct MCP client integration. This is the recommended mode for Claude Desktop, Cursor, and other desktop MCP clients.

jenkins-mcp --transport stdio \
  --jenkins-url https://jenkins.example.com \
  --jenkins-username user --jenkins-password token

SSE (Server-Sent Events)

HTTP-based transport using Server-Sent Events. Suitable for web-based clients or remote access scenarios.

jenkins-mcp --transport sse \
  --host 127.0.0.1 --port 9887 \
  --jenkins-url https://jenkins.example.com \
  --jenkins-username user --jenkins-password token
  • SSE endpoint: GET /sse — establishes an SSE connection and returns a session

  • Message endpoint: POST /message?sessionId=<id> — sends messages to the session

Streamable HTTP

Session-based HTTP MCP transport over /mcp. Sessions are initialized via MCP initialize, then correlated with mcp-session-id in follow-up requests.

jenkins-mcp --transport streamable-http \
  --host 127.0.0.1 --port 9887 \
  --jenkins-url https://jenkins.example.com \
  --jenkins-username user --jenkins-password token
  • MCP endpoint: POST /mcp — handles all MCP protocol messages

Architecture

┌─────────────────────────────────────────────────┐
│                  MCP Client                     │
│          (Claude, Cursor, etc.)                 │
└──────────────────┬──────────────────────────────┘
                   │  MCP Protocol
┌──────────────────▼──────────────────────────────┐
│              Transport Layer                    │
│      stdio │ SSE │ Streamable HTTP              │
├──────────────────┬──────────────────────────────┤
│           MCP Server (mcp.ts)                   │
│     Tool registration & error handling          │
├──────────────────┬──────────────────────────────┤
│          Tool Handlers                          │
│   item.ts │ build.ts │ node.ts │ queue.ts       │
├──────────────────┬──────────────────────────────┤
│         Jenkins REST Client                     │
│    HTTP requests, auth, CSRF, timeout           │
├──────────────────┬──────────────────────────────┤
│           Jenkins Server                        │
│         (REST API endpoint)                     │
└─────────────────────────────────────────────────┘

Key design patterns:

  • Dependency InjectionToolRuntime interface enables testable tool handlers

  • Session Management — HTTP transports map sessions to isolated runtime contexts

  • Per-Request Auth — HTTP headers override environment config for multi-tenant use

  • Automatic CSRF — Crumb tokens are fetched and cached transparently

Development

Scripts

Command

Description

pnpm dev

Start in watch mode (auto-reload on changes)

pnpm build

Build production bundle with tsup

pnpm test

Run tests with Vitest

pnpm test:watch

Run tests in watch mode

pnpm test:coverage

Run tests with coverage report

pnpm check

Run all checks: format, lint, typecheck, test, build

pnpm lint

Run ESLint

pnpm format

Format code with Prettier

pnpm commit

Interactive conventional commit with Commitizen

pnpm changeset

Create a changeset for release

License

MIT

Available Tools

22 tools
build_itemC

Build an item in Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
build_typeYes
paramsNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false, and the description says 'Build', implying a write operation – consistent but no additional behavioral details. Lacks info on outcomes, side effects, async nature, or permissions needed.

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?

Single sentence, no extraneous text. Efficient but at the cost of omitting needed information.

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

Completeness1/5

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

Despite having 3 parameters (one with enum, one nested object) and no output schema, the description offers no insight into return values, parameter effects, or expected behavior. Incomplete for an agent to use effectively.

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

Parameters1/5

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

Schema coverage is 0%, yet the description provides no explanation for any of the three parameters (fullname, build_type, params). The agent cannot infer how to properly set build_type or pass parameters.

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

Purpose4/5

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

The description 'Build an item in Jenkins' clearly states the verb 'Build' and the resource 'item', distinguishing it from get/query/config siblings. However, 'item' is somewhat vague; specifying 'job/pipeline' would improve clarity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_item or set_item_config. The description does not mention prerequisites, recommended use cases, or when not to use it.

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

cancel_queue_itemA

Cancel a specific item in Jenkins queue by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate this is not a read-only operation (readOnlyHint=false). The description confirms 'Cancel' as a destructive action but does not disclose side effects, idempotency, or authentication requirements. It adds minimal behavioral context beyond the annotation.

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

Conciseness5/5

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

The description is a single, direct sentence with no extraneous words. It is front-loaded and efficiently conveys the core purpose.

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

Completeness3/5

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

For a simple tool with one parameter and no output schema, the description covers the basic purpose. However, it does not mention return values, irreversibility, or effect on the Jenkins queue state relative to sibling tools, leaving some contextual gaps.

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

Parameters2/5

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

Schema description coverage is 0%, placing burden on description. 'by id' vaguely references the single parameter but does not explain what id represents (e.g., queue item identifier) or provide semantic meaning beyond the schema's type/integer constraints.

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?

The description clearly states the action 'Cancel' and the resource 'a specific item in Jenkins queue by id'. It is concise and directly describes the tool's function, distinguishing it from sibling tools that perform reads or other operations.

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like stop_build or get_queue_item. It implicitly suggests use when a queue item needs cancellation, but lacks exclusions or context about prerequisites.

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

get_all_itemsB
Read-only

Get all items from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

The description only restates the read-only nature implied by annotations. It does not disclose any additional behavioral traits such as response format, pagination, or potential size limits, which would be valuable.

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

Conciseness5/5

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

The description is extremely concise (five words) and front-loaded. Every word earns its place, and no unnecessary text exists.

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

Completeness2/5

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

Given the simplicity of the tool (no params, read-only), the description is minimal but lacks details about what constitutes an 'item' in Jenkins and the expected response format. It is adequate but not complete.

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?

With no parameters, the schema coverage is 100%, and the description adds little. Per rubric, 0 parameters yields a baseline of 4, which is appropriate here.

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

Purpose4/5

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

The description clearly states the action ('Get') and the resource ('all items from Jenkins'). It distinguishes from siblings like 'get_item' (singular) and 'query_items' (filtered), though it doesn't explicitly contrast them.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention that 'query_items' should be used for filtered results.

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

get_all_nodesB
Read-only

Get all nodes from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true; the description adds no additional behavioral context (e.g., pagination, rate limits, or output details).

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

Conciseness5/5

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

The description is a single, succinct sentence with no waste. Front-loaded with key verb and resource.

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

Completeness3/5

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

While the tool is simple, the description could provide more context about what 'nodes' means (e.g., Jenkins agents/slaves) to aid an agent unfamiliar with the domain. Sibling tools exist, so additional clarity is warranted.

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?

No parameters exist (100% schema coverage), so the baseline of 4 is appropriate. The description does not add parameter-specific information but is not required.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'all nodes', distinguishing it from sibling 'get_node' which retrieves a single node. However, it does not explicitly differentiate from other list tools or clarify scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_node'. The description lacks context for selection.

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

get_all_queue_itemsA
Read-only

Get all items in Jenkins queue.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The annotation already declares readOnlyHint=true, but the description adds no additional behavioral context (e.g., side effects, authentication requirements, rate limits). It merely restates the function without extra insight.

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

Conciseness5/5

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

A single, direct sentence with no unnecessary words. It is appropriately concise and front-loaded.

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

Completeness3/5

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

For a simple parameterless read-only tool with annotations, the description is minimally complete. However, it lacks detail on return format, behavior when queue is empty, or potential volume of items.

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?

No parameters exist, and schema coverage is 100%. The baseline is 4 for zero parameters, and the description adds no parameter information since none are needed.

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?

The description states 'Get all items in Jenkins queue' with a clear verb and resource. It implicitly distinguishes from sibling 'get_queue_item' (singular) by its name, making purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_queue_item' for a single item. The description does not provide context for usage.

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

get_buildC
Read-only

Get specific build info from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
numberNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the description's 'Get' verb aligns. However, the description adds no further behavioral context, such as what 'build info' includes or error handling.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it sacrifices crucial information. It could be restructured to include more details without adding length.

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

Completeness2/5

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

Given the presence of many sibling tools and no output schema, the description is insufficient. It lacks details on what constitutes 'build info' and how it differs from other get_* tools.

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

Parameters1/5

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

Schema coverage is 0%, and the description does not explain the parameters ('fullname' and 'number'), leaving the agent without guidance on how to populate them correctly.

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

Purpose4/5

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

The description clearly states the tool retrieves specific build info from Jenkins, using a specific verb and resource. However, it does not differentiate from siblings like 'get_build_console_chunk' or 'get_build_test_report', which are more specific.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get_build_console_chunk' or 'get_build_test_report'. There is no mention of prerequisites or context.

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

get_build_console_chunkB
Read-only

Read incremental console output from a specific byte offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
startYes
numberNo
max_bytesNo

TDQS

B3.2/5.0
Behavior3/5

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

The description adds 'incremental' and 'from a specific byte offset' beyond the readOnlyHint annotation, but does not elaborate on behavior such as what happens when the offset is beyond the output length or how number/max_bytes affect the response. The annotation already marks it as read-only, so the added context is modest.

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?

The description is one sentence, front-loaded with the key action. It is concise, but could include more detail without significant bloat. Every word earns its place.

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

Completeness2/5

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

Given four parameters and no output schema, the description is too sparse. It does not explain return values, behavior of optional parameters, or constraints like what 'incremental' means in practice. Sibling tools are not differentiated.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate but only implicitly hints at 'start' via 'byte offset.' It does not explain 'fullname,' 'number,' or 'max_bytes,' leaving the agent with minimal understanding of how to invoke the tool correctly.

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?

The description clearly states 'Read incremental console output from a specific byte offset,' specifying the action (read), resource (incremental console output), and the unique aspect (byte offset). It distinguishes from siblings like get_build_console_tail (which likely provides tail) and search_build_console (which searches for patterns).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_build_console_tail or search_build_console. The description lacks any when-to-use or when-not-to-use context.

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

get_build_console_tailC
Read-only

Get the tail of a specific build console output.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
numberNo
max_bytesNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the tool is a safe read operation. The description adds that it returns the 'tail' of the console output, implying it returns only the end portion, but does not explain the behavior of the max_bytes parameter or how the output is truncated.

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

Conciseness3/5

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

The description is a single sentence with no redundant words, but it is too brief to be fully informative. It earns its place but lacks detail.

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

Completeness2/5

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

Given the tool has three parameters, no output schema, and multiple sibling tools, the description is incomplete. It does not clarify parameter semantics, output format, or how this tool differs from similar ones like get_build_console_chunk.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters (fullname, number, max_bytes). No meaning is added beyond the schema's type constraints.

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

Purpose4/5

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

The description states 'Get the tail of a specific build console output,' which is a specific verb and resource. It distinguishes from siblings like get_build_console_chunk (gets a chunk) and search_build_console (searches), so the purpose is clear, though slightly vague on what 'tail' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_build_console_chunk or search_build_console. No context on prerequisites or exclusions is provided.

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

get_build_failure_excerptB
Read-only

Get focused failure excerpts and failing tests via incremental log scanning.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
numberNo
max_bytesNo
max_excerptsNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true. The description adds 'incremental log scanning' which suggests behavior but does not detail side effects, performance, or prerequisites. For a read-only tool, this adds modest value beyond annotations.

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

Conciseness5/5

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

Single sentence that is direct and free of fluff. Every word adds value; no redundancy. Ideal length for a utility tool.

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

Completeness2/5

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

With 4 parameters, no output schema, and no parameter descriptions, the description is incomplete. It fails to explain what fields are returned, how parameters interact, or the nature of the output. An agent cannot reliably use this tool based solely on the description.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description provides no explanation for any of the 4 parameters (fullname, number, max_bytes, max_excerpts). The agent must infer meaning from names alone, which is insufficient for correct invocation.

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

Purpose4/5

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

The description clearly states the action (get) and resource (focused failure excerpts and failing tests) with a method (incremental log scanning). It distinguishes from siblings like get_build_console_chunk and get_build_test_report, though 'failure excerpts' could be more precise.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The description implies use for fetching failure details from logs, but does not differentiate from siblings like search_build_console or get_build_console_tail. An agent would lack context for tool selection.

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

get_build_scriptsC
Read-only

Get scripts used in a specific build.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
numberNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations indicate read-only (readOnlyHint: true), which is consistent with the description. However, the description adds no behavioral details beyond that (e.g., does it return file paths? contents?). With annotations present, the description provides minimal added value.

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?

The description is a single concise sentence that front-loads the purpose. No wasted words, but it might be slightly too terse.

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

Completeness2/5

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

Given no output schema and minimal input schema, the description is insufficient. It doesn't indicate the return format (e.g., list of script names, objects) or any limitations. The tool appears simple but lacks necessary completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain parameters. It only says 'Get scripts used in a specific build' without clarifying what 'fullname' or 'number' represent. The parameter names are somewhat self-explanatory but the description fails to add meaningful semantics.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'scripts used in a specific build', distinguishing it from sibling tools like get_build or get_build_console_chunk. However, it could be more specific about what scripts are (e.g., shell commands?).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_build, get_build_console_chunk). The description simply states the function without context.

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

get_build_test_reportC
Read-only

Get test report of a specific build.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
numberNo

TDQS

C2.7/5.0
Behavior3/5

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

The annotation 'readOnlyHint: true' already indicates a safe read operation, so the description aligns with it. However, the description adds no additional behavioral details, such as what happens if the build has no test report or if the build does not exist.

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?

The description is very short, consisting of a single sentence with no wasted words. It is front-loaded but could be criticized for being too minimal, though it does not contain redundancies.

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

Completeness2/5

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

Given the lack of an output schema, the description should clarify what the test report contains or its structure. It does not, nor does it explain the meaning of the input parameters, making the tool's usage unclear.

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

Parameters1/5

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

Schema coverage is 0%, meaning the input schema provides no descriptions for parameters. The description also fails to explain what 'fullname' or 'number' represent, leaving the agent to guess their meaning and proper usage.

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

Purpose4/5

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

The description clearly states it retrieves a test report for a specific build, using the verb 'Get' and specifying the resource. However, it does not differentiate this tool from sibling tools like 'get_build' or 'get_build_scripts', which may have overlapping purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, such as whether the build must exist or how the test report is generated, and does not mention when not to use this tool.

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

get_itemB
Read-only

Get specific item from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already indicate read-only. Description adds minimal context: returns a specific item. No mention of error behavior or authentication, but acceptable given annotation coverage.

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?

Single sentence, no wasted words. Could be more informative while remaining concise.

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

Completeness2/5

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

Simple tool with one parameter and no output schema, but description omits key details like return format, error handling, and exact meaning of 'item'. Incomplete for effective use.

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

Parameters1/5

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

0% schema description coverage. Description does not explain the 'fullname' parameter (e.g., format, examples, or what it represents). Fails to compensate for lack of schema descriptions.

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?

Clear verb ('Get') and resource ('specific item from Jenkins'). Distinguishes from siblings like 'get_all_items' and 'query_items' by specifying 'specific'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings (e.g., get_all_items, query_items). Only implied usage is retrieving a single item by identifier.

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

get_item_configC
Read-only

Get specific item config from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes

TDQS

C2.4/5.0
Behavior2/5

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

The annotation 'readOnlyHint: true' already indicates a safe read operation. The description adds no additional behavioral context (e.g., what happens if the item does not exist, or whether full configuration is returned). Minimal value beyond the annotation.

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

Conciseness3/5

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

The description is a single sentence, which is concise. However, it is too brief and omits critical details, sacrificing completeness for brevity.

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

Completeness2/5

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

With one undocumented parameter, no output schema, and no explanation of the config format, the description is insufficient for reliable tool selection and usage. The agent may fail due to missing parameter semantics.

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

Parameters1/5

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

The single required parameter 'fullname' has 0% schema description coverage and is not explained in the tool description. The agent has no information about its format (e.g., full path, job name) or expected syntax, making invocation error-prone.

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

Purpose4/5

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

The description clearly states the verb 'Get', the resource 'item config', and the source 'Jenkins'. It is specific enough to distinguish from siblings like 'get_item' (which likely returns item details) and 'get_all_items' (list all).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites or conditions, leaving the agent to infer context from the name alone.

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

get_nodeB
Read-only

Get a specific node from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

B3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, so the agent already knows this is a safe read operation. The description adds no extra behavioral context beyond what annotations provide (e.g., no mention of error handling or response format). Since the annotation covers the key behavioral trait, the description is adequate but does not add value.

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?

The description is a single concise sentence with no wasted words. It is front-loaded with the core action. However, it could be slightly expanded to include parameter context without sacrificing conciseness.

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

Completeness2/5

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

Given the tool's simplicity (one parameter, no output schema), the description is very minimal. It does not explain the return value, possible errors (e.g., node not found), or any prerequisites. The agent is left guessing about the output, which is incomplete for a tool with no output schema.

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

Parameters1/5

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

Schema coverage is 0%, and the description fails to explain the 'name' parameter. The description says 'Get a specific node from Jenkins' but does not clarify that the parameter is the node name or identifier. The agent gets no added meaning from the description beyond the bare schema.

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?

The description 'Get a specific node from Jenkins' clearly states the action (Get) and resource (a specific node from Jenkins). It distinguishes from siblings like get_all_nodes (which retrieves all nodes) and get_node_config (which gets configuration). The parameter 'name' implies retrieval by identifier, making the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_all_nodes or get_node_config. With many sibling tools, the agent receives no direction on choosing this tool over others, such as when a single node is needed by name versus listing all nodes or retrieving configuration.

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

get_node_configC
Read-only

Get node config from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.9/5.0
Behavior3/5

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

The annotation 'readOnlyHint: true' already indicates safe read-only behavior, so the description's disclosure of 'Get node config' is consistent but adds no behavioral depth beyond the annotation. No mention of response size, permissions, or error handling.

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?

The description is a single concise sentence. No wasted words, though it could be expanded slightly without losing efficiency.

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

Completeness2/5

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

For a simple tool with one parameter, the description is minimal. Lacks explanation of return format or content (e.g., configuration as XML/text). Better suited for ambiguous use cases where more detail would help.

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

Parameters2/5

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

With 0% schema description coverage, the description must explain parameters but fails to do so. The single required parameter 'name' is not explained beyond the schema; the description should specify it's the Jenkins node name.

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

Purpose4/5

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

The description clearly states the action 'Get node config' from 'Jenkins', matching the tool name. It is distinct from siblings like 'get_node' (likely returns node info) and 'set_node_config' (write operation), but could further specify what 'config' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. For instance, it doesn't mention using 'get_node' for node status or 'set_node_config' for modifications, leaving the agent to infer without context.

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

get_queue_itemA
Read-only

Get a specific item in Jenkins queue by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the description's 'Get' is consistent. No additional behavioral details (e.g., error handling, return format) are provided, which is adequate given annotations.

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

Conciseness5/5

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

The description is a single sentence of 9 words, perfectly concise and to the point.

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

Completeness3/5

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

For a simple read-only tool with one parameter and no output schema, the description is minimally sufficient. It could mention what is returned (e.g., queue item details) but is not egregiously incomplete.

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

Parameters3/5

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

The parameter 'id' has no description in the schema. The description adds that it is used to identify the queue item, but does not elaborate on format or constraints beyond what the schema type provides.

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?

The description clearly states the action ('Get'), the resource ('a specific item in Jenkins queue'), and the method ('by id'). This distinguishes it from sibling tools like get_all_queue_items or cancel_queue_item.

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

Usage Guidelines4/5

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

The description implies use when you have a specific queue item id, but does not explicitly mention when not to use it or suggest alternatives. However, the narrow scope makes it clear enough.

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

get_running_buildsA
Read-only

Get all running builds from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

The description is consistent with the readOnlyHint annotation and doesn't contradict it. However, it adds no behavioral detail beyond the annotation (e.g., whether it returns a list, or performance implications). Annotations already cover the read-only nature, so the description adds minimal value here.

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

Conciseness5/5

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

A single sentence with no wasted words. It is front-loaded and easy to parse.

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

Completeness4/5

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

For a simple zero-parameter tool, the description is sufficient to convey its purpose. However, without an output schema, a brief note on return format (e.g., list of build IDs) would improve completeness.

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?

The tool has no parameters, and the schema coverage is 100%. The description doesn't need to add parameter info, so a baseline of 4 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get', the resource 'all running builds', and the source 'from Jenkins'. However, it does not explicitly differentiate from sibling tools like 'get_build' or 'stop_build', which slightly reduces specificity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'get_build' for a specific build). The description lacks context for an agent to decide between siblings.

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

query_itemsD
Read-only

Query items from Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
class_patternNo
fullname_patternNo
color_patternNo

TDQS

D1.8/5.0
Behavior2/5

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

The annotations already indicate readOnlyHint=true, so the tool is read-only. However, the description adds no further behavioral details, such as whether it returns a list, how patterns are matched, or any limitations.

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

Conciseness2/5

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

Although the description is short (one sentence), it is underspecified rather than concise. It lacks structure and fails to provide meaningful information beyond the tool's name.

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

Completeness1/5

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

Given the tool has 3 optional parameters, no output schema, and many sibling tools, the description is grossly incomplete. It does not clarify what items are queried, how patterns work, or when this tool is appropriate.

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

Parameters1/5

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

The schema has zero description coverage for its three parameters (class_pattern, fullname_pattern, color_pattern). The description does not compensate by explaining their meaning, format (e.g., glob, regex), or examples. This leaves agents without essential usage information.

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

Purpose2/5

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

The description 'Query items from Jenkins' is vague; it does not specify what 'items' refers to (jobs, views, etc.) and does not distinguish itself from siblings like get_all_items or get_item. The schema parameters hint at filtering by patterns, but the description lacks specifics.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as get_all_items or get_item. There is no mention of context, prerequisites, or exclusions.

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

search_build_consoleC
Read-only

Search build console output incrementally and return matching excerpts.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
queryYes
numberNo
max_bytesNo
context_linesNo
max_matchesNo
case_sensitiveNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations declare readOnlyHint: true, so safety is implied. Description adds 'incrementally' but does not elaborate on pagination, effect on system, or auth requirements. Minimal value beyond annotations.

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

Conciseness3/5

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

Single sentence is concise but at the expense of missing crucial details. Could be expanded to include parameter hints or behavior without being overly long.

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

Completeness1/5

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

Given 7 parameters with no schema descriptions and no output schema, the description is severely incomplete. It does not explain return format, pagination, or parameter constraints, making it nearly unusable without prior knowledge.

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

Parameters1/5

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

Schema description coverage is 0%, yet description provides no explanations for any of the 7 parameters (e.g., fullname, query, max_bytes). Agents would have to infer or guess parameter meanings, severely hindering correct invocation.

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

Purpose4/5

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

Description clearly states verb 'Search' and resource 'build console output' with 'matching excerpts'. It distinguishes from siblings like 'get_build_console_chunk' and 'get_build_failure_excerpt' by indicating it searches, but 'incrementally' is somewhat vague.

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

Usage Guidelines3/5

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

Implied usage for searching text in console output. No explicit when-to-use or when-not-to-use compared to alternatives like fetching full chunks or tailing. Context signals from sibling names provide some differentiation but description lacks direct guidance.

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

set_item_configC

Set specific item config in Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
config_xmlYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false, confirming this is a write operation. The description adds 'Set', which aligns. However, it doesn't disclose additional behavioral traits like idempotency, error handling for missing items, or side effects beyond the annotation.

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

Conciseness3/5

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

The description is a single short sentence, but it omits necessary details. Conciseness is good, but at the expense of clarity and completeness.

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

Completeness2/5

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

Given the absence of output schema, no parameter descriptions, and only two params, the description should explain what 'set config' entails (e.g., replaces configuration, requires XML). It does not, leaving informational gaps.

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

Parameters1/5

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

Schema has 0% description coverage and the description provides no explanation of the two parameters (fullname, config_xml). The agent must infer their meanings from names alone; e.g., config_xml might be XML, but format, required structure, or relationship to fullname is unstated.

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

Purpose4/5

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

The description states 'Set specific item config in Jenkins', which clearly indicates the verb (Set) and resource (item config). It implicitly distinguishes from siblings like 'get_item_config' (get vs set), but lacks explicit differentiation or scope details like 'replaces entire XML config'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., get_item_config for reading, build_item for building). No prerequisites, caveats, or when-not-to-use advice provided.

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

set_node_configC

Set specific node config in Jenkins.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
config_xmlYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations indicate a write operation (readOnlyHint=false), and the description confirms mutation with 'set'. However, no details about side effects, required permissions, error outcomes, or config replacement behavior are disclosed.

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

Conciseness3/5

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

The description is extremely concise at 6 words, which is appropriate for a simple tool but lacks necessary detail. It is front-loaded but too sparse.

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

Completeness2/5

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

With no output schema and minimal annotations, the description should cover effect, return values, and error handling. It fails to do so, leaving gaps for a 2-parameter write operation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain parameters. It only names 'name' and 'config_xml' without clarifying their types, formats, or constraints (e.g., what XML schema is expected).

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

Purpose4/5

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

The description clearly states the action ('set') and the resource ('node config in Jenkins'), distinguishing it from sibling tools like get_node_config and set_item_config. However, it lacks specificity about the config scope (e.g., global vs. per-node).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., set_item_config). No prerequisites or context provided, leaving the agent with no decision support.

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

stop_buildC

Stop a specific build.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullnameYes
numberYes

TDQS

C2.5/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false, consistent with a mutation. However, the description does not disclose side effects, reversibility, or what happens to the build state beyond 'stop'.

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

Conciseness2/5

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

Extremely short (3 words) but under-specified; conciseness is not valuable when it omits critical information.

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

Completeness1/5

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

No output schema and no behavioral details; the description fails to cover return values, error handling, or the overall effect of the tool.

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

Parameters1/5

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

Schema coverage is 0%, and the description provides no explanation for parameters 'fullname' and 'number', leaving their meaning and format unclear.

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?

The description clearly states the verb (Stop) and the resource (a specific build), which is distinct from sibling tools like get_build or cancel_queue_item.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor any prerequisites or conditions for stopping a build.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 22 tool updatesv0.2.1
    • First observedbuild_item
    • First observedcancel_queue_item
    • First observedget_all_items
    • First observedget_all_nodes
    • First observedget_all_queue_items
    • First observedget_build
    • First observedget_build_console_chunk
    • First observedget_build_console_tail
    • First observedget_build_failure_excerpt
    • First observedget_build_scripts
    • First observedget_build_test_report
    • First observedget_item
    • First observedget_item_config
    • First observedget_node
    • First observedget_node_config
    • First observedget_queue_item
    • First observedget_running_builds
    • First observedquery_items
    • First observedsearch_build_console
    • First observedset_item_config
    • First observedset_node_config
    • First observedstop_build

TDQS

B3/5.0

Scored across 22 tools

Disambiguation5/5

Each tool targets a distinct aspect of Jenkins (builds, queue, nodes, items, configs, console output). There is no overlap; even similar operations like get_build_console_chunk and get_build_console_tail are well-differentiated.

Naming Consistency5/5

All tools use consistent snake_case verb_noun naming (e.g., get_build, cancel_queue_item, set_item_config). No mixing of styles or abbreviations.

Tool Count4/5

22 tools is slightly high for a single server, but Jenkins is a complex system with many operations. The count is justified and not excessive, though it could be trimmed by combining some getters.

Completeness3/5

The tool set covers many operations (build, queue, nodes, configs, console, test reports) but lacks item creation/deletion and node creation/deletion. There are notable gaps in managing the lifecycle of items and nodes.

Maintenance

ActivityInactive
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers