bulc_save_evac_result
Save evacuation simulation results from BULC fire analysis to a .evac file for documentation and further analysis.
Instructions
Save current evacuation results to a .evac file.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| outputPath | No | Output path for .evac file. Default: project folder | |
| filename | No | Filename without extension. Default: project name |
Implementation Reference
- src/tools/evac.ts:1040-1047 (handler)Handler case in handleEvacTool function that executes the tool: validates input schema and sends 'save_evac_result' action command to BULC client.case "bulc_save_evac_result": { const validated = SaveEvacResultSchema.parse(args); result = await client.sendCommand({ action: "save_evac_result", params: validated, }); break; }
- src/tools/evac.ts:448-468 (schema)Tool definition in evacTools array: includes name, description, inputSchema for MCP tool list.{ name: "bulc_save_evac_result", description: "Save current evacuation results to a .evac file.", inputSchema: { type: "object" as const, properties: { outputPath: { type: "string", description: "Output path for .evac file. Default: project folder", }, filename: { type: "string", description: "Filename without extension. Default: project name", }, }, }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
- src/tools/evac.ts:811-814 (schema)Zod input validation schema for the tool arguments.const SaveEvacResultSchema = z.object({ outputPath: z.string().optional(), filename: z.string().optional(), });
- src/index.ts:135-148 (registration)Dispatch logic in main tool handler that routes 'bulc_save_evac_result' calls to the evac handler.if (name.startsWith("bulc_") && name.includes("evac")) { return await handleEvacTool(name, safeArgs); } // Also handle agent_properties, rset_report, exit_assignment, premovement, fire_coupling as EVAC tools if ( name === "bulc_set_agent_properties" || name === "bulc_generate_rset_report" || name === "bulc_save_evac_result" || name === "bulc_set_exit_assignment" || name === "bulc_set_premovement_time" || name === "bulc_set_fire_coupling" ) { return await handleEvacTool(name, safeArgs); }
- src/index.ts:54-58 (registration)Registers all tools including evacTools (containing bulc_save_evac_result) for MCP listTools request.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, }; });