Agentic MIKE Plus
Headless DHI MIKE+ urban-water modelling: model inspection, parameter editing, simulation runs with QA status, .res1d results reading and plotting.
Install
The installation steps are in the documentation below. Documentation
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Agentic MIKE+
A headless, natural-language-driven, automated modelling workflow for MIKE+. Skills + an MCP server for Claude Code, Codex, Hermes, or OpenClaw: describe a goal in plain language and the agent inspects, edits, runs, reads, and plots a MIKE+ model. Automated modelling and analysis, end to end, without ever opening the GUI.
[!TIP] Need a model to run? SWMMCanada builds one anywhere in Canada. It is the upstream, open-data model builder for this agentic workflow: draw an area on a map and it assembles a ready-to-run stormwater model from Canadian open data (real municipal storm networks for 8 cities, synthesized everywhere else), giving the agent a real network to run, edit, read, and plot. Try the hosted demo with no install at swmm.h2ox.me, or see the project at h2ox.me.
Experimental / pre-release. One MCP server + skills wrapping DHI's Python stack (
mikeplus/mikeio/mikeio1d). Verified end to end on the MIKE+ 2026Sirius_RTCexample. Sibling of agentic-swmm-workflow.
Install: just tell your agent
It is the AI era. You don't wire this up by hand. Paste this to your AI coding agent (Claude Code, Codex, Hermes, OpenClaw):
Install "Agentic MIKE+" for me: an MCP server + skills to drive MIKE+ headless.
1. Clone https://github.com/Zhonghao1995/Agentic-MIKE-Plus and skim its README.
2. With Python 3.11 x64 (mikeplus needs 3.9-3.11, not 3.12+):
py -3.11 -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.lock
.venv\Scripts\python.exe -m pip install -e ".[run]"
(read/plot only, no license: drop the lock and use `pip install -e .`)
3. Register with me (Claude Code):
claude mcp add mike-plus -- "<abs-repo>\.venv\Scripts\python.exe" -m mikeplus_mcp.server
(Codex / Hermes / OpenClaw: copy config/mcp.sample.json)
4. Copy skills/* into ~/.claude/skills/, then run scripts/smoke_test.py (should find 18 tools).
5. Tell me the tools and which need a MIKE+ license (run/edit/import do; read/plot/compare don't).
Needs Python 3.11 (x64). Two install profiles:
- Read & plot. License-free and cross-platform:
pip install -e .(nomikeplus). - Run & edit too. Windows + a licensed MIKE+ 2026:
pip install -e ".[run]"(orpip install -r requirements.lockfor the exact pinned environment).
mikeplus is an optional [run] extra, so teammates who only read results or make figures install nothing license-bound.
Why it matters
- Natural-language-driven. Describe the task in plain words; the agent plans and runs it: no scripting, no GUI clicking. (A sub-agent did this autonomously.)
- Fully headless. Runs with no GUI, on a workstation, a server, in CI, or under an agent. Built for batch and scenario automation.
- MCP-native and portable. One server speaks the Model Context Protocol; works with Claude Code, Codex, Hermes, or OpenClaw via a single config line, and installs with pip.
- Low barrier to share. Reading results and plotting need no MIKE+ license; only running or editing does. Teammates analyse model output with nothing but
pip install. - Reproducible & tested. Deterministic tools, structured-JSON output, a pinned lockfile, and a license-free unit-test suite in CI, verified on a real model, not a chat-to-model black box.
- Engine-agnostic and extensible. Results use a common schema (ready to sit beside SWMM and LSTM); add a tool or skill by dropping in a file.
How it works
Skills (markdown playbooks) tell the agent when and how; the agent calls MCP tools; each tool runs in an isolated worker subprocess that imports only mikeplus or mikeio*: the two cannot share a process. The server itself imports neither.
agent -> reads skills/*.md -> calls MCP tools -> workers (mikeplus / mikeio1d)
Tools (one server, mike-plus)
| Tool | Does | License |
|---|---|---|
mike_model_info | model overview: simulations, scenarios, model type, element counts | yes |
mike_set_scenario | activate an existing scenario (verified by re-opening the model) | yes |
mike_get_values / mike_set_values | read / change parameters (e.g. pipe diameter) | yes |
mike_run | run a simulation headless, return .res1d + a parsed QA status (completed / errors / warnings) | yes |
mike_import_swmm | import an EPA SWMM (or EPANET) .inp into a new MIKE+ model: the SWMMCanada bridge | yes |
mike_results_list / summary / read | list contents / peaks / one time series | no |
mike_results_flooding | which nodes flood: peak water level vs ground level, ranked | no |
mike_results_compare | baseline vs scenario: delta peak / volume / timing, RMSE, NSE; or every element ranked by change | no |
mike_plot_rain_flow / timeseries / network | stacked hydrograph / series / network map | no |
mike_plot_compare / mike_plot_profile | overlay of two runs / longitudinal profile (bed, crown, ground, max water level) | no |
mike_rain_to_dfs0 | rainfall CSV to a MIKE+ .dfs0 (intensity, read-back verified) | no |
mike_manifest_write | provenance manifest: model, inputs, edits, run QA, results, figures, each with sha256 | no |
Ten skills orchestrate them: mike-end-to-end (the SOP: modes, run directory, stop rules, QA gates), mike-model, mike-params, mike-runner, mike-import, mike-results, mike-compare, mike-plot, mike-rain, mike-audit.
Install the skills into any skills-aware agent (Claude Code, Codex, OpenCode, …) in one command, no clone needed:
npx skills add Zhonghao1995/Agentic-MIKE-Plus # all 10; add --list to preview, or --skill <name> for one
Demo: Sirius_RTC (MIKE 1D, 568 nodes, 576 links)
Full evidence (commands, outputs, and the honest license boundary) is in docs/verification.md.
Development
The engine-agnostic core is covered by a license-free test suite (no MIKE+ / mikeplus needed) that also runs in CI:
pip install -e . # read/plot core (add ".[run]" for run/edit)
pip install pytest
pytest # ~0.5 s, no license required
The tests pin the result schema, the res1d column matcher, the engine-log QA parser, the compare / rain / manifest / SWMM-inp helpers, and tool discovery, so a change can't silently break them. Add a tool or skill by dropping a file under mikeplus_mcp/tools/ or skills/ (auto-discovered), and ship a test with it.
License
MIT © 2026 Zhonghao Zhang, University of Victoria. Built on DHI's mikeplus / mikeio / mikeio1d and the Model Context Protocol. MIKE+ is a product of DHI; running models requires a valid DHI license.
Frequently asked questions
What is Agentic MIKE Plus?
Headless DHI MIKE+ urban-water modelling: model inspection, parameter editing, simulation runs with QA status, .res1d results reading and plotting.
How do I install Agentic MIKE Plus?
Follow the installation steps in its documentation, shown on this page and in its repository.
Is Agentic MIKE Plus open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains Agentic MIKE Plus?
It is published by Zhonghao1995. AI.tn lists it but does not maintain or endorse it.
From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.