Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Get element 2D geometry

get_element_2d_geometry
Read-onlyIdempotent

Retrieve 2D drawing primitives for Archicad elements in the active window, including lines, arcs, polygons, texts, and fills, to inspect how they appear in plans.

Instructions

The 2D drawing primitives Archicad draws for elements in the active window (floor plan, section, layout...): lines, arcs/circles/ellipses, polylines, polygons (with holes; fills), texts and pictures, with pen numbers and a role for special parts (fill, openingDimension, arrow, drawingBorder). Helps to understand what a plan looks like (e.g. a door's swing, an object's symbol). Output per element: {guid, type, total, counts, extent {xMin,yMin,xMax,yMax}, primitives: [{kind, pen, ...}], truncated?, hotspots?}. Coordinates are [x, y] arrays in meters; angles in degrees; arcs in polygons use {index, angle} like polygon inputs. Hatch pattern lines are only counted unless includeFillPatterns=true. Use summaryOnly for large elements.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindsNoOnly list these primitive kinds ('arc' includes circles and ellipses)
elementsYesElement GUIDs
maxPointsNoMax coordinates listed per element. Default 20000
summaryOnlyNoOnly counts and extent, no primitive list. Default false
maxPrimitivesNoMax primitives listed per element (all are counted). Default 300
includeHotspotsNoAlso return the element's hotspots (snap points) as [x, y, z] (m; z of 2D hotspots is 0). Default false
includeFillPatternsNoAlso list the individual hatch pattern lines of fills. Default false

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), and the description adds genuinely non-obvious behavior: hatch lines are only counted unless includeFillPatterns=true, listing is truncated ('truncated?'), and counts vs listed primitives can differ. Doesn't cover auth/permissions, hence not a 5.

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 purpose before options; every sentence (units, hatch caveat, summaryOnly tip, output shape) carries information. Dense but not padded, though the output-shape sentence is long.

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 spelling out the return shape per element (guid, type, counts, extent, primitives, truncated?, hotspots?) plus coordinate/angle conventions. An agent has everything needed to call and interpret it.

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 adds real meaning beyond the schema: coordinates in meters as [x, y] arrays, angles in degrees, arcs in polygons encoded as {index, angle}, and the includeFillPatterns/summaryOnly consequences. This materially reduces ambiguity for the caller.

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+resource ('2D drawing primitives Archicad draws for elements in the active window') and enumerates the primitive kinds returned. It is clearly separable from sibling get_element_3d_geometry and get_morph_geometry by the 2D-window scope.

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

Usage Guidelines3/5

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

Offers concrete usage context ('helps to understand what a plan looks like', door swing/object symbol) and an operational tip ('Use summaryOnly for large elements'), but never states when to prefer this over the 3D geometry or detail siblings, nor any exclusions. Usage is implied rather than routed.

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