
Archicad Tapir MCP Server
MCPConnects to a running Archicad and exposes 190+ commands from the Tapir add-on and the official JSON API, for querying walls and other elements, batch-editing models and exporting files. Needs Archicad (Windows or macOS), Tapir and uv. Alpha: it edits the open project directly, so back up first.
Archicad Tapir MCP Server
This project provides a Model Context Protocol (MCP) server for Archicad. It acts as a bridge, allowing AI agents and applications (like Claude for Desktop) to interact with running Archicad instances by wrapping both the community-driven Tapir API and the official Archicad JSON API.
The server dynamically generates a comprehensive set of 191+ MCP tools from the combined API schemas, enabling fine-grained control over Archicad projects.
Key Features
- Pydantic-Powered Runtime Validation & Schema Generation: Every tool's input and output shapes are backed by rigorous Pydantic models. The server dynamically compiles these into detailed JSON Schemas for the AI agent to inspect, and strictly validates all incoming tool arguments at runtime before forwarding them to Archicad. It handles complex models, Union types, and TypeAliases seamlessly.
- Progressive Tool Discovery (CLI-style): The server uses a deterministic workflow (
archicad_list_commandsandarchicad_get_command_schema) that allows AI agents to list available commands and fetch exact parameter schemas on demand. This avoids flooding the model's context window with large schemas. - No Heavy Machine-Learning Dependencies: Vector-based search has been removed. The server no longer requires heavy packages like PyTorch,
faiss-cpu, orsentence-transformers, dramatically reducing the package size and eliminating server startup delays. - Massive Toolset, Minimal Footprint: Provides access to a unified toolset of 191+ commands by merging the community Tapir API and the official Archicad JSON API.
- Flexible Network Transports: Supports
sse(Server-Sent Events) andstreamable-httptransports in addition to standard input/output (stdio), allowing the server to be run on remote host configurations. - Bearer Token Authentication: Secures HTTP endpoints when using SSE or Streamable-HTTP via an opt-in token validation middleware (
--tokenflag orTAPIR_MCP_TOKENenvironment variable). - Multi-Instance Control: Connect to and manage multiple running Archicad instances simultaneously, targeting commands to specific instances via port numbers.
- Cross-Platform Support: Compatible with both Windows and macOS systems.
Installation & Setup
Follow these steps to get the server running and connected to an MCP client like Claude for Desktop.
1. Prerequisites
- Python 3.12+ and
uv: Ensure you have a modern version of Python and theuvpackage manager installed. - Archicad & Tapir Add-On: You must have Archicad running (which includes the official JSON API). To access the full set of community-developed tools, the Tapir Archicad Add-On must also be installed.
- MCP Client: An application that can host MCP servers, such as Claude for Desktop or Gemini CLI.
2. Configure Your AI Client
Open your client's config.json file and add the following configuration. This command works across operating systems:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ArchicadTapir": {
"command": "uvx",
"args": [
"--from",
"tapir-archicad-mcp",
"archicad-server"
]
}
}
}
3. One-click install (optional)
If your client supports MCP Bundles you can skip the config file above. Claude Desktop, Claude Code and MCP for Windows all install .mcpb files.
Download tapir-archicad.mcpb from the latest release and open it in your client. On the Microsoft Store build of Claude Desktop this is the easier route, because the app does not read the %APPDATA%\Claude\claude_desktop_config.json that everyone documents.
uv still has to be on the PATH your client sees, but it provisions Python and the locked dependencies itself, so there is nothing else to install. The first launch takes 15 to 30 seconds while it builds that environment. The bundle can modify the open project, export files, and send or receive Teamwork, so treat installing it like handing your client your Archicad seat.
If the bundle will not start
- "Server disconnected", or the install itself fails. Uninstall the bundle, restart the client, then install it again. Installing over an existing bundle can leave stale state behind that a straight reinstall does not clear.
- Nothing happens for the first half minute. That is uv building the environment, and antivirus scanning or a slow connection stretches it out. Restart the client once before assuming the bundle is broken.
- Claude Desktop logs are at
%APPDATA%\Claude\logs\mcp-server-Archicad (Tapir).log. On the Microsoft Store build that path is redirected and the real file is%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\mcp-server-Archicad (Tapir).log.
Icon artwork is the official Tapir mark from ENZYME-APD/tapir-archicad-automation (branding/logo/png/tapir_logo_black_512.png), MIT, Copyright 2024 Enzyme APD.
Configuration Options
You can customize the server via CLI flags or environment variables:
| CLI Flag | Environment Variable | Default | Description |
|---|---|---|---|
--transport | - | stdio | Transport protocol to use (stdio, sse, or streamable-http) |
--host | TAPIR_MCP_HOST | 127.0.0.1 | Bind address for HTTP-based transports |
--port | TAPIR_MCP_PORT | 8000 | Bind port for HTTP-based transports |
--token | TAPIR_MCP_TOKEN | None | Optional Bearer token to secure HTTP endpoints |
--async-threshold-seconds | TAPIR_MCP_ASYNC_THRESHOLD_SECONDS | 45 | Seconds to wait before returning a running job handle |
--job-ttl-seconds | TAPIR_MCP_JOB_TTL_SECONDS | 86400 | Seconds to keep finished jobs; 0 disables time-based expiry |
--max-completed-jobs | TAPIR_MCP_MAX_COMPLETED_JOBS | 128 | Maximum number of finished jobs to keep |
CLI flags override environment variables.
Long-running commands
Commands normally return their result directly. If a command takes longer than 45 seconds, archicad_call_tool returns a job handle while execution continues:
{"status": "running", "jobHandle": "job:83af21..."}
Call archicad_get_job(job_handle="job:83af21...") to check progress and retrieve the result. Repeat while the status is running; the final status is completed or failed. If your client times out sooner, lower --async-threshold-seconds.
If a response is lost, call archicad_get_job() to list recent jobs before repeating a command that changes the project. Cancelling a request does not stop a command already started, and retrying it may duplicate changes.
Jobs remain available across HTTP client reconnects while the server is running, but are lost on server restart. Retention defaults to 24 hours and a maximum of 128 finished jobs.
Usage
-
Restart Claude for Desktop to apply configuration changes.
-
Ensure at least one instance of Archicad is running.
-
The client will initially have access to a small set of core tools. Start by asking the AI to find running Archicad instances:
"Can you check what Archicad projects I have running?"
The AI will call
discovery_list_active_archicadsand report the active instances and theirportnumbers. -
State your main goal:
"Using port 19723, get all the Wall elements from the project."
-
The AI will execute a progressive discovery and calling loop:
- Step 1: It queries
archicad_list_commandsto look up the correct command name for the requested action (identifyingelements_get_elements_by_type). - Step 2: It calls
archicad_get_command_schemawith the target command name to retrieve the exact required JSON parameter structure. - Step 3: It calls
archicad_call_toolwith the command name, the targetedport, and the required parameter payload.
- Step 1: It queries
How It Works
The server operates through a layered architecture:
- AI Agent (e.g., Claude): Interprets user prompts and orchestrates tool discovery.
- MCP Client (e.g., Claude for Desktop): Manages the server process and handles communication.
- MCP Server (This Project): Standardizes tool descriptions, parameters, and results, presenting a clean
list/schema/callinterface. multiconn_archicadLibrary: Resolves active socket connections and handles low-level command dispatch to Archicad instances.- Archicad & Tapir Add-On: Built-in APIs and Tapir Add-on execute commands and return structured data.
Contributing
Contributions are welcome! Please feel free to submit an issue or open a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Ressources associées

