Skip to main content
Glama

find_findings

Find cases with a specific measured finding and get the axial slice that best displays it, filtered by patient and study criteria.

Instructions

Cases showing a measured finding (see list_findings), with the axial slice that best shows it. min_value defaults to the finding's threshold. Render a result with render_image(case_id, 'axial', slice, labels=[...structures_to_label]).

Input Schema

NameRequiredDescriptionDefault
limitNo
filtersNo
findingYes
max_valueNo
min_valueNo
most_severe_firstNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose one real behavior beyond structured data -- min_value defaults to the finding's threshold -- and clarifies the return shape (cases plus a chosen slice). It says nothing about sorting (most_severe_first defaults true), the default limit, or what filters do to results, so meaningful behavioral gaps remain.

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?

Three short sentences, purpose front-loaded, no padding. Minor cost: the render_image call snippet consumes a third of the text for something that is arguably another tool's job.

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

Completeness2/5

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

For a tool with a 15-field nested filter object, no output schema, and no annotations, the description is far too thin -- an agent cannot know which filters are safe to omit or what the returned slice field is named. The one useful note (min_value default) does not cover the filter surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 6 parameters (plus a 15-field nested CaseFilters object), so the description must compensate. It explains only min_value; finding, max_value, limit, most_severe_first, and the entire filters object are left with bare titles like 'Max Value' and 'Filter'.

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 resource ('cases showing a measured finding') and what comes back ('the axial slice that best shows it'), which is concrete enough to distinguish it from list_findings, which it explicitly points to. It does not distinguish itself from find_slices, the closest-sounding sibling, so a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical '(see list_findings)' implies you must look up valid finding names first, and the last sentence chains results into render_image, which is useful workflow guidance. However, there is no statement of when to use this versus find_slices or slice_contents, and no exclusions.

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