Skip to main content
Glama
Archicad-MCP

Archicad-MCP

by alesdev88

Move elements

move_elements
Destructive

Move elements by a vector {x,y,z} in meters. Refuses without confirm=true. Archicad changes only elements in the database of the active window, so elements it would refuse (another view's, on a hidden or locked layer, not reserved in…

Instructions

Move elements by a vector {x,y,z} in meters. Refuses without confirm=true. Archicad changes only elements in the database of the active window, so elements it would refuse (another view's, on a hidden or locked layer, not reserved in Teamwork, inside a hotlinked module, locked, or not found) are not sent. Returns requested; moved, counted from Archicad's per-element results; not_moved grouped by reason with the GUIDs; and active_window when anything was refused up front.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "guids": "<guids>",
      "vector": "<vector>"
    },
    "name": "move_elements"
  }
}

Input Schema

NameRequiredDescriptionDefault
portNo
guidsYes
vectorYes
confirmNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses the confirm gate, active-window database scope, refusal categories (hidden/locked layers, Teamwork reservation, hotlinked modules, etc.), and the shape of per-element results. This is unusually rich behavioral context for a mutation tool.

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: the core action, confirmation gate, scoping behavior, and return shape arrive in order. It is appropriately sized for a destructive operation, though the refusal list is packed into one long clause.

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

Completeness4/5

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

For a destructive mutation with an output schema, the description covers the confirmation requirement, the active-window scope, refusal reasons, and the return structure. The only notable omission is the unexplained 'port' parameter, but otherwise an agent has enough to call it correctly.

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?

With 0% schema description coverage, the description must carry parameter meaning. It explains the vector format and units and the confirm gate, and implies guids through refusal/return wording, but it never explains the 'port' parameter and does not fully describe the GUID list semantics.

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 states a specific verb and resource ('Move elements') and specifies the mechanism ('by a vector {x,y,z} in meters'), which clearly distinguishes it from broader siblings like modify_elements. An agent can identify the operation 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 Guidelines4/5

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

It clearly gives the critical precondition ('Refuses without confirm=true') and explains Archicad's active-window scoping, including which elements will not be sent. It does not explicitly compare against alternatives such as modify_elements, but the operational context is strong.

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