Skip to main content

MCP server providing access to USGS Water Services for streamflow, flood stages, and peak events

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usgs_mcp-0.1.0.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

usgs_mcp-0.1.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file usgs_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: usgs_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for usgs_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 009a4cc9b6d83782f1fb8151f60c79e05960f35db5177e6e42487be28b14abe3
MD5 c1b19bb3c35209579550476da082f5e2
BLAKE2b-256 8dc9fa8b01b926fa47b531ee8a8bb50c10d4ade6f344efd36b7a38562d563aa2

See more details on using hashes here.

Provenance

The following attestation bundles were made for usgs_mcp-0.1.0.tar.gz:

Publisher: publish.yml on mansurjisan/ocean-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file usgs_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: usgs_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for usgs_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe77bc53637debf3b58369a64ae9023378317ce88bce4d30c6e12bd68da50699
MD5 d60bb1772836ee6dccc69d14b007d109
BLAKE2b-256 788d65305c00ef63b0d3403082bf4666e43cfd2145bc570511ad91448e020086

See more details on using hashes here.

Provenance

The following attestation bundles were made for usgs_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on mansurjisan/ocean-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page