tapir-archicad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| discovery_list_active_archicadsA | Scans for and lists running Archicad instances. Returns 'active' (ready to receive commands with their target 'port') and 'unavailable' (instances that are unresponsive or missing the Tapir Add-On). |
| archicad_list_commandsA | Returns a comprehensive list of all available Archicad API commands and brief descriptions. STEP 1: Use this tool FIRST to search for the right command name for your task. Do NOT guess or hallucinate command names. STEP 2: Once you find the relevant command name, you MUST use the 'archicad_get_command_schema' tool to learn its exact required arguments. |
| archicad_get_command_schemaA | Retrieves the exact JSON schema (required arguments) for a specific Archicad command. Provide the exact 'command_name' obtained from 'archicad_list_commands'. CRITICAL: You MUST call this tool before executing 'archicad_call_tool' to ensure you provide the correct parameters. Do NOT guess or hallucinate parameters based on the command name. |
| archicad_call_toolA | Executes a specific Archicad API command by its 'name'. CRITICAL WORKFLOW: You MUST use 'archicad_get_command_schema' first to understand the exact JSON structure required for the 'arguments' parameter. The 'arguments' dictionary MUST contain a 'port' number (obtained from 'discovery_list_active_archicads'). If a tool's response includes a 'next_page_token', call this same tool again with the same parameters and add a 'page_token' key to the 'arguments' dictionary. Long executions return status='running' and a jobHandle; retrieve them with archicad_get_job. If a response is lost or cancelled, list jobs with archicad_get_job() before retrying a write. Cancelling this request does not cancel an admitted execution. |
| archicad_get_jobA | With no job_handle, immediately lists all retained executions newest first, including fast, completed, and failed jobs, with command, port, timestamps, and a short argumentsPreview. Use this to recover after a lost response before retrying a write; similar calls may be ambiguous. With a job_handle, waits up to the configured threshold and returns running, completed with result, or failed with error. Polling never redispatches commands. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct role in the workflow: discovery, listing commands, fetching schemas, executing commands, and retrieving jobs. However, archicad_get_job has a dual purpose (listing all jobs vs. waiting for a specific job) and archicad_call_tool is a generic catch-all, which could cause minor confusion about when to use each.
Most tools use snake_case with an archicad_ prefix and follow a verb_noun pattern (get_job, get_command_schema, list_commands). The exceptions are archicad_call_tool (vague verb_tool) and discovery_list_active_archicads (different prefix), but overall the convention is readable and mostly consistent.
Five tools is well-scoped for a proxy server that exposes a large external API through a single generic executor. Each tool covers a necessary meta-operation, and no tool feels redundant or missing from the core set.
The surface covers the full lifecycle: discover instances, list commands, inspect schemas, execute commands, and track jobs. Minor gaps include no explicit job cancellation tool and no bulk schema retrieval, but agents can work around these.