Skip to main content
Glama

Read a Spec run's rows

talonic_get_run_results
Read-onlyIdempotent

Retrieve structured rows from a completed Spec run, with one row per document and column definitions, to access extracted field values.

Instructions

Read a Spec run's structured rows — one row per document with the Spec's fields as clean values (held/pending-review cells serialize null), plus the column definitions.

USE WHEN: talonic_get_run reports completed (partial rows are also readable while processing). NOT FOR: progress (talonic_get_run) or per-field provenance of a single value (include: ['provenance'] here, or talonic_field_values). ARGS: exactly one of pipeline_id (run_kind 'pipeline', optionally with the envelope's run_id to scope to that submission) or run_id alone (run_kind 'run'); optional document_id (one document), include (['cells','provenance'] — heavier payload), limit (1–200, default 50), cursor. RETURNS: { run_kind, status, columns[] of { field_key, display_name, data_type }, data[] of { document_id, filename, record_id, status ('complete'|'partial'|'error'|'processing'), completed_at, fields { field_key: value }, cells?, provenance? }, pagination, pending_review_count, links }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (default 50).
cursorNoOpaque cursor from pagination.next_cursor.
run_idNoThe RunEnvelope's run_id. Alone: a run_kind 'run' submission (/v1/run). With pipeline_id: scopes the pipeline's rows to that submission.
includeNoExtra per-field detail; heavier payload.
document_idNoRestrict to one document.
pipeline_idNoThe RunEnvelope's pipeline_id (run_kind 'pipeline'); rows come from /v1/pipelines/{id}/results.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.81

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: partial rows are readable while processing, held/pending-review cells serialize null, and the include parameter makes the payload heavier. It doesn't describe pagination behavior in depth, but the RETURNS section covers the response shape.

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 dense but well-structured with clear USE WHEN / NOT FOR / ARGS / RETURNS sections. Every sentence earns its place: the first sentence defines the resource, the second gives the trigger condition, the third excludes alternatives, the fourth explains argument selection, and the fifth documents the return shape. No filler.

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?

For a read-only, idempotent tool with 100% schema coverage and a detailed RETURNS section, the description is complete. An agent knows exactly when to call it, which arguments to use, what the response looks like, and how it differs from siblings. The absence of an output schema is compensated by the explicit RETURNS block.

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 description coverage is 100%, so the schema already documents all 6 parameters. The description adds meaning beyond the schema by explaining the run_kind distinction (pipeline_id for run_kind 'pipeline' vs run_id alone for run_kind 'run'), the scoping relationship between run_id and pipeline_id, and the semantic effect of include (heavier payload). This goes beyond the schema's per-parameter 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?

The description opens with a specific verb and resource: 'Read a Spec run's structured rows — one row per document with the Spec's fields as clean values... plus the column definitions.' This clearly distinguishes it from siblings like talonic_get_run (progress) and talonic_field_values (per-field provenance).

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?

The description explicitly states when to use it ('USE WHEN: talonic_get_run reports completed...'), what it is not for ('NOT FOR: progress... or per-field provenance...'), and names the alternative tools. It also explains the ARGS selection logic (pipeline_id vs run_id) and optional include values.

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