Skip to main content
Glama
Meteor-Simulation

BULC MCP

Official

Evac run

evac_run

Runs a live-app evacuation simulation after user confirmation, building engine input from agents, exits, walls, and stairs, then starts it for status polling and results.

Instructions

Run the evacuation simulation in the running app after the user agreed (confirm=true): builds the same engine input as the EVAC run dialog (agents, exits = OPEN vents / door items / Door_·Window_ holes, walls, stairs → multi-level mode, waypoints, journeys, FED and alarm settings) and starts the engine in the background. Refuses with no agents, and with no user-defined exits unless allowNoExits=true (the engine would then use temporary exits at the domain edges). Poll evac_status, then read evac_get_results. Live app only. [bulc-mcp] Starts the evacuation engine after the user agreed; outputFolder also writes the result there (EVAC-004). [bulc-mcp rules] EVAC-004 — bulc_knowledge_search ""

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true — the user has agreed to this action
allowNoExitsNoRun even without user-defined exits (default false)
outputFolderNoFolder for the .evac result file (default: the project folder)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.0.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare the generic write profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds real behavioral context the annotations cannot: the engine runs in the background (hence polling), specific refusal conditions, the fallback behavior of temporary exits at domain edges when allowNoExits=true, and the side effect of outputFolder writing a .evac file.

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 and its precondition, and every clause carries information (input composition, refusals, follow-ups). It is, however, one long run-on sentence with a heavy parenthetical, and the trailing '[bulc-mcp rules] EVAC-004 — bulc_knowledge_search' fragment is procedural noise rather than tool guidance.

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

Completeness4/5

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

With no output schema, the description compensates by naming the follow-up tools (evac_status, evac_get_results) an agent must call instead of expecting an inline result. It covers preconditions, failure modes, and side effects; only the return-shape and timing expectations of the background run are left implicit.

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 coverage is 100%, so the baseline is 3, but the description goes further: it explains what allowNoExits actually changes in the engine (temporary exits at domain edges) and that outputFolder also writes the result there under rule EVAC-004. This adds meaning beyond the terse schema strings.

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?

States a specific verb (run) and resource (evacuation simulation) and scopes it to the live app, distinguishing it from the many evac_* configuration tools and from sim_start/run_simulation. It also enumerates what the engine input is built from (agents, exits, walls, stairs, FED, alarm), so an agent knows exactly what this action covers.

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?

Gives an explicit precondition (user agreed / confirm=true), explicit when-not conditions (refuses with no agents, and with no user-defined exits unless allowNoExits=true), and routes the agent through the lifecycle afterwards (poll evac_status, then read evac_get_results). The 'Live app only' constraint further narrows applicability.

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

Deploy Server

Other Tools