Skip to main content
Glama

Get a Spec's structure

talonic_get_spec
Read-onlyIdempotent

Get a Spec's complete structure (schema, nodes, phases, fields, and version) to verify it is published and understand what a run will execute.

Instructions

Get one Spec's structure: identity and version state, the schema it materializes onto, nodes[] (the rail as authored, in editing order) and phases[] (the compiled execution plan, in run order — a validation checkpoint expands to one phase per gate, so the two lists differ on purpose), and fields[] (Spec field ↔ schema field).

USE WHEN: you need to explain what a run will do, confirm a Spec is published (version non-null) before talonic_run_spec, or map field names to keys. NOT FOR: listing Specs (talonic_list_specs) or starting a run (talonic_run_spec). ARGS: spec_id (UUID from talonic_list_specs); optional include_versions (adds versions[] — published versions newest first, each { version, content_hash, created_at, is_materialized }). RETURNS: the Spec object { id, name, description, schema_id, version, materialized_version, materialized_at, field_count, node_count, schema, nodes[], phases[], fields[], links } plus optional versions[].

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
spec_idYesSpec UUID (from talonic_list_specs).
include_versionsNoAlso fetch the published versions list (adds `versions[]`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.81

TDQS

A4.9/5.0
Behavior5/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 meaningful behavioral context beyond annotations: nodes[] is 'the rail as authored, in editing order' while phases[] is 'the compiled execution plan, in run order', with validation checkpoints expanding to one phase per gate, explaining why the lists differ. It also discloses that include_versions returns versions newest first with specific fields. This adds real value beyond the structured 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 longer than average but tightly organized with labeled sections: USE WHEN, NOT FOR, ARGS, RETURNS. Each section earns its place and the most important scoping information is front-loaded. No filler or repetition of obvious details.

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, so the RETURNS section carries the full burden of describing the response shape, and it does so exhaustively ('{ id, name, description, schema_id, version, materialized_version, materialized_at, field_count, node_count, schema, nodes[], phases[], fields[], links }' plus optional versions[]). Combined with the usage guidance and parameter details, nothing an agent needs to correctly call this tool is missing.

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 both parameters. The description nonetheless adds value: it specifies spec_id comes from talonic_list_specs and details exactly what include_versions adds ('published versions newest first, each { version, content_hash, created_at, is_materialized }'). This exceeds the schema's bare definitions, though the baseline is already solid.

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 a specific verb and resource ('Get one Spec's structure') and immediately clarifies scope: identity, version state, schema, nodes[], phases[], and fields[]. It actively distinguishes itself from siblings by naming talonic_list_specs and talonic_run_spec in the NOT FOR section. An agent can tell this apart from similarly named tools without inspecting their schemas.

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 gives explicit USE WHEN scenarios ('explain what a run will do', 'confirm a Spec is published before talonic_run_spec', 'map field names to keys') and explicit NOT FOR exclusions with named alternatives (talonic_list_specs, talonic_run_spec). This is exactly the when-to-use vs alternative guidance expected.

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