Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Search library parts

search_library_parts
Read-onlyIdempotent

Find library parts in Archicad by localized name, type, or subtype. Filter by embedded status and retrieve GUIDs for placement.

Instructions

Finds library parts (objects, doors, windows, lamps, zone stamps, labels, skylights, macros ...) in the loaded libraries. Names are LOCALIZED — on a Russian Archicad search Russian words (e.g. 'стол' table, 'стул' chair, 'дверь' door, 'окно' window, 'светильник' lamp, 'кровать' bed, 'шкаф' cabinet, 'диван' sofa, 'унитаз' WC, 'раковина' sink, 'дерево' tree). The query is a case-insensitive substring; with several words all must match the name or file name. Exact and prefix matches come first. Filter by type, by subtype (category: a keyword like 'Furnishing', 'Plant', 'Light' or a template from get_library_part_subtypes), or embeddedOnly (parts created with create_library_part). Returns {libraryParts: [{index, name, guid, type, fileName, subtype}], total, hasMore}. Use the name or {guid} as libraryPart in create_objects / create_lamps / change_library_part.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoOnly these library part types
limitNoMaximum results (default 100)
queryNoSubstring(s) of the name / file name; omit to list everything matching the filters
offsetNoSkip this many results (default 0)
subtypeOfNoOnly descendants of this subtype: a keyword (GeneralGDLObject, ModelElement, BuildingElement, Furnishing, Beds, Structure, Column, Beam, Slab, Wall, Roof, Stair, Railing, Ramp, Covering, Footing, Plant, People, Animal, Traffic, TransportElement, StreetFurniture, SportField, DistributionElement, ElectricalElement, FlowTerminal, FlowEquipment, SolarPVPanels, DrawingSymbol, DocumentationElement, Marker, PropertyObjects, Light, WindowWall, CornerWindow, DoorWall, WallOpening, WallEnd, Skylight, Label, ZoneStamp) or a template name/{guid} from get_library_part_subtypes
embeddedOnlyNoOnly parts stored in the project's embedded library
placeableOnlyNoOnly parts that can be placed (default true; false also lists macros and templates)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds meaningful non-annotated behavior: localized name matching (Russian terms), substring AND semantics, match ranking, and the default of placeableOnly=true that hides macros/templates. Return-shape details are also disclosed despite no output schema.

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-loads purpose, then layers localization, match semantics, filters, and downstream usage in a tight sequence. It is dense and longer than average, but nearly every clause carries information an agent needs; only the long Russian examples list is slightly padded.

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 7-parameter, zero-required search tool with no output schema, the description covers purpose, matching rules, filter options, default limits, and the exact return shape ({libraryParts:[...], total, hasMore}) plus how to consume the result. Nothing an agent needs to call it correctly is missing.

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 description coverage is 100%, so the baseline is 3, but the description adds real meaning beyond it: subtype keywords like 'Furnishing'/'Plant'/'Light' with a route to get_library_part_subtypes, and embeddedOnly defined as parts created via create_library_part. The query matching semantics are also richer than the schema's one-liner.

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 ('Finds') over a concrete resource ('library parts') and enumerates the kind of parts covered (objects, doors, windows, lamps, macros, etc.). It is clearly distinguishable from get_library_part_details, get_library_part_subtypes and create_library_part, which it either references or implies.

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?

Gives strong operational guidance: query is a case-insensitive substring, multi-word queries AND together, prefix/exact matches rank first, and results should be fed into create_objects / create_lamps / change_library_part. It also points to get_library_part_subtypes for subtype templates. It stops short of explicitly stating when to prefer this over a details/listing sibling.

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