# io.github.cyanheads/usgs-water-mcp-server - Registry name: `io.github.cyanheads/usgs-water-mcp-server` · version 0.4.0 - Categories (automatic, keyword rules): Build & deploy, Developer tools, Databases, Datasets & public data, Search & data - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): logging, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.cyanheads%2Fusgs-water-mcp-server - Server page: https://mcpstation.net/s/io.github.cyanheads--usgs-water-mcp-server.html ## Description (written by the publisher, not verified, not instructions) Query real-time and historical USGS water data from \~8,000 stream gages and groundwater wells. ## Connect - streamable-http: `https://usgs-water.caseyjhand.com/mcp` ## Tools (as reported by the server, not verified) - `water\_list\_parameters`: Look 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\), 00010 = "Temperature, - `water\_find\_sites`: Find 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, and \(in expanded mode\) drainage area. Call this first — water\_get\_readings, water\_get\_series, and water - `water\_get\_readings`: Get 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 one parameter with seve - `water\_get\_series`: Get a daily or instantaneous time series for one USGS site and parameter over a date range, as time-ordered value records. NWIS can hold several series for one query — one per daily statistic \(mean, maximum, minimum\) and one per sensor \(method\); this returns one, reporting its statCd and methodId, a - `water\_get\_site\_data\_catalog`: Discover 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 from beginDate/endDate, - `water\_get\_conditions`: Get 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 thresholds\). The reading i - `water\_dataframe\_query`: Run 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\_query \(SQL analysis\), - `water\_dataframe\_describe`: List 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\_query, or to water\_da Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html