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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aihydro_tools-1.0.1.tar.gz
  • Upload date:
  • Size: 135.5 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.1.tar.gz
Algorithm Hash digest
SHA256 a3a3644400b5e924e4636a4393e6631bd444007fd2688eaf05d2f54e494f931f
MD5 dee74f6dbcf51e7daab6357cfffe38d9
BLAKE2b-256 0f8bc77f7e8ef9cb87b1592485d44771d6ac2c40d0c47c2be4c20ea6cc102930

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aihydro_tools-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70dcf459e82cd130ca11521debf86d78391e8bc0f33a1efe1cc588a972f9f5ab
MD5 f7f59048f02dfebc70df4c744b8eaa9c
BLAKE2b-256 48c32fe987693090185b37bfbd4bde4ec9d8106cdafc2b83ea7873a25bf14731

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