Skip to main content
Glama

Passage Data — cited environmental limits

Find cited limits

find_limits
Read-onlyIdempotent

What is the limit for a substance in a place (an effluent, a river, drinking water, soil), as the regulation itself prints it? Numeric limits and guidelines for one substance or measure, read from the regulations themselves (US federal effluent guidelines, the rules of 31 states and DC, Canadian federal and all 13 provinces' and territories' rules, German, French, Italian and EU instruments), drinking-water standards (US 40 CFR 141 and 143, EU Directive 2020/2184, Quebec, PFAS in Germany, France, Italy and Canada) and soil and groundwater screening values (EPA RSLs, California ESLs, Ontario, Quebec, British Columbia, CCME, Italy, German and Italian PFAS). Each row gives value, unit, statistic, the conditions it applies under, and a cite block (instrument, edition, section or page, the quoted text, source URL and sha256). When nothing is held the answer is a refused block naming every instrument searched: say that our sources hold no such row, never that the law has no limit. For a US state, permits_over gives how many of its NPDES permits went over a limit on it in EPA's last 12 months, with the list_permits address that lists them.

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>"
    },
    "name": "find_limits"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNolimit = binding on a discharger; guideline = a quality criterion or objective.
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.
mediumNoWhat the limit governs: an effluent (water_discharge), the receiving water (surface_water), groundwater, drinking water as supplied (drinking_water; EPA's tap-water screening levels too), soil, air.
offsetNoWhere the next page starts (the answer's next_offset).
max_rowsNo
parameterYesThe substance or measure as a regulation names it (ammonia, copper, TSS, pH, BOD5, benzene) or its CAS number (7440-50-8).
statisticNoOnly rows under this statistic: daily_max, monthly_avg, thirty_day_avg, four_day_avg, annual_avg, hourly_avg, instant, ...

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / statistic / description
      Previous value: -"Only rows under this statistic: daily_max, monthly_avg, four_day_avg, annual_avg, hourly_avg, instant, ..."New value: +"Only rows under this statistic: daily_max, monthly_avg, thirty_day_avg, four_day_avg, annual_avg, hourly_avg, instant, ..."
  2. Changed2 schema fields changed
    • changedInput schema / properties / medium / description
      Previous value: -"What the limit governs: an effluent (water_discharge), the receiving water (surface_water), groundwater, air."New value: +"What the limit governs: an effluent (water_discharge), the receiving water (surface_water), groundwater, drinking water as supplied (drinking_water; EPA's tap-water screening levels too), soil, air."
    • changedInput schema / properties / medium / enum
      Previous value: -[
      -  "water_discharge",
      -  "surface_water",
      -  "groundwater",
      -  "ambient_air",
      -  "air_emission",
      -  "sediment",
      -  "leachate"
      -]New value: +[
      +  "water_discharge",
      +  "surface_water",
      +  "groundwater",
      +  "drinking_water",
      +  "soil",
      +  "ambient_air",
      +  "air_emission",
      +  "sediment",
      +  "leachate"
      +]
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: the shape of the cite block (instrument, edition, section, quoted text, URL, sha256), the refused-block semantics ('never say the law has no limit'), and the permits_over cross-reference. This is unusually rich behavioral disclosure.

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?

Front-loaded with the answering question, and the long parenthetical jurisdiction lists are informative rather than filler. Slightly dense and over-enumerated, but every sentence carries information the agent needs.

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 no output schema, the description still conveys the return shape (value, unit, statistic, conditions, cite block) and the empty-result shape (refused block). Nothing an agent needs to call it correctly or interpret its output is missing.

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 86%, so parameters are already well documented in the schema (kind, place hierarchy, medium, statistic). The description adds the substance-as-named/CAS framing and the row fields, but adds little parameter meaning beyond what structured fields already provide. Baseline 3 is appropriate.

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?

States a specific verb (find/read) and resource (numeric limits and guidelines for a substance in a place, as printed in regulations), and enumerates the exact jurisdiction coverage. An agent can distinguish it from export_limits, check_value, and check_values without opening any schema.

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?

Gives strong contextual guidance: it explains the refusal path when nothing is held and routes to list_permits for permits_over data. However, it never explicitly contrasts itself with near-siblings like check_value/check_values/export_limits, so the when-not-to-use side is left 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.