bulc_list_furniture
List all furniture items in a building design with IDs, positions, and properties to manage placement and modifications.
Instructions
Get a list of all placed furniture with their IDs, positions, and properties. Use the returned IDs for modify/delete operations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Filter by floor level index. Omit to list all. | |
| room | No | Filter by room name or ID | |
| category | No | Filter by furniture category |
Implementation Reference
- src/tools/furniture.ts:271-277 (handler)The handler logic for 'bulc_list_furniture' tool: validates input schema and sends 'list_furniture' action to BULC client.case "bulc_list_furniture": { const validated = ListFurnitureSchema.parse(args); result = await client.sendCommand({ action: "list_furniture", params: validated, }); break;
- src/tools/furniture.ts:219-223 (schema)Zod schema used for input validation of 'bulc_list_furniture' tool.const ListFurnitureSchema = z.object({ level: z.number().int().optional(), room: z.string().optional(), category: z.string().optional(), });
- src/tools/furniture.ts:95-121 (registration)MCP tool registration definition for 'bulc_list_furniture', including name, description, input schema, and annotations.{ name: "bulc_list_furniture", description: "Get a list of all placed furniture with their IDs, positions, and properties. " + "Use the returned IDs for modify/delete operations.", inputSchema: { type: "object" as const, properties: { level: { type: "integer", description: "Filter by floor level index. Omit to list all.", }, room: { type: "string", description: "Filter by room name or ID", }, category: { type: "string", description: "Filter by furniture category", }, }, }, annotations: { readOnlyHint: true, destructiveHint: false, }, },
- src/index.ts:54-58 (registration)MCP server lists all tools including furnitureTools containing 'bulc_list_furniture'.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, }; });
- src/index.ts:78-80 (registration)Dispatch routing in main tool handler: routes 'bulc_list_furniture' to handleFurnitureTool.// Furniture tools if (name.startsWith("bulc_") && name.includes("furniture")) { return await handleFurnitureTool(name, safeArgs);