Skip to main content
Glama

bulc_get_fds_status

Check the current status of FDS fire simulations in BULC Building Designer, including progress, simulation time, and estimated completion.

Instructions

Get current FDS simulation status. Returns running state, progress, current simulation time, and estimated completion.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handleFdsRunTool function serves as the main handler for all FDS run tools, including bulc_get_fds_status. It uses a switch statement to dispatch to the appropriate BULC client command based on the tool name.
    export async function handleFdsRunTool( name: string, args: Record<string, unknown> ): Promise<{ content: Array<{ type: string; text: string }>; isError?: boolean }> { const client = getBulcClient(); try { let result; switch (name) { case "bulc_preview_fds": { const validated = PreviewFdsSchema.parse(args); result = await client.sendCommand({ action: "preview_fds", params: validated, }); break; } case "bulc_validate_fds": { result = await client.sendCommand({ action: "validate_fds", params: {}, }); break; } case "bulc_export_fds": { const validated = ExportFdsSchema.parse(args); result = await client.sendCommand({ action: "export_fds", params: validated, }); break; } case "bulc_run_fds": { const validated = RunFdsSchema.parse(args); result = await client.sendCommand({ action: "run_fds", params: validated, }); break; } case "bulc_get_fds_status": { result = await client.sendCommand({ action: "get_fds_status", params: {}, }); break; } case "bulc_stop_fds": { const validated = StopFdsSchema.parse(args); result = await client.sendCommand({ action: "stop_fds", params: validated, }); break; } default: throw new Error(`Unknown FDS run tool: ${name}`); } if (result.success) { return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } else { return { content: [{ type: "text", text: result.error || "Operation failed" }], isError: true, }; } } catch (error) { const message = error instanceof Error ? error.message : String(error); return { content: [{ type: "text", text: `Error: ${message}` }], isError: true, }; } }
  • Tool schema definition for bulc_get_fds_status, specifying name, description, empty input schema (no parameters), and read-only annotations.
    { name: "bulc_get_fds_status", description: "Get current FDS simulation status. " + "Returns running state, progress, current simulation time, and estimated completion.", inputSchema: { type: "object" as const, properties: {}, }, annotations: { readOnlyHint: true, destructiveHint: false, }, },
  • src/index.ts:111-121 (registration)
    Registration and routing in the main MCP server CallToolRequestHandler: checks if the tool name is bulc_get_fds_status and routes to handleFdsRunTool.
    // FDS Run tools (preview, validate, export, run, status, stop) if ( name === "bulc_preview_fds" || name === "bulc_validate_fds" || name === "bulc_export_fds" || name === "bulc_run_fds" || name === "bulc_get_fds_status" || name === "bulc_stop_fds" ) { return await handleFdsRunTool(name, safeArgs); }
  • src/index.ts:40-58 (registration)
    The fdsRunTools array (containing bulc_get_fds_status schema) is included in the allTools list, which is returned by ListToolsRequestHandler for tool discovery.
    const allTools = [ ...contextTools, // 8 tools: spatial context, home info, levels, undo/redo, save ...roomTools, // 5 tools: create, create_polygon, list, modify, delete ...wallTools, // 5 tools: create, create_rectangle, list, modify, delete ...furnitureTools, // 5 tools: catalog, place, list, modify, delete ...fdsDataTools, // 7 tools: get, fire_source, detector, sprinkler, hvac, thermocouple, clear ...meshTools, // 5 tools: list, create, auto, modify, delete ...simulationTools, // 4 tools: get_settings, time, output, ambient ...fdsRunTools, // 6 tools: preview, validate, export, run, status, stop ...resultTools, // 5 tools: open_viewer, list_datasets, point_data, aset, report ...evacTools, // 25 tools: setup, stairs, agents, run, results, advanced features ]; // List available tools server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, }; });

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/using76/BULC_MCP'

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