Skip to main content
Glama
hjlrosales

EPANET MCP Server

by hjlrosales

Servidor MCP de EPANET

Un servidor MCP que pone el motor hidráulico/de calidad del agua EPANET al alcance de asistentes de IA (Claude Desktop, Cursor, VS Code Copilot, Claude Code, …) a través de stdio — sin ida y vuelta a la nube, sin navegador.

Permite que un asistente de IA cargue un modelo .inp/.net de EPANET, lo inspeccione, ejecute simulaciones, lea resultados por nodo/enlace y realice ediciones validadas, todo localmente.

Herramientas

  • E/S de redload_network, save_network, list_networks

  • Inspecciónget_network_summary, get_nodes, get_links, get_coordinates

  • Simulaciónrun_simulation, get_node_results, get_link_results

  • Mutación (validada por el motor, invalida resultados) — set_pipe_diameter, set_junction_demand, set_pump_speed, set_valve_setting, set_node_elevation, set_demand_pattern, add_tank, remove_tank, add_valve

  • Construcción de modeloscreate_network, assign_demands, sample_elevations, fetch_road_network, generate_network_from_bbox

  • Ayudas de diseñolookup_pipe_diameters, recommend_diameter, friction_loss, calculate_minor_loss, pipe_sizing_wizard, pump_selection, list_fitting_kfactors

  • Optimizaciónoptimize_network, run_candidate

generate_network_from_bbox diseña automáticamente un esqueleto de nudos/tuberías a partir de datos reales de carreteras de OpenStreetMap para un cuadro delimitador, con un depósito colocado en la vía fluvial más cercana y elevaciones del terreno muestreadas de un DEM IFSAR de 10 m incluido.

Related MCP server: idfkit-mcp

Requisitos previos

Requisito

Versión

Node.js

20.x o 21.x

SO

Windows, macOS o Linux — el transporte es stdio, no se abren puertos de red

Instalación

npm install

Ejecución local

El directorio de datos desde el que el servidor lee (load_network) y al que escribe (save_network) está contenido en una ruta — el servidor rechaza cualquier archivo fuera de él.

mkdir -p data
cp your-model.inp data/
export EPANET_DATA_DIR=$(pwd)/data
npm start

El servidor arranca y espera a un cliente en stdio.

Conéctalo a una aplicación de IA

Claude Desktop

Edita claude_desktop_config.json (%APPDATA%\Claude\claude_desktop_config.json en Windows, ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{
  "mcpServers": {
    "epanet": {
      "command": "npm",
      "args": ["start"],
      "cwd": "<absolute path to this repo>",
      "env": {
        "EPANET_DATA_DIR": "<absolute path to this repo>/data"
      }
    }
  }
}

Cursor / VS Code

La misma estructura funciona en Cursor (%APPDATA%\Cursor\User\globalStorage\mcp.json) o VS Code (%APPDATA%\Code\User\mcp.json) — command: "npm", mismos args/env.

Configuración

El servidor lee estas variables de entorno:

Variable de entorno

Por defecto

Propósito

EPANET_DATA_DIR

cwd

Carpeta que load_network/save_network pueden leer/escribir

EPANET_DEM_DIR

sin definir

Carpeta desde la que leen las herramientas de DEM/elevación

EPANET_AUTH_PUBLIC_KEY

sin definir

Clave pública RS256 para autenticación opcional por token

EPANET_AUTH_VALIDATE_URL

sin definir

URL de bucle local para validación de token

EPANET_AUTH_ISSUER

sin definir

iss esperado del JWT

EPANET_AUTH_AUDIENCE

sin definir

aud esperado del JWT

EPANET_AUTH_TOKEN

sin definir

Token estático de portador (uso en CI)

EPANET_AUTH_TOKEN_FILE

sin definir

Ruta a un archivo que contiene el token de portador

La autenticación está desactivada por defecto; establece las variables EPANET_AUTH_* para proteger el servidor con un token de portador RS256.

Pruebas

npm test

Las pruebas unitarias utilizan el transporte MCP en memoria con archivos .inp de ejemplo incluidos — no requieren un servidor en ejecución.

Crear un instalador empaquetado

npm run package:win    # or package:mac / package:linux

Produce un instalador autocontenido (runtime de Node incluido, sin necesidad de Node del sistema) en dist/.

Licencia

MIT — consulta LICENSE.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to create, edit, and simulate EnergyPlus building energy models via natural language. Supports schema exploration, model editing, simulation execution, and documentation search.
    39
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to interact with EDA projects via natural language by wrapping EDI's gRPC interface, CLI tools, and ANSYS HFSS as MCP tools supporting SSE and stdio transports.
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/hjlrosales/EPAnet-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server