Skip to main content
Glama

bulc_place_evac_agents

Place evacuation agents in building simulations to analyze emergency scenarios. Distribute agents randomly by count or position them at specific coordinates for fire safety planning.

Instructions

Place evacuation agents in rooms or at specific positions. Can place by count (random distribution) or at exact coordinates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roomNoRoom name or ID to place agents in
levelNoFloor level index. Default: current level
countNoNumber of agents to place randomly. Required if no positions given.
positionsNoSpecific positions as [[x1,y1], [x2,y2], ...] in cm. Alternative to count.
agentRadiusNoAgent radius in meters. Default: 0.25
desiredSpeedNoDesired walking speed in m/s. Default: 1.2
maxSpeedNoMaximum walking speed in m/s. Default: 1.5
minSpacingNoMinimum spacing between agents in meters. Default: 0.5

Implementation Reference

  • Handler logic for the 'bulc_place_evac_agents' tool: validates input using Zod schema and sends 'place_evac_agents' command to the BULC client.
    case "bulc_place_evac_agents": { const validated = PlaceEvacAgentsSchema.parse(args); result = await client.sendCommand({ action: "place_evac_agents", params: validated, }); break;
  • Zod schema for validating inputs to the 'bulc_place_evac_agents' tool.
    const PlaceEvacAgentsSchema = z.object({ room: z.string().optional(), level: z.number().int().optional(), count: z.number().int().positive().optional(), positions: z.array(z.array(z.number()).length(2)).optional(), agentRadius: z.number().positive().optional(), desiredSpeed: z.number().positive().optional(), maxSpeed: z.number().positive().optional(), minSpacing: z.number().positive().optional(), });
  • Tool definition including name, description, and input schema for MCP registration.
    { name: "bulc_place_evac_agents", description: "Place evacuation agents in rooms or at specific positions. " + "Can place by count (random distribution) or at exact coordinates.", inputSchema: { type: "object" as const, properties: { room: { type: "string", description: "Room name or ID to place agents in", }, level: { type: "integer", description: "Floor level index. Default: current level", }, count: { type: "integer", description: "Number of agents to place randomly. Required if no positions given.", }, positions: { type: "array", description: "Specific positions as [[x1,y1], [x2,y2], ...] in cm. Alternative to count.", items: { type: "array", items: { type: "number" }, }, }, agentRadius: { type: "number", description: "Agent radius in meters. Default: 0.25", }, desiredSpeed: { type: "number", description: "Desired walking speed in m/s. Default: 1.2", }, maxSpeed: { type: "number", description: "Maximum walking speed in m/s. Default: 1.5", }, minSpacing: { type: "number", description: "Minimum spacing between agents in meters. Default: 0.5", }, }, }, annotations: { readOnlyHint: false, destructiveHint: true, },
  • End of evacTools array where the tool is registered in the list of 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