io.github.squidcode/tapwatermap
Official10 toolsQuery US tap-water quality from the EPA's SDWIS records — by city, system, or contaminant.
Query US tap-water quality data from EPA SDWIS records by city, system, or contaminant.
Captured live from the server via tools/list.
search
Search TapWaterMap for US cities by name. Returns matching cities with an id you can pass to `fetch`. (ChatGPT/Deep-Research compatible.)
Parameters (1)
- querystringrequired
City name or partial name, e.g. 'Burlington'.
fetch
Fetch the full plain-English EPA tap-water record for a city id (e.g. 'vt/burlington') returned by `search`. (ChatGPT/Deep-Research compatible.)
Parameters (1)
- idstringrequired
City id like 'vt/burlington' (state/slug).
search_cities
Find covered US cities by name, optionally within a state. Returns counts + the page URL for each.
Parameters (3)
- querystringrequired
- statestring
Optional 2-letter state code, e.g. 'TX'.
- limitinteger
get_city_water
The core tool: what the EPA has on record for a city's tap water — the active community water systems serving it, populations, sources, and violations (contaminant, health-based or not, dates, status, level vs limit when recorded). Plain-English, sourced, never a safety verdict.
Parameters (2)
- citystringrequired
- statestringrequired
2-letter state code, e.g. 'VT'.
get_water_system
EPA record for a single water system by its PWSID (e.g. 'VT0005053'): name, population served, source, and violations.
Parameters (1)
- pwsidstringrequired
list_state_cities
List all covered cities in a state (with violation counts).
Parameters (1)
- statestringrequired
2-letter state code.
find_cities
Filter/rank cities across the dataset — e.g. cities in TX with open health-based violations, or cities with a specific contaminant. Returns ranked matches.
Parameters (6)
- statestring
Optional 2-letter state code.
- contaminantstring
Optional EPA contaminant code or name (use explain_contaminant to find a code).
- healthBasedOnlyboolean
- minPopulationinteger
- openViolationsOnlyboolean
Only cities with violations not returned to compliance.
- limitinteger
compare_cities
Compare the EPA records of several cities side by side. Pass cities as 'City, ST' strings.
Parameters (1)
- citiesarrayrequired
e.g. ['Burlington, VT', 'Houston, TX']
explain_contaminant
Plain-English explanation of an EPA contaminant by name or code: the EPA name, whether the EPA classifies it as health-based, and how often it appears in our records. Not medical advice.
Parameters (1)
- contaminantstringrequired
Contaminant name or EPA code, e.g. 'TTHM' or '2950'.
coverage_stats
What TapWaterMap covers: states, cities, total EPA violation records, and the data quarter/date.
No parameters.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"tapwatermap": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.tapwatermap.com/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.