bulc_create_level
Create new floor levels in building designs by specifying elevation, name, and floor height for multi-story structures.
Instructions
Create a new floor level. Elevation is the height from ground (Z=0) to the floor surface in centimeters.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Level name (e.g., '2층', 'Second Floor', '지하') | |
| elevation | No | Floor elevation in cm from ground. If omitted, placed above highest existing level. Use negative for basement. | |
| floorHeight | No | Floor-to-ceiling height in cm. Default: 280 |
Implementation Reference
- src/tools/context.ts:200-207 (handler)Handler case for the bulc_create_level MCP tool. Validates input using Zod schema and forwards the create_level action to the BULC client via sendCommand.case "bulc_create_level": { const validated = CreateLevelSchema.parse(args); result = await client.sendCommand({ action: "create_level", params: validated, }); break; }
- src/tools/context.ts:150-154 (schema)Zod validation schema for the input parameters of the bulc_create_level tool (name required, elevation and floorHeight optional).const CreateLevelSchema = z.object({ name: z.string(), elevation: z.number().optional(), floorHeight: z.number().positive().optional(), });
- src/tools/context.ts:56-82 (registration)Registration of the bulc_create_level tool in the contextTools array, including description, input schema definition, and annotations.{ name: "bulc_create_level", description: "Create a new floor level. Elevation is the height from ground (Z=0) to the floor surface in centimeters.", inputSchema: { type: "object" as const, properties: { name: { type: "string", description: "Level name (e.g., '2층', 'Second Floor', '지하')", }, elevation: { type: "number", description: "Floor elevation in cm from ground. If omitted, placed above highest existing level. Use negative for basement.", }, floorHeight: { type: "number", description: "Floor-to-ceiling height in cm. Default: 280", }, }, required: ["name"], }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
- src/index.ts:151-162 (registration)Main MCP tool call handler routing logic that matches bulc_create_level and delegates to the specific handleContextTool function.if ( name === "bulc_get_spatial_context" || name === "bulc_get_home_info" || name === "bulc_list_levels" || name === "bulc_create_level" || name === "bulc_set_current_level" || name === "bulc_undo" || name === "bulc_redo" || name === "bulc_save" ) { return await handleContextTool(name, safeArgs); }
- src/index.ts:54-57 (registration)MCP ListToolsRequestHandler that returns the allTools array (which includes contextTools containing bulc_create_level).server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, };