Skip to main content
Glama

get_pipeline_log

Read-only

Retrieve Azure DevOps pipeline run logs; without a log ID, fetch the last lines of every failed step to diagnose build failures.

Instructions

Log of a run. Without log_id, returns the last lines of every failed step. (log_id values come from get_pipeline_run.)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "build_id": "<build_id>"
    },
    "name": "get_pipeline_log"
  }
}

Input Schema

NameRequiredDescriptionDefault
log_idNo
projectNo
build_idYes
tail_linesNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds a genuinely non-obvious behavioral trait: with no log_id the tool returns the last lines of every failed step rather than a single log. It does not describe how tail_lines interacts with that default or what happens when a run has no failures.

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?

Two short sentences with the default behavior front-loaded and the log_id provenance tucked in a parenthetical; nothing is padded. The opening noun fragment 'Log of a run' is slightly clipped, costing a little clarity at the most important position.

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?

An output schema exists, so return values need not be explained, and the failed-step default is covered. However, for a four-parameter tool with zero schema descriptions, the undefined tail_lines and project parameters leave real gaps an agent must guess at before calling.

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% across four parameters, so the description carries the full burden and only partially discharges it. It explains log_id (optional, sourced from get_pipeline_run) and implies the omitted case, but build_id, project, and especially tail_lines (default 150) get no meaning at all — an agent cannot tell whether tail_lines applies per step or overall.

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 names a specific resource (the log of a pipeline run) and immediately states the default behavior, which distinguishes it from get_pipeline_run. It is not a strong verb phrase ('Log of a run' is a noun fragment), so an agent infers 'fetch' rather than being told, but the resource is unambiguous.

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?

It gives a concrete usage rule: omit log_id to get the tail of every failed step, and it routes the agent to get_pipeline_run for log_id values. It does not state when not to use this tool or when to prefer a full log over the failed-step default, so it stops short of full when/when-not guidance.

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