Archicad Tapir MCP服务器
本项目为Archicad提供了一个模型上下文协议(MCP)服务器。它充当了一座桥梁,允许AI代理和应用程序(如桌面版的Claude)通过包装社区驱动的Archicad实例与正在运行的Archicat实例进行交互 API Tapir 和那个 官方Archicad JSON API.
服务器动态生成一组全面的 137 组合API模式中的MCP工具,实现对Archicad项目的细粒度控制。
 
免责声明: 这个项目还处于早期发展阶段。它尚未经过广泛测试,主要用于实验和教育目的。在未来的更新中,界面和功能可能会发生变化。请谨慎使用。
主要特点
- 智能工具发现: 服务器公开了一个简单的
discover_tools该功能使用强大的局部语义搜索引擎从用户的自然语言查询中查找最相关的Archicad命令。 - 庞大的工具集,最小的占地面积: 提供对统一工具集的访问 137命令 通过智能地合并社区Tapir API和官方Archicad JSON API(并不断增长),而不会淹没人工智能的上下文窗口。
- 100%本地和私人搜索: 语义搜索索引完全在您的机器上构建和运行,使用
sentence-transformers和faiss-cpu。任何数据都不会离开您的计算机,并且不需要API密钥。 - 适应性和相关结果: 搜索使用复杂的“最高分数相对阈值”来过滤噪音,并仅返回给定查询的最相关工具。
- 多实例控制: 同时连接并管理多个正在运行的Archicad实例。
- 坚固耐用: 设计为一个合适的Python包
pyproject.toml,使安装简单可靠。
安装和设置
按照以下步骤使服务器运行并连接到像Claude for Desktop这样的MCP客户端。
1.先决条件
- Python 3.12+ 和
uv:确保你有一个现代版本的Python和uv已安装包管理器。您可以安装uv随着pip install uv. - Archicad&Tapir附加组件:您必须运行Archicad(包括官方JSON API)。要访问全套社区开发的工具 Tapir Archicad附加组件 也必须安装。
2.配置您的AI客户端
这就是现在 只需要一步.打开客户的 config.json 文件并添加以下配置。此命令是通用的,无需修改即可在任何操作系统上运行。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ArchicadTapir": {
"command": "uvx",
"args": [
"--from",
"tapir-archicad-mcp",
"archicad-server"
]
}
}
}这是如何工作的: 这 uvx 命令(部分 uv toolchain)是一个功能强大的实用程序,可以自动为您处理整个过程:
- AI客户端第一次需要该工具时,
uvx将下载最新版本的tapir-archicad-mcp来自PyPI。 - 它将把它安装到一个临时的、隔离的环境中。
- 它将运行服务器。
用法
- 重新启动桌面版的Claude 以应用配置更改。
- 确保至少有一个Archicad实例(使用Tapir)正在运行。
- 客户端现在可以访问一小部分核心工具。首先让它找到正在运行的Archicad实例:
> “你能检查一下我正在运行的Archicad项目吗?”
AI将运行 discovery_list_active_archicads 并报告活动实例及其 port 数字。
- 现在,陈述你的主要目标。例如:
> 好的,使用端口12345,从项目中获取所有墙元素
- AI现在将执行两步
discover/call工作流:
- 首先,它将调用 archicad_discover_tools 使用类似的查询 "get all wall elements"服务器的语义搜索将发现最佳匹配是 elements_get_elements_by_type 工具。 - 其次,它将调用 archicad_call_tool,使用 name="elements_get_elements_by_type" 它刚刚发现并构建了必要的 arguments (包括 port 和 params 随着 elementType="Wall"). - 最终结果将返回给您。
运作原理
服务器通过分层架构运行:
- AI代理(例如Claude): 与用户交互并决定调用哪些工具。
- MCP客户端(例如,桌面版的Claude): 管理服务器进程和通信。
- MCP服务器(本项目): 在Archicad的自动化API上提供了一个智能抽象层,公开了一个简单的
discover/call界面。 multiconn_archicad图书馆: 处理与Archicad实例低级通信的底层Python库。- Archicad&Tapir附加组件: Archicad内置的JSON API和Tapir插件执行命令。
贡献
欢迎投稿!请随时提交问题或打开拉取请求。
许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
