Skip to main content
Glama
using76
by using76

bulc_create_room

Destructive

Create rectangular rooms in building designs by specifying position, dimensions, and floor level for architectural planning and layout development.

Instructions

Create a new rectangular room at the specified position. All coordinates are in centimeters (cm). Use bulc_get_spatial_context first if you need to position relative to existing rooms. Example: To create a 5m x 4m room, use width=500, depth=400.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYesX coordinate of bottom-left corner in centimeters
yYesY coordinate of bottom-left corner in centimeters
widthYesRoom width in centimeters (X direction). 1m = 100cm
depthYesRoom depth in centimeters (Y direction). 1m = 100cm
nameNoRoom name for display (e.g., 'Living Room', '거실')
levelNoFloor level index. 0 = ground floor, 1 = first floor. Default: current level

Implementation Reference

  • Core handler logic for the 'bulc_create_room' tool. Validates input using CreateRoomSchema and sends a 'create_room' command to the BULC client via sendCommand.
    case "bulc_create_room": {
      const validated = CreateRoomSchema.parse(args);
      result = await client.sendCommand({
        action: "create_room",
        params: validated,
      });
      break;
    }
  • Zod validation schema used in the handler to parse and validate parameters for creating a rectangular room (x, y, width, depth, optional name and level).
    const CreateRoomSchema = z.object({
      x: z.number(),
      y: z.number(),
      width: z.number().positive(),
      depth: z.number().positive(),
      name: z.string().optional(),
      level: z.number().int().optional(),
    });
  • src/tools/room.ts:8-49 (registration)
    Tool registration object defining name, description, input schema, and annotations for 'bulc_create_room' in the roomTools array, exposed to MCP ListTools.
    {
      name: "bulc_create_room",
      description:
        "Create a new rectangular room at the specified position. " +
        "All coordinates are in centimeters (cm). " +
        "Use bulc_get_spatial_context first if you need to position relative to existing rooms. " +
        "Example: To create a 5m x 4m room, use width=500, depth=400.",
      inputSchema: {
        type: "object" as const,
        properties: {
          x: {
            type: "number",
            description: "X coordinate of bottom-left corner in centimeters",
          },
          y: {
            type: "number",
            description: "Y coordinate of bottom-left corner in centimeters",
          },
          width: {
            type: "number",
            description: "Room width in centimeters (X direction). 1m = 100cm",
          },
          depth: {
            type: "number",
            description: "Room depth in centimeters (Y direction). 1m = 100cm",
          },
          name: {
            type: "string",
            description: "Room name for display (e.g., 'Living Room', '거실')",
          },
          level: {
            type: "integer",
            description: "Floor level index. 0 = ground floor, 1 = first floor. Default: current level",
          },
        },
        required: ["x", "y", "width", "depth"],
      },
      annotations: {
        readOnlyHint: false,
        destructiveHint: true,
      },
    },
  • src/index.ts:68-71 (registration)
    Routing logic in main MCP CallTool handler that dispatches 'bulc_*_room' tool calls to the specific handleRoomTool function.
    // Room tools
    if (name.startsWith("bulc_") && name.includes("room")) {
      return await handleRoomTool(name, safeArgs);
    }
  • src/index.ts:40-42 (registration)
    Includes roomTools (containing bulc_create_room) into the complete allTools list provided to MCP ListToolsRequestHandler.
    const allTools = [
      ...contextTools,      // 8 tools: spatial context, home info, levels, undo/redo, save
      ...roomTools,         // 5 tools: create, create_polygon, list, modify, delete

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