The building

Add a roof (add_roof): a home3dplan MCP tool

add_roof: Draw a roof over an outline given in scene metres (x, and y = plan z, so plan y 4000 mm is -4). The eave measures the walls the outline covers unless eaveAt is a level in metres. Types: flat, hipped, gabled, shed. Overhang and thickness in metres, pitch in degrees.

`add_roof` is one of the 24 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

Draw a roof over an outline given in scene metres (x, and y = plan z, so plan y 4000 mm is -4). The eave measures the walls the outline covers unless eaveAt is a level in metres. Types: flat, hipped, gabled, shed. Overhang and thickness in metres, pitch in degrees. Material slots: roof (covering), edge (fascia and soffit), gable, ridge.

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.

**outline** (({ x: number, y: number })[], required): See the tool’s description.

**type** (flat | hipped | gabled | shed): Default hipped.

**pitch** (number): See the tool’s description.

**overhang** (number): See the tool’s description.

**thickness** (number): See the tool’s description.

**eaveAt** (string | number): See the tool’s description.

**eaveOffset** (number): See the tool’s description.

**shedDirection** (number): degrees the low side of a shed roof faces

**materials** ({ roof?: string, edge?: string, gable?: string, ridge?: string }): 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

"Add a hipped roof at 30 degrees with 500 mm eaves."

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