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.0.tar.gz (135.3 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.0-py3-none-any.whl (136.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aihydro_tools-1.0.0.tar.gz
  • Upload date:
  • Size: 135.3 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.0.tar.gz
Algorithm Hash digest
SHA256 afcf2ca74d2730dafd1ee810f09c66f64d85d1574ca4103fbd0451139c552a47
MD5 351fa31102d28f651a1116c8fd895bb8
BLAKE2b-256 204b361130a76237ba60da0e4fb869f578c65f9041083a27ccf8b61c1e4fe740

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aihydro_tools-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 136.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5dbf894ac99b9e64d1c2fb40bdd44a7ce20120ceb5d28f05f78c250423e7ed56
MD5 271bc4c284d5a4723f06aa13e51eee0f
BLAKE2b-256 bff927bffde255d100351e7bb99f878d9d40b8e13e2e2257471e4e91b6d07ad0

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