Skip to main content
Glama

bulc_setup_evac_stair

Configure furniture as evacuation stairs between floors to define entry/exit points, capacity, and travel speed for building safety simulations.

Instructions

Configure a furniture item as an evacuation stair connection between floors. Defines entry/exit positions, capacity, and travel speed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
furnitureIdYesFurniture ID to configure as stair
fromFloorYesSource floor index (0=ground floor)
toFloorYesDestination floor index
entryXNoEntry point X coordinate in cm
entryYNoEntry point Y coordinate in cm
exitXNoExit point X coordinate in cm
exitYNoExit point Y coordinate in cm
widthNoStair width in meters. Default: 1.2
capacityNoMax people on stair at once. Default: 10
travelSpeedNoTravel speed in m/s. Default: 0.6

Implementation Reference

  • Specific handler case for 'bulc_setup_evac_stair' tool within the main handleEvacTool function. Validates input parameters using SetupEvacStairSchema and forwards the command to the BULC client backend.
    case "bulc_setup_evac_stair": { const validated = SetupEvacStairSchema.parse(args); result = await client.sendCommand({ action: "setup_evac_stair", params: validated, }); break;
  • MCP tool schema definition including name, description, detailed input schema, and annotations. Part of the evacTools array.
    { name: "bulc_setup_evac_stair", description: "Configure a furniture item as an evacuation stair connection between floors. " + "Defines entry/exit positions, capacity, and travel speed.", inputSchema: { type: "object" as const, properties: { furnitureId: { type: "string", description: "Furniture ID to configure as stair", }, fromFloor: { type: "integer", description: "Source floor index (0=ground floor)", }, toFloor: { type: "integer", description: "Destination floor index", }, entryX: { type: "number", description: "Entry point X coordinate in cm", }, entryY: { type: "number", description: "Entry point Y coordinate in cm", }, exitX: { type: "number", description: "Exit point X coordinate in cm", }, exitY: { type: "number", description: "Exit point Y coordinate in cm", }, width: { type: "number", description: "Stair width in meters. Default: 1.2", }, capacity: { type: "integer", description: "Max people on stair at once. Default: 10", }, travelSpeed: { type: "number", description: "Travel speed in m/s. Default: 0.6", }, }, required: ["furnitureId", "fromFloor", "toFloor"], }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
  • Zod runtime validation schema matching the MCP inputSchema, used in the handler for safe parameter parsing.
    const SetupEvacStairSchema = z.object({ furnitureId: z.string(), fromFloor: z.number().int().min(0), toFloor: z.number().int().min(0), entryX: z.number().optional(), entryY: z.number().optional(), exitX: z.number().optional(), exitY: z.number().optional(), width: z.number().positive().optional(), capacity: z.number().int().positive().optional(), travelSpeed: z.number().positive().optional(), });
  • src/index.ts:40-51 (registration)
    Registration of all tool schemas including evacTools (containing bulc_setup_evac_stair) into the combined allTools array, provided to MCP 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 ];
  • src/index.ts:135-137 (registration)
    Routing logic in main MCP CallToolRequest handler that directs 'bulc_setup_evac_stair' (matches 'evac') calls to the evac-specific handleEvacTool dispatcher.
    if (name.startsWith("bulc_") && name.includes("evac")) { return await handleEvacTool(name, safeArgs); }

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