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.4.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.4-py3-none-any.whl (137.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aihydro_tools-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 119ec496c1984de97047c12a7fb92706f668ed35b09c6c98c8d0e89e23e2271f
MD5 d1f1a053df62acce40bd127398ab1621
BLAKE2b-256 cc44dd64217f64771b5bc1c822d6ae6d37cb499bc61795dd4cb96d65822ad492

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aihydro_tools-1.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ce7f12f1e8bf27efd6089ed35bb94d2e8e3640ec9284e5644d36872575497658
MD5 4a387b51f11de1236f472c20b1336006
BLAKE2b-256 24edb7296ef490e6ad4b7d84fe3d09240d09de98bf0c400d29142d2bdd9a22bf

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