Usgs MCP Server

Query real-time and historical USGS water data from ~8,000 stream gages and groundwater wells.

Remote serverstreamable-http

What is the Usgs MCP Server?

Query real-time and historical USGS water data from ~8,000 stream gages and groundwater wells.

The short version

  • Declarative tool and resource definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

What it needs from you

  • Bun v1.3.14 or higher (or Node.js v24+). - No API key required — USGS NWIS is a free, public API.

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
water_list_parametersStatic lookup of well-known USGS parameter codes with names, units, and domain. No network call.
water_find_sitesFind USGS monitoring sites by bounding box, state, county, or HUC watershed. Filter by site type and parameter availability. Large match sets spill to DataCanvas.
water_get_readingsGet the latest instantaneous values (~15 min real-time) for up to 100 USGS sites.
water_get_seriesGet a time series of daily or instantaneous values for a site over a date range. Large ranges spill to DataCanvas.
water_get_conditionsGet current hydrologic conditions ranked against the full period-of-record percentile statistics.
water_dataframe_describeList tables and columns staged on a DataCanvas by water_get_series or water_find_sites.
water_dataframe_queryRun a read-only SQL SELECT against the time-series and site tables staged by water_get_series and water_find_sites.

How to install the Usgs MCP Server

{
  "mcpServers": {
    "usgs-water-mcp-server": {
      "type": "streamable-http",
      "url": "https://usgs-water.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.14 or higher (or Node.js v24+). - No API key required — USGS NWIS is a free, public API.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional

Example prompts to try

  • “Use Usgs to water list parameters.”
  • “Use Usgs to water find sites.”
  • “Use Usgs to water get readings.”

Frequently asked questions

Query real-time and historical USGS water data from ~8,000 stream gages and groundwater wells. Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.