Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Move elements

move_elements
Destructive

Move any Archicad elements by a displacement vector, in one undo step. Pass elements plus vector, or multiple moves, to reposition walls, slabs, objects or zones.

Instructions

Moves elements of ANY type (walls, slabs, objects, zones, lines, dimensions, ...) by a displacement vector, like Edit > Move > Drag. Pass elements + vector to move them all by the same offset, or moves to move different sets by different vectors (all in one undo step). A z component moves model elements vertically (use elevate_elements for pure vertical moves). Windows/doors move along their host wall; connected dimensions and labels follow automatically. Returns {results: [{guid, newGuid?, warning?} | {guid, error}], warnings?} in input order (a 'warning' on an item means Archicad may have ignored it); with copy=true the copy-style result {results: [{guid, copies: [new GUIDs]}], createdCount, additionalCreated?}. Locked elements, elements on locked/hidden layers, hotlinked elements and elements outside your Teamwork workspace are reported with an actionable error instead of being edited. With moves the result is {operations: []}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
movesNoAlternative to elements+vector: several independent moves [{elements, vector}] in one undo step
vectorNoDisplacement applied to `elements`, in meters
elementsNoElements to move (together with `vector`)
includeGroupMembersNoDefault false: ONLY the listed elements are affected even when they belong to groups (Suspend Groups is switched on for the duration of the call and restored afterwards). true: all members of their (top-level) groups are affected as well.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the safety profile is covered. The description goes well beyond that: it discloses the undo-step grouping, group-suspension semantics, which elements are skipped with actionable errors (locked, hidden layers, hotlinked, outside Teamwork workspace), and the copy=true variant. The only gap is that the `copy` parameter appears in the description but not in the schema, which an agent cannot act on structurally.

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?

Front-loaded with the core action and the two usage modes, then densely packed with behavioral caveats. Every sentence carries operational information, though the long return-shape enumeration makes it heavier than it needs to be for a description (an output schema would have been a better home).

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?

No output schema exists, and the description fully compensates by documenting both return shapes (per-item results with newGuid/copy/warning/error, and the per-operation wrapper for `moves`). Combined with the nested moves/vector/elements schema, an agent has everything needed to invoke and interpret the call.

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. The description adds meaning beyond the schema: the z component is framed as vertical movement with a pointer to elevate_elements, the elements+vector vs moves distinction is spelled out, and the copy=true result shape is described. It stops short of explaining includeGroupMembers in the description, but the schema covers that.

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 (moves) and resource (elements of ANY type, enumerated: walls, slabs, objects, zones, lines, dimensions) with the exact mechanism (displacement vector). It explicitly distinguishes itself from elevate_elements for pure vertical moves, so an agent can route correctly without opening the schema.

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?

Gives explicit when-to-use guidance: pass `elements`+`vector` for one common offset, or `moves` for independent moves in a single undo step. It also names the alternative for vertical-only movement (elevate_elements) and explains secondary behaviors (windows/doors follow host wall) that affect the choice.

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