Skip to main content
Glama

devtune_get_agent_picks_run_trace

Read-onlyIdempotent

Read one page of a project-owned Agent Picks run's console trace: redacted prompt, setup, narration, tool calls and results, file edits and errors, ordered by attempt then seq. An attempt's lines are available once that attempt finishes; a running attempt has none yet, and an attempt whose transcript could not be read has one error line, Trace unavailable for this attempt. availability is stored, pending (none yet: the run is running or finished within the last hour) or not_retained (none expected: it finished over an hour ago, as every run before traces were kept did), and attempts marks each attempt stored or not. When present, attempts.recovery is pending while trace recovery continues, stored after it completes, or unavailable after it gives up. Recovery can continue beyond the initial hour. A model_call item follows the first line of its attempt carrying its provider response id, else a tool-call id, with its token counts. Calls that match no line are in unplaced with a reason (failed, no_ids, pending or unmatched), 200 at a time: the first page (cursor 0, 0) carries the first 200, and passing unplaced_pagination.after_id as after_unplaced returns the next 200; Codex reports no ids, so its calls are never placed. totals counts every proxy call. Each line carries preview, its first 65,536 characters, with preview_truncated when the stored text is longer; to read one line's whole stored text (up to 1 MiB, detail.truncated beyond), pass after_attempt, after_seq one before the line, limit 1 and full true. Pass pagination.after_attempt and after_seq back until has_more is false. limit defaults to 50, maximum 100; a page also stops after 256 KiB of lines. Requires Agent Picks and visibility.read. Cannot change a 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": {
      "run_id": "<run_id>"
    },
    "name": "devtune_get_agent_picks_run_trace"
  }
}

Input Schema

NameRequiredDescriptionDefault
fullNo
limitNo
run_idYes
after_seqNo
after_attemptNo
after_unplacedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent safety, and the description goes well beyond them: availability states (stored/pending/not_retained), the one-hour retention window, recovery semantics, per-attempt availability rules, truncation at 65,536 chars and 1 MiB, the 256 KiB page cap, and required permissions. This is unusually rich behavioral context.

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 core purpose is front-loaded, but the body is a dense run-on of custom vocabulary (unplaced, recovery, not_retained, preview_truncated) with little structural separation. Nearly every clause carries information, yet parsing it requires repeated reading.

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, yet the description enumerates the return shape thoroughly: line contents, availability/attempts objects, unplaced and totals, model_call items, and preview truncation. An agent can call this correctly and interpret the response without additional documentation.

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 carry the burden, and it largely does: it explains limit (default 50, max 100), full, after_attempt, after_seq, after_unplaced, and the unplaced_pagination.after_id cursor. It does not explain the run_id parameter or the exact page-stop interplay beyond the byte cap, leaving a minor gap.

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?

States a specific verb and resource: 'Read one page of a project-owned Agent Picks run's console trace', followed by an enumeration of the content types it returns (prompt, setup, narration, tool calls, file edits, errors). This clearly separates it from siblings like get_agent_picks_run or list_agent_picks_runs, though it never names an alternative explicitly.

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?

Gives concrete operational guidance: how to advance pages ('Pass pagination.after_attempt and after_seq back until has_more is false'), how to read a full line (limit 1, full true), and a scope limit ('Cannot change a run'). What it lacks is a direct statement of when to prefer this over the run-level sibling tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources