Skip to main content
Glama
using76
by using76

bulc_set_premovement_time

Destructive

Configure evacuation agent pre-movement timing by setting fire detection time and reaction time parameters with statistical distributions for building safety simulations.

Instructions

Set pre-movement time parameters for evacuation agents. Includes detection time and reaction time with statistical distributions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detectionTimeNoFire detection time in seconds. Default: 0 (instant detection)
reactionTimeMeanNoMean reaction time in seconds. Default: 30
reactionTimeStdDevNoReaction time standard deviation in seconds. Default: 10
distributionNoDistribution type: 'NORMAL', 'LOGNORMAL', 'UNIFORM'. Default: NORMAL
minReactionTimeNoMinimum reaction time in seconds. Default: 0
maxReactionTimeNoMaximum reaction time in seconds. For UNIFORM distribution.
applyPerRoomNoApply different reaction times per room. Default: false
roomSettingsNoPer-room settings: [{room: '...', reactionTimeMean: ...}, ...]

Implementation Reference

  • The handler case within handleEvacTool function that validates input using SetPremovementTimeSchema and sends the 'set_premovement_time' command to the BULC client.
    case "bulc_set_premovement_time": {
      const validated = SetPremovementTimeSchema.parse(args);
      result = await client.sendCommand({
        action: "set_premovement_time",
        params: validated,
      });
      break;
    }
  • Zod validation schema used in the handler to parse and validate the tool input parameters.
    const SetPremovementTimeSchema = z.object({
      detectionTime: z.number().min(0).optional(),
      reactionTimeMean: z.number().min(0).optional(),
      reactionTimeStdDev: z.number().min(0).optional(),
      distribution: z.enum(["NORMAL", "LOGNORMAL", "UNIFORM"]).optional(),
      minReactionTime: z.number().min(0).optional(),
      maxReactionTime: z.number().positive().optional(),
      applyPerRoom: z.boolean().optional(),
      roomSettings: z.array(z.object({
        room: z.string(),
        reactionTimeMean: z.number().optional(),
        reactionTimeStdDev: z.number().optional(),
      })).optional(),
    });
  • Tool specification object defining name, description, input schema, and annotations, included in the exported evacTools array for MCP server registration.
    {
      name: "bulc_set_premovement_time",
      description:
        "Set pre-movement time parameters for evacuation agents. " +
        "Includes detection time and reaction time with statistical distributions.",
      inputSchema: {
        type: "object" as const,
        properties: {
          detectionTime: {
            type: "number",
            description: "Fire detection time in seconds. Default: 0 (instant detection)",
          },
          reactionTimeMean: {
            type: "number",
            description: "Mean reaction time in seconds. Default: 30",
          },
          reactionTimeStdDev: {
            type: "number",
            description: "Reaction time standard deviation in seconds. Default: 10",
          },
          distribution: {
            type: "string",
            description: "Distribution type: 'NORMAL', 'LOGNORMAL', 'UNIFORM'. Default: NORMAL",
            enum: ["NORMAL", "LOGNORMAL", "UNIFORM"],
          },
          minReactionTime: {
            type: "number",
            description: "Minimum reaction time in seconds. Default: 0",
          },
          maxReactionTime: {
            type: "number",
            description: "Maximum reaction time in seconds. For UNIFORM distribution.",
          },
          applyPerRoom: {
            type: "boolean",
            description: "Apply different reaction times per room. Default: false",
          },
          roomSettings: {
            type: "array",
            description: "Per-room settings: [{room: '...', reactionTimeMean: ...}, ...]",
            items: {
              type: "object",
              properties: {
                room: { type: "string" },
                reactionTimeMean: { type: "number" },
                reactionTimeStdDev: { type: "number" },
              },
            },
          },
        },
      },
      annotations: {
        readOnlyHint: false,
        destructiveHint: true,
      },
    },
  • src/index.ts:139-149 (registration)
    Dispatch logic in main tool handler that routes calls to 'bulc_set_premovement_time' to the handleEvacTool function.
    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:40-51 (registration)
    Main tools array that includes evacTools (containing the bulc_set_premovement_time tool) for listing available tools to the MCP client.
    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
    ];

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

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