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
Links
- AI-Hydro Extension: github.com/AI-Hydro/AI-Hydro
- Issues: github.com/AI-Hydro/aihydro-tools/issues
- Author: Mohammad Galib (mgalib@purdue.edu)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9f30a3621d1b2e808d43e2b174d687cc784f785e4174e2f4aa05acf673c6be5
|
|
| MD5 |
ac1134ee6e48f92c82f20b35dd4e80df
|
|
| BLAKE2b-256 |
1af0d11db59d6be0f5697d09581298110e1516525ea32cc10d43cd1d7a34a100
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6be2324d12b777e467405046b19c74c3200972a2620d82eda7920c1a9b76c516
|
|
| MD5 |
cdc38b04d434175562dac97c8cb6e6ec
|
|
| BLAKE2b-256 |
0374bb578d58bf2f227c3d27cbc271aa7ef17bc94fc5d0db5455ab0d9c6e78a8
|