Skip to main content
Glama

bulc_modify_room

Modify existing room properties like name, position, and dimensions in BULC Building Designer. Update specific attributes without recreating rooms.

Instructions

Modify properties of an existing room. Only specified properties will be changed. Get room IDs from bulc_list_rooms first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesRoom ID to modify (from bulc_list_rooms)
nameNoNew room name
xNoNew X coordinate of bottom-left corner (cm)
yNoNew Y coordinate of bottom-left corner (cm)
widthNoNew width (cm)
depthNoNew depth (cm)

Implementation Reference

  • Executes the bulc_modify_room tool by parsing arguments with ModifyRoomSchema and sending a 'modify_room' command to the BULC client.
    case "bulc_modify_room": { const validated = ModifyRoomSchema.parse(args); result = await client.sendCommand({ action: "modify_room", params: validated, }); break; }
  • Zod validation schema for the inputs to the bulc_modify_room tool.
    const ModifyRoomSchema = z.object({ id: z.string(), name: z.string().optional(), x: z.number().optional(), y: z.number().optional(), width: z.number().positive().optional(), depth: z.number().positive().optional(), });
  • MCP tool schema definition for bulc_modify_room, including input schema, description, and annotations.
    { name: "bulc_modify_room", description: "Modify properties of an existing room. Only specified properties will be changed. " + "Get room IDs from bulc_list_rooms first.", inputSchema: { type: "object" as const, properties: { id: { type: "string", description: "Room ID to modify (from bulc_list_rooms)", }, name: { type: "string", description: "New room name", }, x: { type: "number", description: "New X coordinate of bottom-left corner (cm)", }, y: { type: "number", description: "New Y coordinate of bottom-left corner (cm)", }, width: { type: "number", description: "New width (cm)", }, depth: { type: "number", description: "New depth (cm)", }, }, required: ["id"], }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
  • src/index.ts:54-58 (registration)
    Registers all tools, including bulc_modify_room via roomTools inclusion in allTools, for the MCP ListToolsRequest.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, }; });
  • Dispatches calls to bulc_modify_room (and other room tools) to the handleRoomTool function.
    // Room tools if (name.startsWith("bulc_") && name.includes("room")) { return await handleRoomTool(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