Skip to main content

usgs-mcp

MCP server providing access to USGS Water Services for real-time streamflow, flood stages, peak events, and historical statistics.

This server fills a critical gap in the ocean-mcp ecosystem by providing inland flooding and river data — often the deadliest aspect of hurricanes and storms.

Data Sources

  • USGS Water Services (waterservices.usgs.gov) — real-time and historical streamflow data
  • USGS NWIS Peak (nwis.waterdata.usgs.gov) — annual peak streamflow records

No API key required. All data is public domain.

Tools (10)

Site Discovery

Tool Description
usgs_find_sites Find gauge stations by state or bounding box
usgs_get_site_info Get detailed metadata for a specific site
usgs_find_nearest_sites Find sites near a lat/lon point

Streamflow Data

Tool Description
usgs_get_instantaneous_values Real-time ~15-minute interval data (up to 120 days)
usgs_get_daily_values Daily mean/min/max values (decades of history)
usgs_get_hydrograph Summary with trend and historical median comparison

Flood Analysis

Tool Description
usgs_get_peak_streamflow Annual peak flow records (50+ years at many sites)
usgs_get_flood_status Current conditions vs. historical context

Statistics

Tool Description
usgs_get_monthly_stats Monthly mean/min/max/percentiles
usgs_get_daily_stats Daily percentiles (flow duration)

Quick Start

Install from PyPI

uvx usgs-mcp

Install from source

cd servers/usgs-mcp
uv sync
uv run usgs-mcp

Claude Desktop Configuration

{
  "mcpServers": {
    "usgs": {
      "command": "uvx",
      "args": ["usgs-mcp"]
    }
  }
}

Example Queries

  • "What is the current streamflow on the Potomac River?" → usgs_get_instantaneous_values(site_number="01646500")
  • "Find USGS gauges in Texas" → usgs_find_sites(state_code="TX")
  • "Is the Mississippi at St. Louis flooding?" → usgs_get_flood_status(site_number="07010000")
  • "What were the biggest floods on the Potomac?" → usgs_get_peak_streamflow(site_number="01646500")

Development

cd servers/usgs-mcp
uv sync --group dev

# Unit tests (no network)
uv run pytest tests/ --ignore=tests/test_live.py --ignore=tests/test_mcp_protocol.py -v

# Integration tests (needs network)
uv run pytest tests/test_live.py -v

# MCP protocol test
uv run pytest tests/test_mcp_protocol.py -v

License

MIT

Metadata

Release files for usgs-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for usgs-mcp 0.1.1
File Size Uploaded
usgs_mcp-0.1.1.tar.gz 40.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for usgs-mcp 0.1.1
File Interpreter ABI Platform
usgs_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 63.4 kB

Release files / usgs_mcp-0.1.1.tar.gz

Download URL usgs_mcp-0.1.1.tar.gz
Size 40.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c9091d56857fd1ad586003fbeb0420d17f926588865a3aa18c96e309fedad213
BLAKE2b-256 checksum
How to use checksums
d939c82f29aecee592844e7a7e2211957d3d4837a0815cd9367bc4561d246201
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / usgs_mcp-0.1.1-py3-none-any.whl

Download URL usgs_mcp-0.1.1-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dbae47099a63131d846fbcdd95d4697aeb7b4abb976b8939abbdb87865228650
BLAKE2b-256 checksum
How to use checksums
5d99d8b14671d8c1438e0f3ec5536e34775061b26e043965c1d1a8dce15797d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page