Skip to main content
Glama

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

get_water_system

Read-only

Look up one US public water system by its PWSID (e.g. IL0970450). Returns the system's identity, type (community, transient, non-transient non-community), population served, service connections, owner and source type, the counties it serves, its current health-based violations (unresolved MCL, MRDL, and treatment-technique violations) from EPA SDWIS, plus its latest lead/copper 90th-percentile result and a summary of its UCMR5 PFAS sampling (whether sampled, analytes detected, maximum concentration). Use this when you already know the PWSID; if you only have a name or place, use search_water_systems first. This is the bundled overview — for the full monitoring-period lead/copper history use get_system_lead_copper, and for full per-analyte PFAS results use get_system_pfas. An unknown PWSID returns a no_data result, not an empty profile.

Input Schema

NameRequiredDescriptionDefault
pwsidYesPublic Water System ID, e.g. IL0970450

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: an unknown PWSID yields a no_data result rather than an empty profile, which prevents an agent from misreading a miss as a real system with zero violations. It also details what the return contains, though it says nothing about auth, rate limits, or response size/shape beyond field names.

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?

Purpose and identifier are front-loaded in the first clause, with routing guidance and the edge case following. The middle sentence is a long enumeration of returned fields, which is dense but each listed field is decision-relevant for choosing this tool over its siblings; nothing is redundant filler.

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?

There is no output schema, so the description must carry the return contract, and it does so field-group by field-group. Combined with the explicit no_data edge case and the delegation pointers to more detailed siblings, an agent has everything needed to call it correctly and interpret the result.

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?

Only one parameter with 100% schema description coverage, so the baseline is 3. The description repeats the 'PWSID (e.g. IL0970450)' example already present in the schema and adds only the scoping qualifier 'one' system per call; no additional syntax or validation guidance beyond the schema.

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 and resource ('Look up one US public water system by its PWSID') and then enumerates the exact payload: identity, type, population, connections, owner/source, counties, health-based violations, lead/copper 90th percentile, and UCMR5 PFAS summary. This clearly separates it from siblings like get_system_lead_copper and get_system_pfas, which are explicitly framed as the deeper-dive versions.

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?

Gives an explicit trigger ('Use this when you already know the PWSID'), an explicit fallback ('if you only have a name or place, use search_water_systems first'), and routes to two alternative tools by name for full history versus full per-analyte results. When-to-use, when-to-use-something-else, and which-something-else are all covered.

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