Skip to main content
Glama

Drinking Water — EPA SDWIS: Systems, Violations, Lead & Copper, PFAS (UCMR5)

get_system_lead_copper

Read-only

Lead and copper results for one water system by PWSID: the 90th percentile of tap samples for every reported Lead and Copper Rule monitoring period (latest first), with the lead action level (0.015 mg/L) and copper action level (1.3 mg/L) exceedance flags. The 90th percentile is a system-wide statistic, not a reading at any individual home's tap. Data is EPA SDWIS via ECHO. get_water_system shows only the latest period — use this tool for the full history and exceedance pattern. An unknown PWSID returns a no_data result.

Input Schema

NameRequiredDescriptionDefault
pwsidYesPublic Water System ID, e.g. IL0970450

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the read-only, closed-world, non-destructive profile, and the description adds real value on top: sort order (latest first), the action-level thresholds used for flags (0.015 mg/L lead, 1.3 mg/L copper), the data provenance (EPA SDWIS via ECHO), and the no_data path for unknown IDs. It stops short of describing output volume, whether periods are paginated, or how many periods typically return, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core verb and resource, then the caveat, then the sibling routing. The statistical caveat (90th percentile is system-wide, not a single tap) is not padding — it prevents a likely misinterpretation that would corrupt downstream answers.

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?

Even without an output schema, the description conveys the return shape (90th percentile per monitoring period plus action-level exceedance flags), ordering, thresholds, and the empty-result case. Combined with annotations covering the safety profile, an agent has everything needed to call this and interpret the result.

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 coverage is 100% and the single parameter carries an example format, so the baseline is 3. The description earns an extra point by clarifying the semantics of PWSID as identifying exactly one water system and by specifying that an unresolvable PWSID yields a no_data result rather than an error.

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+resource (lead and copper results for one water system by PWSID) with precise scope: 90th percentile tap samples per Lead and Copper Rule monitoring period. It explicitly distinguishes itself from the sibling get_water_system, so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative (get_water_system shows only the latest period) and states the exact condition that selects this tool: full history and exceedance pattern. It also documents the unknown-PWSID outcome (no_data result), which is a when-to-expect behavior most definitions omit.

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