Skip to main content
Glama

Read a software choice

read_choice
Read-onlyIdempotent

Public read: capabilities discovers IDs and context vocabulary; candidates finds IDs for a priority; compare compares 2–3 IDs; specification reads one dossier. Same operation/input with representation detail, transport.resume and reference reads a snapshot field or page. On 409 restart summary. No account or writes. Sources, unknowns and dated limits remain explicit. Read the single JSON content.text Outcome (no structuredContent). A compact capabilities index keeps every ID, label and value_type; read its detail.field for definition, enum_values, units and scope before constructing a priority. Candidate priority operators by discovered value_type: boolean equals true only; quantity (integer) or amount ({minor,currency,tax_basis}) equals, at_least, at_most; set equals, or contains with a nonempty array; enum equals a member of enum_values. Text is not a candidate priority. Use the request schema for required keys and vocabularies for values; comparison_rule does not define priority operators or imply superiority.

Input Schema

NameRequiredDescriptionDefault
inputNo
resumeNo
operationYes
referenceNo
representationNosummary

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent and closed-world, but the description adds real value beyond them: no account is required, a 409 requires restarting from the summary representation, resume/reference are only valid with representation=detail, and results come back as JSON in content.text with no structuredContent. It further commits to surfacing sources, unknowns and dated limits rather than silently dropping them. This is a meaningfully richer behavioral picture than the annotations alone.

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 operation enumeration is correctly front-loaded, and the priority-operator rules each earn their place. However, sentences are telegraphic and hard to parse ('Same operation/input with representation detail, transport.resume and reference reads a snapshot field or page'), and the mode descriptions, transport notes and predicate rules are not visually separated, so an agent must re-read to extract the dispatch logic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter multiplexed tool with nested objects and no output schema, the description covers the essentials: mode dispatch, the required priority construction rules, output channel and shape of the envelope, and conflict recovery. Gaps remain on what each operation actually returns (beyond 'dossier' or 'candidate IDs'), the limit/pagination behavior, and the cost_scenario structure, which an agent must infer from the schema alone.

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 0%, so the description carries the full burden, and it compensates best where risk is highest: it specifies valid priority operators per discovered value_type (boolean equals true only; quantity/amount equals, at_least, at_most; set equals or contains with a nonempty array; enum equals a member; text excluded). It also explains reference as a field/page snapshot read. It leaves context, criteria, cost_scenario (nine required fields) and the resume object shape undocumented, so compensation is partial rather than complete.

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 turns an opaque name (read_choice) into a concrete read tool and enumerates its four modes with specific verbs and objects: capabilities 'discovers IDs and context vocabulary', candidates 'finds IDs for a priority', compare compares 2-3 IDs, specification 'reads one dossier'. An agent can pick the right operation without opening the schema. It stops short of distinguishing this tool from overlapping siblings like compare_solutions, find_comparable_solutions, or get_solution.

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 an actual workflow with prerequisites: read the capabilities index, inspect its detail.field for definition, enum_values, units and scope, then construct a priority before calling candidates. It also states the negative constraint that text is not a valid candidate priority and that comparison_rule does not imply superiority. Missing is any statement of when to prefer this tool over the sibling read/compare 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