archicad-tapir-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARCHICAD_HOST | No | The hostname or IP of the Archicad machine (default: 127.0.0.1 for Windows production, otherwise may use WSL gateway). | |
| ARCHICAD_PORTS | No | Port 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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