FreeCAD MCP
MCPLets agents drive the open-source CAD app FreeCAD: create and edit part models in natural language, run Python scripts, capture views and run FEM structural analysis for mechanical and product design. Needs FreeCAD with the addon and its RPC server, plus uv; engineers should verify results.
neka-nat/freecad-mcp2.9k
RhinoMCP
MCPConnects Rhino 8 and Grasshopper to agents: model in plain language, edit geometry and layers, measure areas and volumes, and build Grasshopper definitions, for architecture and product design. Install the rhinomcp plugin in Rhino, run mcpstart, and have uv installed. Unofficial (not McNeel).
jingcheng-chen/rhinomcp1.2k
SketchupMCP
MCPLets agents create, move and scale components in SketchUp, set material colors, read scene info, export models and run Ruby scripts, for quick massing models. No prebuilt package: pack the extension as .rbz, install it in SketchUp and start the server; needs uv.
mhyrr/sketchup-mcp494
IFClite MCP
MCPIFClite's built-in MCP server: lets agents query and modify IFC models, run clash detection, IDS validation, version and quantity diffs, export CSV, GLB and more, and color or isolate elements in a browser 3D view. Just Node.js and an IFC file; read-only mode available.
LTplus-AG/ifc-lite426
mcp-servers-for-revit
MCPDrive Autodesk Revit with AI: query elements, create walls, doors, windows, floors, grids, levels and rooms, tag in bulk and take material quantities. Needs Revit 2020-2026 on Windows and Node.js, with the plugin from Releases placed in the Revit add-ins folder.
mcp-servers-for-revit/mcp-servers-for-revit380
Rhino MCP Platform
MCPMcNeel's official Rhino MCP: lets Claude, Codex and other agents model, edit and organize layers in Rhino and Grasshopper, for architectural concepts and product forms. Needs licensed Rhino 8 or 9; install Rhino-MCP-Platform from the package manager and connect with MCPConnect.
mcneel/RhinoAI366