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)
| File | Size | Uploaded | |
|---|---|---|---|
| usgs_mcp-0.1.1.tar.gz | 40.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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