
Bonsai-mcp
一个模型上下文协议服务器,将 Claude 与 Blender 集成,使用户能够通过自然语言命令分析和交互 IFC(工业基础类)建筑模型。
README
Bonsai-mcp - 通过 IfcOpenShell 集成 Blender 模型上下文协议,支持 IFC
Bonsai-mcp 是 BlenderMCP 的一个分支,它通过 Bonsai 扩展了原始功能,专门支持 IFC(工业基础类)模型。此集成是一个快速的概念验证,旨在展示将 Claude 或任何 LLM(尽管仅使用 Claude Desktop Client 进行了测试)连接到 Blender 以执行 IfcOpenShell 命令的功能。
特性
- IFC 特定功能:查询 IFC 模型、分析空间结构以及检查建筑元素
- 五个强大的 IFC 工具:检查项目信息、列出实体、检查属性、探索空间结构以及分析关系
- 顺序思考:包含来自 modelcontextprotocol/servers 的顺序思考工具,用于结构化问题解决
- 执行代码工具(来自原始 BlenderMCP 实现):在 Blender 中创建和修改对象、应用材质以及执行 Python 代码
- 使用标准模型进行测试:已验证可与默认的 ifcopenshell 房屋模型 (AC20-FZK-Haus.ifc) 一起使用
组件
该系统由两个主要组件组成:
- Blender 插件 (
addon.py
):一个 Blender 插件,在 Blender 中创建一个套接字服务器,以接收和执行命令,包括 IFC 特定操作 - MCP 服务器 (
blender_mcp_tools.py
):一个 Python 服务器,实现模型上下文协议并连接到 Blender 插件
安装
前提条件
- Blender 3.0 或更高版本
- Python 3.10 或更高版本
- uv 包管理器
- Bonsai BIM Blender 插件(用于 IFC 功能)
安装 uv:
Mac:
brew install uv
Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
set Path=C:\Users\[username]\.local\bin;%Path%
对于其他平台,请参阅 uv 安装指南。
克隆存储库
git clone https://github.com/JotaDeRodriguez/Bonsai_mcp
Claude for Desktop 集成
编辑您的 claude_desktop_config.json
文件(Claude > 设置 > 开发者 > 编辑配置)以包含:
{
"mcpServers": {
"Bonsai-mcp": {
"command": "uv",
"args": [
"--directory",
"\\your\\path\\to\\Bonsai_mcp",
"run",
"tools.py"
]
}
}
}
安装 Blender 插件
- 从此存储库下载
addon.py
文件 - 打开 Blender
- 转到编辑 > 偏好设置 > 插件
- 单击“安装...”并选择
addon.py
文件 - 通过选中“界面:Blender MCP - IFC”旁边的框来启用插件
用法
启动连接
- 在 Blender 中,转到 3D 视图侧边栏(如果不可见,请按 N)
- 找到“Blender MCP - IFC”选项卡
- 单击“连接到 Claude”
- 确保 MCP 服务器正在运行
与 Claude 一起使用
连接后,您将在 Claude 的界面中看到一个带有锤子图标,其中包含用于 Blender MCP IFC 集成的工具。
IFC 工具
此分支添加了五个强大的 IFC 特定工具:
1. get_ifc_project_info
获取有关 IFC 项目的基本信息,包括名称、描述和不同实体类型的计数。
示例:“这个 IFC 项目的基本信息是什么?”
2. list_ifc_entities
列出特定类型的 IFC 实体(墙、门、空间等)。
示例:“列出此 IFC 模型中的所有墙”或“向我展示此建筑物中的窗户”
3. get_ifc_properties
通过其 GlobalId 获取特定 IFC 实体的所有属性。
示例:“ID 为 1Dvrgv7Tf5IfTEapMkwDQY 的墙的属性是什么?”
4. get_ifc_spatial_structure
获取 IFC 模型的空间层次结构(场地、建筑物、楼层、空间)。
示例:“向我展示此建筑物的空间结构”
5. get_ifc_relationships
获取特定 IFC 实体的所有关系。
示例:“入口门的关系是什么?”
执行 Blender 代码
来自原始 MCP 实现的旧版功能。允许 Claude 在 Blender 中执行任意 Python 代码。谨慎使用。
顺序思考工具
此集成还包括顺序思考工具,该工具可促进详细的、逐步的思考过程,以进行问题解决和分析。
工具参数:
thought
(string):当前的思考步骤nextThoughtNeeded
(boolean):是否需要另一个思考步骤thoughtNumber
(integer):当前的思考编号totalThoughts
(integer):估计需要的总思考次数isRevision
(boolean, optional):这是否修改了之前的思考revisesThought
(integer, optional):正在重新考虑哪个思考branchFromThought
(integer, optional):分支点思考编号branchId
(string, optional):分支标识符needsMoreThoughts
(boolean, optional):是否需要更多思考
示例:“使用顺序思考来分析这座建筑的能源效率”
示例命令
以下是一些您可以要求 Claude 使用 IFC 模型执行的操作示例:
- “分析此 IFC 模型,并告诉我它有多少墙、门和窗户”
- “向我展示此建筑物模型的空间结构”
- “列出此 IFC 模型中的所有空间及其属性”
- “识别此建筑物中的所有结构元素”
- “这堵墙与其他元素之间的关系是什么?”
- “使用顺序思考,根据 IFC 模型为此建筑物创建一个维护计划”
故障排除
- 连接问题:确保 Blender 插件服务器正在运行,并且 MCP 服务器已在 Claude 中配置
- IFC 模型未加载:验证您是否已安装 Bonsai BIM 插件,并且已加载 IFC 文件
- 超时错误:尝试简化您的请求或将其分解为更小的步骤
技术细节
IFC 集成使用 Bonsai BIM 模块来访问 Blender 中的 ifcopenshell 功能。通信遵循与原始 BlenderMCP 相同的基于 JSON 的协议,通过 TCP 套接字进行。
限制和安全注意事项
- 原始项目中的
execute_blender_code
工具仍然可用,允许在 Blender 中运行任意 Python 代码。谨慎使用并始终保存您的工作。 - 复杂的 IFC 模型可能需要将操作分解为更小的步骤。
- IFC 查询性能取决于模型大小和复杂性。
鸣谢
- 原始 BlenderMCP 由 Siddharth Ahuja 开发
- 顺序思考工具来自 modelcontextprotocol/servers
- IFC 集成建立在 Bonsai BIM Blender 插件之上
TODO
光标实现 添加 'get_selected_ifc_elements' 描述
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。