Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Solid element operation

solid_operation
DestructiveIdempotent

Cut, add, or intersect 3D volumes between Archicad construction elements, creating live links or destructive morph Booleans for niches, roof cuts, and unions.

Instructions

Solid Element Operations (Design > Solid Element Operations): cut or add 3D volumes between construction elements - e.g. subtract a morph/slab/object from walls to make a niche, cut walls with SubtractUpwards/SubtractDownwards against a roof or slab. By default (permanent=false) a LIVE link is created: it updates when elements move, operators are usually put on a hidden layer afterwards, and it can be removed with remove_solid_operation. permanent=true performs a destructive Boolean on MORPHS only: target and operators are replaced by the result morph(s). Give target/operators/operation for one operation or operations for several (one undo step). Returns {results: [{target, links: [{operator, operation} | {operator, error}]}]} or, when permanent, [{target, resultMorphs: [guid]}].

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNoTarget element that is cut/added to (keeps its identity)
operationNoSubtract (default: remove the operator's volume from the target), SubtractUpwards / SubtractDownwards (remove the operator's volume extruded upwards/downwards, e.g. cut a wall under a roof), Intersect (keep only the common part), Add (union)
operatorsNoOperator element(s) that cut/add to the target
permanentNotrue = destructive morph Boolean (morphs only, inputs replaced); default false = live link
operationsNoSeveral operations [{target, operators, operation?, ...}]
skipOperatorHolesNoIgnore holes of slab/roof operators (default false)
inheritOperatorAttributesNoNew cut surfaces take the operator's surface/attributes (default false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, but the description adds real behavioral context: live links update when elements move, operators are typically hidden, permanent=true replaces target and operators with result morph(s), and multiple operations collapse into one undo step. This is substantially more than the annotations convey.

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 dense but front-loaded, leading with the core action and examples before defaults and return shape. It is a long single block with some run-on structure, but nearly every clause carries load-bearing information, so little could be cut.

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, destructive tool with no output schema, the description supplies the return shape (results with links or resultMorphs), the undo semantics, the morph-only restriction, and the live-link lifecycle. An agent has everything needed to call it correctly and interpret results.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description earns extra credit by explaining the semantic effect of `permanent` (destructive morph-only Boolean vs live link) and that the `operations` array constitutes one undo step. It does not, however, cover skipOperatorHoles or inheritOperatorAttributes, which the schema handles alone.

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?

The description gives a specific verb+resource ('cut or add 3D volumes between construction elements') and concrete examples (subtract a morph/slab/object from walls, cut walls under a roof). It is unmistakable against siblings and explicitly names remove_solid_operation as the inverse operation.

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

Usage Guidelines5/5

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

It clearly states when to use the default live link vs permanent=true, including the crucial restriction that permanent is morphs-only and destructive, and directs removal to remove_solid_operation. It also explains the single-vs-multiple invocation paths (target/operators/operation vs operations).

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