@pipeworx/water-quality-portal
Connect: https://gateway.pipeworx.io/water-quality-portal/mcp · Install: one-click buttons
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 4
US ambient water-chemistry monitoring — station metadata and individual sample results from the joint USGS / EPA / NWQMC Water Quality Portal (NWIS, STORET and STEWARDS in one query surface).
Tools
wqp_search_sites(statecode?, countycode?, huc?, bbox?, siteType?, characteristicName?, organization?, limit?)— monitoring stations with coordinates, site type and how many results each holds. At least one filter is required.wqp_get_results(siteid?, characteristicName?, statecode?, countycode?, startDate?, endDate?, sampleMedia?, limit?)— individual sample values with unit, method, depth and date.wqp_results_near_point(latitude, longitude, within_miles?, characteristicName?, startDate?, endDate?, limit?)— the same results inside a radius.wqp_list_characteristics(domain?, text?, limit?)— the controlled-vocabulary spellings the portal demands (“Nitrate”, not “nitrate”).
Auth
Keyless.
Data sources
https://www.waterqualitydata.us/data/Station/search— station metadata (GeoJSON).https://www.waterqualitydata.us/data/Result/search— sample results (CSV only).https://www.waterqualitydata.us/Codes/<domain>— controlled vocabularies (JSON).
Things the next person would otherwise rediscover:
Result/searchhas no JSON profile.mimeType=geojsonworks for Station and is rejected for Result; the CSV is parsed in-pack.- Dates on the wire are MM-DD-YYYY (
startDateLo=01-01-2020), not ISO. The tools takeYYYY-MM-DDand convert, so callers never see it. zip=nois mandatory or the response is a zip archive.- Responses are large — one statewide station query is ~750 KB. Every tool caps
its rows and reports
truncated.
Tools
- wqp_search_sites — Find US water-quality monitoring stations (streams, lakes, wells, estuaries) by state, county, HUC, bounding box or organization. AUTHORITATIVE for “where is water sampled near X” — returns the statio
- wqp_get_results — Individual water-quality sample results for one or more monitoring stations — the measured value, unit, analytical method, sample depth and collection date. AUTHORITATIVE for “what was the nitrate/lea
- wqp_results_near_point — Water-quality sample results within a radius of a latitude/longitude — the “is the water near me tested, and what did it say” tool. Returns measured values with their station, date and unit. Sourced f
- wqp_list_characteristics — Look up the exact controlled-vocabulary spelling the Water Quality Portal expects for an analyte, site type, organization, state or county code. Call this FIRST when a name might not match — “nitrate”
Tools
wqp_get_results— Individual water-quality sample results for one or more monitoring stations — the measured value, unit, analytical method, sample depth and collection date. AUTHORITATIVE for what was the nitrate/leadwqp_list_characteristics— Look up the exact controlled-vocabulary spelling the Water Quality Portal expects for an analyte, site type, organization, state or county code. Call this FIRST when a name might not match — nitrate iwqp_results_near_point— Water-quality sample results within a radius of a latitude/longitude — the is the water near me tested, and what did it say tool. Returns measured values with their station, date and unit. Sourced frowqp_search_sites— Find US water-quality monitoring stations (streams, lakes, wells, estuaries) by state, county, HUC, bounding box or organization. AUTHORITATIVE for where is water sampled near X — returns the station