MCP.Market

EPANET MCP Server

by Applied-Artificial-Intelligence-Eurecat·io.github.Applied-Artificial-Intelligence-Eurecat/epanet-mcp-server·v0.1.2·5 stars

MCP server for EPANET water-distribution network simulation and scenario analysis.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
New

5 stars

Reviews

Write one

Nobody has reviewed EPANET MCP Server yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

EPANET MCP Server tools (44, 12 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_control

    Add a new simple control rule.

  • add_pattern

    Add a new demand / operational pattern to the network.

  • create_contamination_eventwrite action

    Inject a contaminant at a node for a specified time window and simulate.

  • create_demand_perturbationwrite action

    Apply base-demand multipliers to a set of nodes and optionally simulate.

  • create_leakage_eventwrite action

    Simulate a pipe burst by adding a leakage emitter at the pipe midpoint.

  • create_multi_failure_scenariowrite action

    Simulate simultaneous pipe and/or pump failures (closure).

  • create_pressure_change_scenariowrite action

    Study pressure changes by modifying reservoir heads.

  • create_pump_control_scenariowrite action

    Apply a time-based pump on/off or speed schedule and simulate.

  • create_valve_control_scenariowrite action

    Apply static valve-setting changes and simulate.

  • delete_controlwrite action

    Delete a simple control by its 1-based index.

  • get_controls

    Return all simple controls defined in the network.

  • get_curves

    Return all curves (pump head, efficiency, volume, valve) in the network.

  • get_flow_at_time

    Return link flows at (or nearest to) a specific simulation time.

  • get_links

    Return all links (pipes, pumps, valves) with their attributes.

  • get_network_summary

    Return a high-level summary of a loaded network.

  • get_nodes

    Return all nodes (junctions, tanks, reservoirs) with their attributes.

  • get_options

    Return simulation options: timesteps, units, quality settings, head-loss formula, and demand model.

  • get_patterns

    Return all demand / operational patterns defined in the network.

  • get_pressure_at_time

    Return node pressures at (or nearest to) a specific simulation time.

  • list_bundled_networks

    List every .inp example file bundled with ePyT (usable with load_network).

  • list_networks

    Return the ids of all currently loaded networks.

  • load_network

    Load an EPANET .inp file into a named session.

  • run_full_simulationwrite action

    Run both hydraulic and water-quality simulations and return combined time-series results (pressures, flows, quality, reaction rates, etc.).

  • run_hydraulic_simulationwrite action

    Run a full hydraulic simulation and return time-series results.

  • run_quality_simulationwrite action

    Run a full water-quality simulation and return time-series results.

  • save_network

    Save the current (possibly modified) network to a new .inp file.

  • set_hydraulic_timestep

    Set the hydraulic time step.

  • set_node_base_demand

    Set the base demand for a junction node.

  • set_pattern

    Overwrite all multiplier values for a named demand pattern.

  • set_pipe_diameter

    Set the diameter of a pipe.

  • set_pipe_length

    Set the length of a pipe.

  • set_pipe_roughness

    Set the roughness coefficient of a pipe.

  • set_pipe_status

    Open or close a pipe.

  • set_pump_head_curve

    Set (replace) the head-flow curve of a pump.

  • set_pump_speed

    Set the relative speed setting of a pump.

  • set_pump_status

    Start or stop a pump.

  • set_quality_timestep

    Set the water-quality simulation time step.

  • set_quality_type

    Set the water-quality analysis type.

  • set_reservoir_head

    Set the total head (water-surface elevation) of a reservoir.

  • set_simulation_duration

    Set the total simulation duration.

  • set_tank_parameterswrite action

    Update one or more parameters of a tank node.

  • set_valve_setting

    Set the initial setting of a valve.

  • set_valve_status

    Open or close a valve.

  • unload_network

    Unload a previously loaded network and free its resources.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan10 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 117 days ago8/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How EPANET MCP Server compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
83/100
higher than 65% of 48,255 servers
Tools
44
the typical server has 7
Tools that change things
27%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
5
more than 83% of 28,688 servers

What its tools let an agent do: 13 read · 10 create · 17 change · 1 delete · 3 run or deploy

Install EPANET MCP Server in Claude Code, Cursor or VS Code

claude mcp add epanet-mcp-server -- uvx epanet-mcp-server
Add to Cursor

What the publisher says

From the EPANET MCP Server repository's README, as published. We do not edit it. Read it on GitHub

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

Requirements

  • Python ≥ 3.10
  • ePyT ≥ 2.0
  • mcp ≥ 1.0
pip install epyt mcp

Installation

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.server

SSE / HTTP

epanet-mcp-server --transport sse --port 8000

Claude Desktop configuration

Add to ~/Library/Application Support/Claude/claudedesktopconfig.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."

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

EPANET MCP Server: common questions

Is EPANET MCP Server safe?
Mostly: it is graded B (83/100). Read the EPANET MCP Server safety report
How do I install EPANET MCP Server?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does EPANET MCP Server need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is EPANET MCP Server maintained?
The last commit was 155 days ago (2026-06-02). The latest release is v0.1.2.
How does EPANET MCP Server compare with other MCP servers?
safety score 83/100 (higher than 65% of 48,255 servers); tools 44 (the typical server has 7); tools that change things 27% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.