mcp server
tapwatermap
Query US tap-water quality from the EPA's SDWIS records — by city, system, or contaminant.
Description as published by the maintainer. Source
- version 1.0.0
- active
active — Registry entry last updated 2026-06-25.
What this server can do
10 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
compare_cities(cities)- Compare the EPA records of several cities side by side. Pass cities as 'City, ST' strings. Required: cities.
coverage_stats- What TapWaterMap covers: states, cities, total EPA violation records, and the data quarter/date.
explain_contaminant(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. Required: contaminant.
fetch(id)- Fetch the full plain-English EPA tap-water record for a city id (e.g. 'vt/burlington') returned by `search`. (ChatGPT/Deep-Research compatible.) Required: id.
find_cities(limit, state, contaminant, minPopulation, healthBasedOnly, openViolationsOnly)- 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.
get_city_water(city, state)- 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. Required: city, state.
get_water_system(pwsid)- EPA record for a single water system by its PWSID (e.g. 'VT0005053'): name, population served, source, and violations. Required: pwsid.
list_state_cities(state)- List all covered cities in a state (with violation counts). Required: state.
search(query)- Search TapWaterMap for US cities by name. Returns matching cities with an id you can pass to `fetch`. (ChatGPT/Deep-Research compatible.) Required: query.
search_cities(limit, query, state)- Find covered US cities by name, optionally within a state. Returns counts + the page URL for each. Required: query.
Last successful function declaration observed on . Source: https://mcp.tapwatermap.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://mcp.tapwatermap.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-06-25 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-06-25 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 10 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | mcp.tapwatermap.com | |
| mcp endpoint status | ok | The server listed 10 functions when asked. | as of probe | mcp.tapwatermap.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json