Skip to main content
Glama
idfkit

idfkit-mcp

Official
by idfkit

run_simulation

Idempotent

Execute EnergyPlus on a loaded building model to validate runtime behavior, write simulation outputs, and prepare QA diagnostics for results review.

Instructions

Execute EnergyPlus on the loaded model — the authoritative runtime validation gate.

Fatal or severe errors mean the model did not simulate correctly. A clean exit does not guarantee physically reasonable results. After this call, read the resource idfkit://simulation/results for full QA diagnostics: unmet hours by zone, end-use energy breakdown, classified warnings, and QA flags that drive the fix loop.

Preconditions: model loaded; weather file set via download_weather_file, or a design-day-only run (design_day=True, annual=False), which needs no weather file. Side effects: writes outputs to output_directory; updates session simulation result. Next step: read idfkit://simulation/results to assess result quality.

Input Schema

NameRequiredDescriptionDefault
annualNoAnnual simulation.
readvarsNoRun ReadVarsESO after the simulation to produce eplusout.csv (and eplusmtr.csv when meters are requested) alongside the .eso/.mtr files.
design_dayNoDesign-day only.
weather_fileNoEPW path (default: last downloaded).
energyplus_dirNoEnergyPlus install dir.
output_directoryNoOutput dir.
energyplus_versionNoVersion filter "X.Y.Z".

Output Schema

NameRequiredDescriptionDefault
errorsYesError summary from a simulation run.
successYes
energyplusYesEnergyPlus installation metadata.
runtime_secondsYes
output_directoryYes
simulation_completeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.3

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare the safety profile (non-read-only, non-destructive, idempotent), and the description adds value beyond them: fatal/severe errors signal failure, a clean exit does not guarantee physically reasonable results, and side effects (writes to output_directory, updates session simulation result) are disclosed. This is exactly the behavioral context the annotations cannot convey.

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

Conciseness4/5

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

Front-loaded with the core action in the first sentence, then preconditions, side effects, and next step in labeled blocks. Every sentence carries actionable information, though the prose is denser than strictly necessary for a 7-param tool with 0 required parameters.

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?

With an output schema present, the description need not explain return values, and it correctly redirects the agent to the results resource for QA diagnostics (unmet hours, end-use breakdown, QA flags). Preconditions, side effects, and error semantics are all covered for a tool of this complexity.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning by tying weather_file to its precondition and explaining the design_day/annual combination as the no-weather-file mode. That goes beyond the terse schema descriptions ('Annual simulation.', 'Design-day only.').

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 first clause gives a specific verb (Execute), the resource (EnergyPlus on the loaded model), and a scope claim ('the authoritative runtime validation gate') that distinguishes it from siblings like validate_model and check_model_integrity. An agent can immediately tell this performs the actual simulation run rather than a static check.

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

Usage Guidelines5/5

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

Explicit preconditions (model loaded; weather file set via download_weather_file) and an alternative path (design_day=True, annual=False needs no weather file) are stated. It also names the next step, read idfkit://simulation/results, so the agent knows both when to call this and what to do afterward.

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