Skip to main content
Glama
using76
by using76

bulc_run_aset_analysis

Analyze building egress safety by evaluating temperature, visibility, and gas levels at exit locations to determine Available Safe Egress Time.

Instructions

Run ASET (Available Safe Egress Time) analysis at a specified exit location. Evaluates safety criteria: temperature <60C, visibility >5m, CO <1400ppm, CO2 <5%, O2 >15%.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
exitXYesExit X coordinate in meters
exitYYesExit Y coordinate in meters
exitZNoExit Z coordinate in meters. Default: 1.8 (breathing height)
criteriaNoCustom safety criteria (optional)

Implementation Reference

  • Handler logic for the 'bulc_run_aset_analysis' tool: validates input arguments using RunAsetAnalysisSchema and sends the 'run_aset_analysis' command to the BULC client.
    case "bulc_run_aset_analysis": {
      const validated = RunAsetAnalysisSchema.parse(args);
      result = await client.sendCommand({
        action: "run_aset_analysis",
        params: validated,
      });
      break;
    }
  • Tool definition including name, description, input schema, and annotations for 'bulc_run_aset_analysis'.
    {
      name: "bulc_run_aset_analysis",
      description:
        "Run ASET (Available Safe Egress Time) analysis at a specified exit location. " +
        "Evaluates safety criteria: temperature <60C, visibility >5m, CO <1400ppm, CO2 <5%, O2 >15%.",
      inputSchema: {
        type: "object" as const,
        properties: {
          exitX: {
            type: "number",
            description: "Exit X coordinate in meters",
          },
          exitY: {
            type: "number",
            description: "Exit Y coordinate in meters",
          },
          exitZ: {
            type: "number",
            description: "Exit Z coordinate in meters. Default: 1.8 (breathing height)",
          },
          criteria: {
            type: "object",
            description: "Custom safety criteria (optional)",
            properties: {
              maxTemperature: {
                type: "number",
                description: "Max safe temperature in Celsius. Default: 60",
              },
              minVisibility: {
                type: "number",
                description: "Min visibility in meters. Default: 5",
              },
              maxCo: {
                type: "number",
                description: "Max CO in ppm. Default: 1400",
              },
              maxCo2: {
                type: "number",
                description: "Max CO2 in percent. Default: 5",
              },
              minO2: {
                type: "number",
                description: "Min O2 in percent. Default: 15",
              },
            },
          },
        },
        required: ["exitX", "exitY"],
      },
      annotations: {
        readOnlyHint: true,
        destructiveHint: false,
      },
    },
  • Zod schema for input validation of the 'bulc_run_aset_analysis' tool.
    const RunAsetAnalysisSchema = z.object({
      exitX: z.number(),
      exitY: z.number(),
      exitZ: z.number().optional(),
      criteria: z.object({
        maxTemperature: z.number().optional(),
        minVisibility: z.number().positive().optional(),
        maxCo: z.number().positive().optional(),
        maxCo2: z.number().positive().optional(),
        minO2: z.number().positive().optional(),
      }).optional(),
    });
  • src/index.ts:124-132 (registration)
    Routing registration in main server handler: directs 'bulc_run_aset_analysis' calls to handleResultTool.
    if (
      name === "bulc_open_result_viewer" ||
      name === "bulc_list_result_datasets" ||
      name === "bulc_get_point_data" ||
      name === "bulc_run_aset_analysis" ||
      name === "bulc_generate_report"
    ) {
      return await handleResultTool(name, safeArgs);
    }
  • src/index.ts:40-51 (registration)
    Includes resultTools (containing 'bulc_run_aset_analysis') in the full list of available tools served by ListToolsRequest.
    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
    ];

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