Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Create shells

create_shells

Generate free-form shells like vaults, domes, and canopies by extruding, revolving, or ruling profile polylines.

Instructions

Creates shells (free-form roofs/vaults/domes/canopies). Extruded: an open 'profile' polyline drawn in the profile plane (x across, y up) swept from 'begin' along the 3D 'extrusion' vector — e.g. a barrel vault: {profile: {points: [{x:-3,y:0},{x:3,y:0}], arcs: [{index:0, angle:-180}]}, begin: {x:0,y:0,z:3}, extrusion: {x:0,y:12,z:0}}. Revolved: 'profile' {x = distance from the axis, y = height} revolved by 'revolutionAngle' (default 360) around the vertical axis through 'axisOrigin' — e.g. a dome. Ruled: surface between 'profile' on 'plane1' and 'profile2' on 'plane2'. 'closedProfile': true for closed sections (tubes). 'thickness', 'flipped' (side of the thickness), structure, surfaces, edge trim and floor plan attributes as for roofs. Check the result in 3D and read the stored geometry with get_element_details (basePlane, profile, extrusion ...) — copy those values from an existing shell for exact placement. Units: meters and degrees; coordinates are project coordinates on the home story (default: current story; 'storyIndex' to choose). Unspecified settings come from the tool defaults. Attribute names (building materials, composites, surfaces, fills, line types, layers) are LOCALIZED — look them up with get_attributes. Returns [{guid, type} | {error}] in input order (one undo step; a failing item does not stop the others). Read results back with get_element_details (same field names).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
shellsYesShells to create
undoNameNoName of the undo step shown in Archicad

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds crucial behavioral context beyond that: it returns [{guid, type} | {error}] in input order, groups changes into one undo step, and a failing item does not stop others. It also notes that unspecified settings come from tool defaults and that attribute names are localized.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but front-loaded with the core purpose, then systematically covers modes, placement guidance, units, localization, and return behavior. Every sentence carries useful information for this complex tool, though it could be slightly tighter by avoiding some repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 3D creation tool with 100% schema coverage and annotations present, the description is complete: it explains return values and error handling, cross-references get_element_details and get_attributes, specifies units and coordinate system, and describes undo grouping. No critical information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter in detail. The description adds example JSON and clarifies the interpretation of 'profile' across modes, but this largely repeats what the schema already states per parameter. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Creates') and resource ('shells'), and clarifies the domain with parenthetical examples ('free-form roofs/vaults/domes/canopies') that distinguish it from sibling tools like create_roofs or create_slabs. An agent can immediately tell this tool creates free-form 3D shell elements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides rich guidance on the three shell modes (extruded, revolved, ruled) with concrete examples, and instructs the agent to verify results with get_element_details and look up localized attribute names with get_attributes. It does not explicitly name when to prefer this over create_roofs or create_morphs, but the free-form vs. standard roof distinction is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools