Skip to main content

AI-Hydro: 17 hydrological research tools as an MCP server for AI agents

Project description

aihydro-tools

17 hydrological research tools as an MCP server for AI agents.

aihydro-tools is the Python backend for AI-Hydro, a VS Code extension that gives AI assistants direct access to hydrological analysis tools via the Model Context Protocol (MCP).

Install

pip install aihydro-tools[all]

Or install only what you need:

pip install aihydro-tools[data]       # streamflow, forcing, land cover
pip install aihydro-tools[analysis]   # watershed, signatures, TWI, CN
pip install aihydro-tools[modelling]  # differentiable HBV-light, LSTM
pip install aihydro-tools[mcp]        # MCP server only (minimal)

Run the MCP Server

aihydro-mcp

This starts the MCP server on stdio, ready for any MCP client (AI-Hydro extension, Claude Code, Cursor, etc.).

Register with an IDE

python setup_mcp.py --ide vscode       # AI-Hydro VS Code extension
python setup_mcp.py --ide claude-code  # Claude Code CLI
python setup_mcp.py --check            # verify 17 tools registered

Tools (17)

Category Tools
Watershed delineate_watershed
Streamflow fetch_streamflow_data
Signatures extract_hydrological_signatures
Geomorphic extract_geomorphic_parameters
Terrain compute_twi
Curve Number create_cn_grid
Forcing fetch_forcing_data
CAMELS extract_camels_attributes
Knowledge query_hydro_concepts
Modelling train_hydro_model, get_model_results
Session start_session, get_session_summary, clear_session, add_note, export_session, sync_research_context

Example

You: "Delineate the watershed for USGS gauge 01031500 and fetch 10 years of forcing data."

AI-Hydro: [calls delineate_watershed → fetch_forcing_data]
          Watershed: 769 km², Piscataquis River ME
          Forcing: 3,652 days of GridMET data (prcp, tmax, tmin, PET, srad, wind)

Data Sources

  • USGS NWIS — daily streamflow via hydrofunctions
  • NHDPlus / NLDI — watershed delineation via pynhd
  • GridMET — climate forcing via pygridmet
  • 3DEP — DEM and terrain analysis via py3dep
  • NLCD / POLARIS — land cover and soils
  • CAMELS-US — catchment attributes via pygeohydro

Session Persistence

Every tool result is cached in a HydroSession (JSON file per gauge at ~/.aihydro/sessions/). Expensive computations are done once and reused across conversations.

License

Apache 2.0

Links

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

aihydro_tools-1.0.3.tar.gz (135.8 kB view details)

Uploaded Source

Built Distribution

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

aihydro_tools-1.0.3-py3-none-any.whl (137.5 kB view details)

Uploaded Python 3

File details

Details for the file aihydro_tools-1.0.3.tar.gz.

File metadata

  • Download URL: aihydro_tools-1.0.3.tar.gz
  • Upload date:
  • Size: 135.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for aihydro_tools-1.0.3.tar.gz
Algorithm Hash digest
SHA256 c9f30a3621d1b2e808d43e2b174d687cc784f785e4174e2f4aa05acf673c6be5
MD5 ac1134ee6e48f92c82f20b35dd4e80df
BLAKE2b-256 1af0d11db59d6be0f5697d09581298110e1516525ea32cc10d43cd1d7a34a100

See more details on using hashes here.

File details

Details for the file aihydro_tools-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: aihydro_tools-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 137.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for aihydro_tools-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6be2324d12b777e467405046b19c74c3200972a2620d82eda7920c1a9b76c516
MD5 cdc38b04d434175562dac97c8cb6e6ec
BLAKE2b-256 0374bb578d58bf2f227c3d27cbc271aa7ef17bc94fc5d0db5455ab0d9c6e78a8

See more details on using hashes here.

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