The building

Change objects (set_objects): a home3dplan MCP tool

set_objects: Change placed things by id (list_objects, get_plan, or an earlier result), the editor’s panels as a tool. Objects: position {x,y,z} and rotation in degrees, scale, floor, toFloor (stairs), layerId, material {slot, id}, preset and kind (custom furniture), and recipe, a paramete.

`set_objects` is one of the 38 tools the home3dplan MCP server offers an assistant. Connect [Claude](/mcp/claude), [Claude Code](/mcp/claude-code) or [ChatGPT](/mcp/chatgpt) and it is available in the conversation.

What it does

Change placed things by id (list_objects, get_plan, or an earlier result), the editor’s panels as a tool. Objects: position {x,y,z} and rotation in degrees, scale, floor, toFloor (stairs), layerId, material {slot, id}, preset and kind (custom furniture), and recipe, a parameter patch for stairs (totalRise, treadDepth, targetRiser, landingDepth, width in mm), columns, pergolas, pots, house plants, kitchens and custom furniture. Lights: color, intensity, distance, angle (degrees), penumbra, target, width, height, position. Roofs: type (flat, hipped, gabled, shed), pitch, overhang, thickness, eaveAt, materials. Fences: height, infill, finish, gates. Blocks: baseY, height, sides, top. Plants: scale. Lawns, roads, paved areas and ground records: their own fields (level, batter, upper, lower, thickness). Drawing entities: any of their fields (a wall’s thickness or material, an opening’s width, a text’s content). Unknown ids and fields the kind lacks are reported, not applied.

A write. It saves one revision of the project, which appears in the open editor at once and can be undone there. Scope: **projects:write**.

Inputs

**projectId** (string, required): See the tool’s description.

**changes** (({ id: string, patch: object })[], required): See the tool’s description.

What comes back

What changed, in words and in a structured form, and the link that opens the project in the editor on the right storey and view.

Tip: if the project changed in the editor between two calls, the write is refused as a conflict and the assistant opens the project again. Nothing is overwritten.

Ask for it like this

"Use set_objects on my project."

The assistant chooses the tool and fills its inputs from what you said; you do not name the tool or type its inputs.

Read next