Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Change library part of elements

change_library_part
DestructiveIdempotent

Swap the library part of placed Archicad elements (objects, doors, windows, etc.) in one undo step, preserving position and orientation.

Instructions

Swaps the library part of placed objects, lamps, doors, windows, skylights, zones or symbol labels (e.g. replace a chair model, change a door type) in one undo step, keeping position/orientation. The new part must have the same type (Object for objects, Door for doors ...). keepParameters (default true) copies values of same-named, same-typed, visible, non-unique GDL parameters like Archicad does; keepSize (default true for doors/windows/skylights, false otherwise) keeps A/B. Extra params / sizeA / sizeB / height are applied afterwards. A top-level libraryPart applies to every element without its own. Returns [{guid, type, libraryPart, carriedOverParameters} | {error}].

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
elementsYes
keepSizeNoDefault for all elements: keep A/B sizes
undoNameNoName of the undo step
libraryPartNoNew library part for all listed elements (localized name, index or {guid})
keepParametersNoDefault for all elements: copy matching parameter values (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare destructiveHint=true, idempotentHint=true, openWorldHint=false. Description adds rich behavioral context: single undo step, position/orientation preserved, type constraint, default-parameter behavior (keepParameters/keepSize), parameter scripts run like the settings dialog, and the return shape. This goes well beyond what annotations cover.

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?

One dense paragraph, front-loaded with the verb and scope. It is information-dense and every clause carries meaning, though the middle section on keepParameters/keepSize/params reads a bit compressed and could be structured as a short list. Not bloated, but not maximally scannable.

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 mutation tool with rich schema and annotations, the description covers behavior, defaults, constraints, and return shape, so an agent has everything needed to call it correctly. No output schema exists, and the description does include the return format, which is a strong addition.

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

Parameters5/5

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

Schema coverage is 80%, but the description explains semantics of the key behavioral parameters (keepParameters default true, keepSize default true for doors/windows/skylights, extra params applied afterwards) and the top-level vs per-element libraryPart precedence. Adds real meaning beyond schema.

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?

Specific verb ('Swaps'), specific resource ('library part of placed objects...'), enum of affected element types, and examples ('replace a chair model, change a door type'). Clearly distinguishable from siblings like modify_elements or set_gdl_parameters.

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?

Description implies when to use it: when swapping library parts across objects/doors/windows/etc. It notes the type-matching constraint (new part must be same type), which is a usage prerequisite, and contrasts with set_gdl_parameters via its param semantics. No explicit 'use X instead when Y', but context is clear.

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