Skip to main content
Glama
psxcode

archicad-tapir-mcp

by psxcode

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARCHICAD_HOSTNoThe hostname or IP of the Archicad machine (default: 127.0.0.1 for Windows production, otherwise may use WSL gateway).
ARCHICAD_PORTSNoPort range for Tapir connection, e.g., '19723-19743' (optional).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
archicad_discoverA

Low-level diagnostic discovery of Archicad endpoints. Prefer archicad_instances for agent routing and human-readable project cards.

archicad_instancesA

Refresh the background registry and return concise project cards with stable runtime instance IDs, project identity, selection summary, aliases, and focus evidence. Use when a target is ambiguous; do not ask the user for a port or PID.

archicad_bindA

Create or replace a sticky target context. Prefer a project hint for saved projects, an explicit instanceId from candidate cards when the semantic relation is clear, or useRecentForeground only after the user explicitly foregrounded 'this Archicad'. If ambiguous, show candidates and ask the user to foreground the intended Archicad. Carry the returned contextId in every later operation.

archicad_capabilitiesA

Use only when unsure how Archicad tools compose or when a capture reports degraded capabilities. Returns the observation hierarchy, recommended call order, handle lifetime, and current correctness rules. It reads no project data.

archicad_capture_contextA

START HERE after binding when you need to understand words such as here, this, selected, or inside the dashed marquee. Pass target.contextId from archicad_bind; do not bind again by hint. A capture records stories (floors/namespaces) that own sheet_island and outside-sheet drawing_island / loose_fragment regions, plus active selection, marquee, and 2D viewport as independent focus parts. On FloorPlan, default operator intent is the active story (summary.activeStoryHandle): if the operator did not name a floor, stay there. Read stories[] and regionRoles first (sheets and WIP clusters are siblings). Then focusResolution — use preferredRegionHits/preferredResolution for here/this marquee; regionHits remain full multi-story XY truth. For focus questions, report preferred hits first; cards with no matching focusRelationships are not hits. Use maxRegionCards=0 when focus resolution alone is enough. Use current_database when enclosing sheet and nearby cluster/table context matters; selection is a faster exact-workset mode and may omit its surrounding sheet. Keep snapshotId and expand only relevant handles. Detected sheets and title-block fields remain candidates, not ground truth.

archicad_inspectA

Expand a snapshot, story, region, element-set, or detected-structure handle returned by archicad_capture_context. Always pass the matching snapshotId because handles are snapshot-scoped. Passing handle=snapshotId pages more region cards. A story_* handle returns that floor's region cards. A title_block handle returns source text candidates and inferred metadata; a table handle returns reconstructed cells with optional text angles, titleCandidates, parentRegionHandle, sections, and left-to-right fragments when a schedule is layout-split. An elements_* handle returns paged primitives. For a region, use detailLevel=card first. Recapture instead of treating an old snapshot as current project truth.

archicad_spatial_mapA

Return a Doom-style text map for orientation. Default zone is the snapshot 2D viewport on the active story (D-025) when zone is omitted or empty. Agents may still pass regionHandle (sheet/cluster; scoped to that region's story), explicitBounds, or focusKind (marquee/selection/viewport). Viewport/marquee/selection/bounds maps paint active-story regions and floor-filtered BIM by default. Resolution is the long-side cell count (default 32, max 48); the short side follows the zone aspect ratio. Drafting lines, fills, text, BIM stamps (walls, columns, windows, doors, roofs, zones), and detected overlays are painted with priority overwrite. Sheet frames use # only for confirmed sheets (title/production or inner trim); drawing_island / loose_fragment outlines use - and | (same as drafting). Roof stamps use glyph R from live bounds even when Tapir type-specific roof details are still unsupported. Pass snapshotId from archicad_capture_context. Prefer regionHandle when the operator names a specific sheet or cluster. This is a secondary navigation aid; inspect handles for exact geometry.

archicad_readA

Low-level diagnostic reads, not the drawing-understanding workflow. Prefer archicad_capture_context and archicad_inspect for observation; never call all_elements to validate a semantic snapshot. Run up to 20 isolated reads and reuse target.contextId. all_elements/selected_elements return a count by default; request raw only when GUIDs are explicitly required and bounded. Ambiguity returns candidate cards instead of guessing. Direct host/port is development-only.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/psxcode/archicad-tapir-mcp'

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