Skip to main content
Glama

Check a report paragraph

check_paragraph
Read-onlyIdempotent

Verify a draft report paragraph against lab data and guideline values. Flags inconsistent, untraced, or ambiguous claims about numbers, trends, guideline compliance, and detection for your review.

Instructions

Check a draft report paragraph against the lab data and guideline values, without any language model.

It finds (a) every number with a unit (ug/L, µg/L, ng/L, mg/L) and traces it to a lab row, a detection limit, a computed sum or difference, or a guideline table, or flags it as untraced; (b) claims of change between two dates (increased, fell, lower than, stable) and tests them against the data; (c) claims that a result is above, below or within the guideline, evaluated under each rule; (d) claims that an analyte was or was not detected. Negation such as 'did not increase' is handled.

Every checked item has a status: consistent, inconsistent, untraced, depends_on_rule or needs_judgement. Anything it could not read confidently is listed under not_checked with the reason. Show the person every item that is not 'consistent' and every not_checked item; the person decides what to change.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesThe draft report paragraph to check, in plain English.
wellYesMonitoring well id, for example 'MB2'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
wellYes
notesYes
scopeYesWhat kinds of statement this checker covers.
checkedYes
summaryYes
sentencesYes
not_checkedYes
needs_attentionYesChecked items whose status is not 'consistent'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description adds value by explaining the tool is deterministic ('without any language model'), by describing the statuses it produces, and by noting that unclear items are reported under not_checked with reasons. This goes well beyond the annotation metadata and gives the agent a clear picture of behavior and output.

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?

The description is longer than average, but it is organized with a clear opening sentence and a bulleted list of the main check categoriesholistic. Each sentence earns its place by explaining a distinct aspect: what the tool checks, how statuses are assigned, and how the output should be handled. It could be slightly trimmed, but the structure aids comprehension.

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 tool with only two required parameters and an output schema, the description covers all essential context: the types of checks performed, the statuses returned, the handling of unclear items, and the instruction to surface non-consistent results to the user. The presence of an output schema means the return values do not need to be explained, and the description is complete enough for correct invocation.

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?

The schema already describes both parameters fully, including that text is the draft report paragraph in plain English and well is a monitoring well id. With schema description coverage at 100%, the description does not need to add much; it does reinforce the purpose of the text parameter in the opening sentence, but no additional parameter-level detail is necessary.

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: 'Check a draft report paragraph against the lab data and guideline values,' which clearly identifies the tool's function. It further differentiates the tool by stating it operates 'without any language model' and enumerates the categories of checks performed, making it easy to distinguish from sibling tools like fill_numbers or lookup_limit.

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?

The description gives a clear usage context: checking draft report paragraphs against lab data and guidelines, with a deterministic process and an explicit instruction to show non-consistent and not_checked items to a human. It does not explicitly name alternatives or state when not to use this tool, but the context is strong enough for an agent to infer when it is appropriate.

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