epanet-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@epanet-mcp-serverLoad Net1.inp and show me a network summary."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EPANET MCP Server
A Model Context Protocol (MCP) server that exposes EPANET water-distribution network modelling capabilities through ePyT - the EPANET Python Toolkit.
Any MCP-compatible LLM can load water network models, run simulations, modify parameters, and generate complex what-if scenarios through natural language.
Features
Category | Tools |
Load & Inspect |
|
Simulate |
|
Modify |
|
Scenarios |
|
Related MCP server: SWMM-MCP
Requirements
pip install epyt mcpInstallation
git clone https://github.com/Applied-Artificial-Intelligence-Eurecat/epanet-mcp-server.git
cd epanet-mcp-server
pip install -e .Running the server
stdio (for Claude Desktop / Claude Code)
epanet-mcp-server
# or
python -m epanet_mcp.serverSSE / HTTP
epanet-mcp-server --transport sse --port 8000Claude Desktop configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or the equivalent on your platform:
{
"mcpServers": {
"epanet": {
"command": "epanet-mcp-server",
"args": []
}
}
}If not on PATH:
{
"mcpServers": {
"epanet": {
"command": "python",
"args": ["-m", "epanet_mcp.server"],
"cwd": "/path/to/epanet-mcp-server/src"
}
}
}Claude Code (.mcp.json)
Place this in the root of your project or ~/.claude/:
{
"mcpServers": {
"epanet": {
"command": "epanet-mcp-server",
"args": []
}
}
}Example interactions
Once the server is connected, you can ask things like:
"Load Net1.inp and show me a summary of the network."
"Run a full simulation and tell me which node has the lowest pressure at hour 12."
"Double the base demand at junction 11 and re-run the simulation. How does pressure change?"
"Simulate a burst on pipe 10 with a 20% leakage fraction."
"Inject 10 mg/L of chlorine at node 11 between hours 1 and 3 and show me the contamination spread."
"What happens to pressures if the reservoir head drops from 150 m to 120 m?"
"Schedule Pump 9 to start at 06:00 and stop at 22:00."
"Close pipes 10 and 11 and the pump simultaneously. Where are service disruptions?"
Architecture
src/epanet_mcp/
├── server.py # FastMCP server – tool registration + entry point
├── session.py # Thread-safe registry of open ePyT sessions
├── utils.py # numpy → Python serialisation helpers
└── tools/
├── inspection.py # load / inspect network models
├── simulation.py # run hydraulic & quality simulations
├── modification.py# in-memory parameter changes
└── scenarios.py # what-if scenario generators (clone + modify + run)Session model: Each loaded network lives in a named session. Scenario tools automatically clone the source session into a new independent session so the baseline network is never mutated.
Running the tests
pip install pytest
pytest tests/ -vBundled networks
ePyT ships with many standard benchmark networks including Net1, Net2, L-TOWN,
Hanoi, Anytown, Balerma and others. Use list_bundled_networks to discover
them all.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables conversational power system analysis by connecting Claude AI with EPRI's OpenDSS simulator. Allows distribution planning engineers to perform sophisticated electrical grid studies through natural language instead of complex scripting.Last updatedMIT
- AlicenseBqualityDmaintenanceAn MCP server that provides a toolbox for interacting with EPA SWMM stormwater models, enabling users to analyze model data and interpret results through LLM-driven tools. It assists stormwater modelers in understanding hydraulic systems and modeling behavior using natural language interfaces.Last updated186MIT
- Alicense-qualityDmaintenanceEnables creating, analyzing, and optimizing energy system models using PyPSA through natural language, with tools for model management, component creation, simulation, and optimization.Last updated67MIT
- Alicense-qualityDmaintenanceEnables natural language interaction with the DSSAT crop model for simulation, calibration, and sensitivity analysis through LLM agents.Last updated1MIT
Related MCP Connectors
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
AI-callable calculators and engineering models with real formulas. No hallucinated math.
E2LLM gives your AI eyes and hands in a real browser: structured perception (SiFR) plus action.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Applied-Artificial-Intelligence-Eurecat/epanet-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server