Skip to main content
Glama

bulc_modify_wall

Modify existing wall properties in building designs by adjusting dimensions, position, or thickness to update architectural layouts.

Instructions

Modify properties of an existing wall. Only specified properties will be changed. Get wall IDs from bulc_list_walls.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesWall ID to modify (from bulc_list_walls)
xStartNoNew start X (cm)
yStartNoNew start Y (cm)
xEndNoNew end X (cm)
yEndNoNew end Y (cm)
thicknessNoNew thickness (cm)
heightNoNew height (cm)

Implementation Reference

  • Specific handler case for 'bulc_modify_wall' tool: validates input with ModifyWallSchema and sends 'modify_wall' command to BULC client.
    case "bulc_modify_wall": { const validated = ModifyWallSchema.parse(args); result = await client.sendCommand({ action: "modify_wall", params: validated, }); break;
  • Zod schema used for runtime input validation of bulc_modify_wall parameters.
    const ModifyWallSchema = z.object({ id: z.string(), xStart: z.number().optional(), yStart: z.number().optional(), xEnd: z.number().optional(), yEnd: z.number().optional(), thickness: z.number().positive().optional(), height: z.number().positive().optional(), });
  • Tool metadata registration in wallTools array, including MCP inputSchema, description, and annotations for bulc_modify_wall.
    { name: "bulc_modify_wall", description: "Modify properties of an existing wall. Only specified properties will be changed. " + "Get wall IDs from bulc_list_walls.", inputSchema: { type: "object" as const, properties: { id: { type: "string", description: "Wall ID to modify (from bulc_list_walls)", }, xStart: { type: "number", description: "New start X (cm)" }, yStart: { type: "number", description: "New start Y (cm)" }, xEnd: { type: "number", description: "New end X (cm)" }, yEnd: { type: "number", description: "New end Y (cm)" }, thickness: { type: "number", description: "New thickness (cm)" }, height: { type: "number", description: "New height (cm)" }, }, required: ["id"], }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
  • src/index.ts:40-51 (registration)
    Combines wallTools (including bulc_modify_wall) into allTools list advertised via 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:74-76 (registration)
    Main MCP tool call dispatcher routes bulc_*_wall tools (including bulc_modify_wall) to wall handler.
    if (name.startsWith("bulc_") && name.includes("wall")) { return await handleWallTool(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