Skip to main content
Glama
hjlrosales

EPANET MCP Server

by hjlrosales

get_node_results

Retrieve EPANET node simulation results for demand, head, pressure, or quality. Specify timesteps, node IDs, or a run ID to get precise data, with min/max/mean summaries when omitted.

Instructions

Query simulation results for nodes. Defaults to the last timestep and includes min/max/mean over time unless timesteps are given. Node ids are capped at 250, timesteps at 100. Pass the runId returned by run_simulation to pin results to a specific run; omit for the latest run. Units and a qualityAnalyzed flag are included in every response. Demand for tanks/reservoirs is net inflow; tank pressure is 0 by definition.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runIdNoThe run id returned by run_simulation. Omit to use the latest run.
offsetNoZero-based index of the first node to return; combine with the cap to page through large networks.
nodeIdsNoNode ids to query. Omit for all nodes (capped at 250 per page).
networkIdYesThe network id returned by load_network.
timestepsNoZero-based reporting timestep indices. Omit to get the last timestep plus min/max/mean over time.
propertiesNoResult properties to return. Defaults to pressure.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully assumes the burden of behavioral disclosure. It details default timestep behavior, inclusion of min/max/mean, caps on nodeIds and timesteps, runId handling, output flags (units, qualityAnalyzed), and special cases for tanks/reservoirs. This is comprehensive and leaves little to inference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise yet dense, front-loaded with the core purpose, then systematically covering defaults, limits, run selection, output flags, and edge cases. Each sentence contributes valuable information without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema and annotations, the description covers all essential aspects for correct invocation: defaults, caps, run selection, output flags, and node-specific behavior. It is self-sufficient for an agent to call this tool reliably given its complexity and parameter count.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes all parameters at 100% coverage, but the description adds extra meaning: it explains pagination semantics for offset, default property behavior, and special node-type nuances like net inflow for tanks/reservoirs and zero tank pressure. This goes beyond the schema and enhances the agent's understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource, 'Query simulation results for nodes,' which immediately makes the tool's purpose clear. It is distinct from siblings like get_link_results (links) and get_nodes (network structure), and the description adds specificity with defaults and limits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (for node simulation results) and explains parameter behaviors like runId selection, pagination via offset, and default timestep handling. However, it does not explicitly contrast with alternatives such as get_nodes or get_link_results, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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