usgs-water-mcp
Query public USGS water observations for stream gauges and watershed research. This is separate from earthquake data and focuses on streamflow and gauge discovery.
Tools
get_streamflow: instantaneous observations for a gauge and USGS parameter code. 00060 is the common discharge parameter.
find_gauges: find active stream gauges in a min longitude,min latitude,max longitude,max latitude bounding box, with a bounded result count.
The server uses USGS Water Services without an API key. Data can be provisional and may be revised by USGS. Requests time out after 20 seconds.
Run
npm install
npm run build
node dist/index.js
Read-only stdio MCP server. No credentials or local source data are required.
Quick start
npm install
npm run build
node dist/index.js
The server uses stdio, so it can be connected to Claude Desktop, Cursor, VS Code, MCP Inspector, or another compatible MCP client.
Tools at a glance
get_streamflow: Get USGS instantaneous water observations for one gauge.
find_gauges: Find active USGS stream gauges in a longitude,latitude bounding box.
Limits and privacy
This project is intentionally narrow. It should be treated as a practical helper, not a complete certification or security audit. Check the implementation and the returned data before using it with sensitive material. No credentials are required unless the project explicitly says otherwise.
Try it
After building, connect the server through your MCP client. The repository root also contains smoke-test.mjs for projects covered by the shared harness. A typical tool call starts with get_streamflow.
Premium tools
These tools need a license key:
Buy a key at https://mcp-marketplace.io/server/io-github-mrfentmen-usgs-water-mcp and set it in your MCP client config:
"env": { "MCP_LICENSE_KEY": "mcp_live_..." }
The key is checked against MCP Marketplace, cached for 24 hours, and keeps
working offline once one check has succeeded. Every other tool on this server
stays free.