Skip to main content
Glama
BijectiveLabs

trading-research-agents

Official

Read a run report

read_run_report
Read-only

Inspect a replay, shadow, or canary run report to see what it did and how it ended, including run.json details and closed round-trip count. Read-only.

Instructions

Read one run's report: what a replay, shadow or canary run did, and how it ended.

Returns run.json as written (label, instrument, strategy, prints, bars, intents, refusals,
fills, net bps, what stopped it) and the count of closed round trips in its trades.jsonl. Use
`list_runs` to find the run directory first. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_dirYesa run's directory, the one holding run.json

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description reinforces this with 'Read-only.' It adds value beyond annotations by disclosing the return shape: run.json as written (label, instrument, strategy, prints, bars, intents, refusals, fills, net bps, stopping condition) plus a count of closed round trips in trades.jsonl. It does not mention cost, latency, or truncation behavior for large runs, so it is not fully exhaustive.

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 with the core action in the first clause, then a compact enumeration of returned data. The trailing 'Read-only.' is slightly redundant given the readOnlyHint annotation, but it is one word and does no harm.

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?

An output schema exists, so return values need not be explained, yet the description summarizes them usefully, and it covers the one required input and its acquisition path. For a single-parameter read tool, nothing an agent needs in order to call it correctly is missing.

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?

Schema description coverage is 100% and the single parameter is already documented as 'a run's directory, the one holding run.json'. The description's 'Use list_runs to find the run directory first' reinforces how to obtain the value but adds no format or validation semantics beyond the schema. Baseline 3 applies.

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?

States a specific verb and resource (read one run's report) and immediately scopes what a 'run' means (replay, shadow, canary) plus what the report covers (what it did and how it ended). It also names a sibling tool (list_runs), so an agent can distinguish it from the other ledger/run tools without opening schemas.

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?

Explicitly directs the agent to call `list_runs` first to obtain the run directory, which is the key prerequisite for this tool. It does not state when-not to use it or contrast with the remaining siblings (e.g., show_ledger, validate_trades), so it stops just short of full routing guidance.

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