Query real-time and historical USGS water data from ~8,000 stream gages and groundwater wells.
Connect Remote server
claude mcp add --transport http usgs-water-mcp-server https://usgs-water.caseyjhand.com/mcp
{
"mcpServers": {
"usgs-water-mcp-server": {
"url": "https://usgs-water.caseyjhand.com/mcp"
}
}
}
{
"servers": {
"usgs-water-mcp-server": {
"type": "http",
"url": "https://usgs-water.caseyjhand.com/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://usgs-water.caseyjhand.com/mcp
Tools 8 found in our last check
water_list_parametersLook up USGS parameter codes — the 5-digit codes every other tool's parameterCd takes. With no query, lists a curated set of well-known codes with names, units, and thematic group, from a built-in table (no network call): 00060 = "Discharge" (ft³/s), 00065 = "Gage height" (ft),…
water_find_sitesFind USGS water monitoring sites by bounding box, state, county, or HUC watershed code, filtered by site type and parameter availability. Returns site numbers, names, coordinates, types, altitude, the UTC time each site last reported (lastObservedAt), and (in expanded mode) drai…
water_get_readingsGet the latest instantaneous (~15-min, real-time) values for up to 100 USGS sites in one call — per-site, per-parameter records with timestamp, value, unit, and provisional/approved qualifiers. Omitting parameterCd returns every parameter each site publishes. A site measuring on…
water_get_seriesGet a daily or instantaneous time series for one USGS site and parameter over a date range, as time-ordered value records. A site can hold several series for one query — one per daily statistic (mean, maximum, minimum) and one per sensor (method); this returns one, reporting its…
water_get_site_data_catalogDiscover a USGS site’s parameters, sensors, statistics, and UTC record bounds before calling water_get_series. Find site numbers with water_find_sites. Each row is a distinct series; metadata bounds may contain gaps and lag observations. For water_get_series, take YYYY-MM-DD fro…
water_get_conditionsGet a USGS site's current reading ranked against its full period-of-record daily-mean percentiles for the same calendar day — a "how unusual is this" percentileClass (record-high to record-low), not a flood-stage or drought determination (this tool fetches no authoritative thres…
water_dataframe_queryRun a read-only SQL SELECT against water data tables staged on a DataCanvas by water_get_series or water_find_sites. Workflow: run water_get_series or water_find_sites (get canvas_id + table_name) → water_dataframe_describe (confirm the table and its columns) → water_dataframe_q…
water_dataframe_describeList tables and columns staged on a DataCanvas by water_get_series or water_find_sites. Call this after water_get_series or water_find_sites returns a canvas_id to discover the exact table name and column types before writing a query. Then pass the table name to water_dataframe_…
Details
| Endpoint | https://usgs-water.caseyjhand.com/mcp (Streamable HTTP) |
| Package | @cyanheads/[email protected] (NPM, stdio) |
| Package | @cyanheads/[email protected] (NPM, streamable-http) |
| First published | 11 Nov 2026 |
| Last updated | 11 Nov 2026 |
| Registry name | io.github.cyanheads/usgs-water-mcp-server |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
