Skip to main content
Glama
alesdev88

Archicad-MCP

by alesdev88

Find elements by criteria

find_elements
Read-only

Search Archicad model elements by property conditions and element types, combining filter groups with AND/OR logic. Returns matching element GUIDs and counts for QA and validation workflows.

Instructions

Find elements matching criteria groups. Groups combine with OR; inside a group the comparisons combine with logical_operator 'and' (default) or 'or'. Each group may restrict element types (is / is_not) and lists comparisons of {property, operator, value}; the schema enumerates the element types and the 22 operators, and each field documents its values and units. Call search_definitions to find a property's exact address. An element with no usable value matches no binary operator. Returns GUIDs, counts, how many elements had properties read, and 'coverage' ('whole-plan' with Tapir, 'model-elements-only' without: then 2D elements are invisible and 0 is not proof of absence). Property comparisons read values in the server (no API filters by property); a read spanning more than the element ceiling is refused, so narrow with element_types, story or classification first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portNo
groupsYes
selection_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv0.5.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, but the description adds substantial behavioral context: server-side property reads, no API-side property filtering, coverage differences between whole-plan and model-elements-only, safety caveat that 0 is not proof of absence for 2D elements, and refusal of reads over the element ceiling. This goes far beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but every sentence earns its place. The description front-loads the main grouping semantics, then covers property resolution, edge cases, return values, and performance constraints without repetition. The length is justified by the tool's complexity.

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?

The description covers what the tool returns, when it can fail (ceiling refusal), how coverage affects interpretation of results, how to find property addresses, and how to structure groups. Combined with a rich input schema and output schema, nothing essential is missing for an agent to invoke it correctly.

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?

Despite the schema adding field-level descriptions, the tool description compensates with critical semantics: groups combine with OR, inner comparisons use logical_operator, unary vs binary operator behavior, value units, and the no-usable-value edge case. It also tells the agent to call search_definitions for exact property addresses, which is essential for correct parameter construction.

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 and resource: 'Find elements matching criteria groups.' It clearly differentiates from siblings like search_definitions (finds property addresses) and get_element_data (reads element data) by focusing on criteria-based selection. The OR/group semantics make the tool's role unmistakable.

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?

Provides clear operational guidance: call search_definitions to resolve property addresses, and narrow with element_types, story, or classification to avoid ceiling refusals. It lacks an explicit 'when not to use' statement for alternatives like list_instances or get_element_data, so it falls just short of a 5.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alesdev88/Archicad-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server