Skip to main content
Glama

Passage Data — cited environmental limits

Verify a claimed limit

verify_claim
Read-onlyIdempotent

Does a limit we hold say what a claim says? Give the claim as read from a sentence (an AI's answer, a report): parameter, value and unit, and the place, medium and statistic when the sentence gives them. The verdict: confirmed (a held row prints the same number, in that unit or one that converts exactly, under that statistic: quote its cite); contradicted (rows are held and none prints it: held_otherwise gives the number each prints, with its cite); not_held (a coded refused block naming every instrument searched and its edition: say that our sources hold no such row, never that the claim is false or that the place has no limit); not_comparable (rows held, none comparable with one number, each with its why). Equal is equal as exact decimals: a rounded number is another number. Each row's conditions ride with it, and a row printing another number under other conditions (another kind of facility, another hardness) may be why a claim is contradicted: say whose conditions are the claim's. Optionally give the sentence the claim came from: the answer says whether it prints the claim's number and unit. The sentence is never kept.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "parameter": "<parameter>",
      "value": "<value>",
      "unit": "<unit>"
    },
    "name": "verify_claim"
  }
}

Input Schema

NameRequiredDescriptionDefault
unitYesThe claim's unit: mg/L, µg/L (or ug/L, mg L-1), ng/L, mg/kg, µg/m³, pH ...
placeNoISO 3166 code of where the rule binds: a country (US, CA, DE, FR, IT), a state or province (US-OH, CA-QC), or EU. A place also searches every place above it: US-OH searches US-OH and US; DE searches DE and EU. Omit to search everywhere.
valueYesThe number the claim states (0.10). A decimal string is read too, with a point or one decimal comma (0,10).
mediumNoWhat the claimed limit governs: an effluent (water_discharge), the receiving water (surface_water), groundwater, drinking_water, soil, air.
sentenceNoOptional: the sentence the claim was read from. Read for the claim's number and unit, never kept.
parameterYesThe substance or measure the claim names (copper, ammonia, pH) or its CAS number.
statisticNoThe claim's statistic as a row code: monthly_avg (a monthly mean or average), thirty_day_avg (an average over 30 days, as a standard prints it), daily_max, daily_avg, weekly_avg, annual_avg, hourly_avg, four_day_avg, instant (a grab sample, at any time), composite, qualified_grab, ... An unknown code is refused with the list. Omit it and every row is set beside the claim.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / statistic / description
      Previous value: -"The claim's statistic as a row code: monthly_avg (a monthly mean or average), daily_max, daily_avg, weekly_avg, annual_avg, hourly_avg, four_day_avg, instant (a grab sample, at any time), composite, qualified_grab, ... An unknown code is refused with the list. Omit it and every row is set beside the claim."New value: +"The claim's statistic as a row code: monthly_avg (a monthly mean or average), thirty_day_avg (an average over 30 days, as a standard prints it), daily_max, daily_avg, weekly_avg, annual_avg, hourly_avg, four_day_avg, instant (a grab sample, at any time), composite, qualified_grab, ... An unknown code is refused with the list. Omit it and every row is set beside the claim."
  2. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, not open-world), and the description adds real behavioral context beyond them: the four verdict semantics, the coded `refused` block for not_held, refusal of unknown statistic codes with a list returned, exact-decimal equality, and the data-handling guarantee that the sentence "is never kept". That is a meaningful increment over the annotations.

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 purpose is front-loaded, but the prose is dense and idiosyncratic ("Each row's conditions ride with it... say whose conditions are the claim's"), requiring re-reading. The content largely earns its place given there is no output schema, yet the packing of four verdict explanations into one paragraph hurts scannability.

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?

With no output schema, the description carries the return-value burden and does so: it names each verdict, the accompanying fields (cite, held_otherwise, why, refused), and the sentence-echo behavior. For a 7-parameter but flat-schema tool this is nearly complete, missing only limits on result volume/pagination.

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?

Schema description coverage is 100%, so every parameter is already documented in the schema (including the omit-to-search-everywhere behavior for place and statistic). The description restates the required trio and the optional sentence but adds little per-parameter meaning the schema lacks; baseline 3 is appropriate.

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 opening question, "Does a limit we hold say what a claim says?", plus the named verdict set (confirmed/contradicted/not_held/not_comparable) states a specific verb+resource: comparing a claim against held limits. It is clearly a distinct operation, but it never names the close siblings (check_value, check_values, find_limits, check_dmr) to route the agent, so it stops short of 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?

It gives input-side guidance ("the place, medium and statistic when the sentence gives them"; omit place to search everywhere) and interpretation rules for not_held ("say that our sources hold no such row, never that the claim is false"). However there is no when-to-use-vs-alternatives guidance against the many sibling checker tools, leaving the routing decision to inference.

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.