关于 ldraw-mcp
ldraw-mcp 是一个 MCP 服务,使用无头模式的 Blender 和 ImportLDraw 插件,将 LDraw LEGO 模型文件渲染为图像。它还提供零件清单、颜色查询和零件搜索,便于检查模型。
主要功能
- 01从多个角度渲染 LDraw 文件
- 02渲染内联 LDraw 文本
- 03生成零件与颜色数量清单
- 04查询 LDraw 颜色
- 05搜索零件库
- 06诊断渲染器配置
适用场景
- 01通过图像检查模型导出错误
- 02无需先保存文件即可渲染内联模型
- 03列出模型中的零件及数量
- 04在 LDraw 库中查找零件或颜色
MCP 相关
向 MCP 客户端提供渲染、物料清单、颜色查询、零件搜索和渲染器诊断工具。渲染使用无头模式的 Blender 与 ImportLDraw;零件清单和颜色查询工具对零件库有各自的要求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
ldraw-mcp
让你的 MCP 客户端看见 LEGO® 模型。
使用无头 Blender 和 ImportLDraw 插件,将 LDraw 文件(.ldr / .mpd / .dat)渲染成图像,呈现 真实零件几何结构——凸粒、斜面、窗户玻璃。输出效果媲美 BrickLink Stud.io 渲染,整个流程无需 GUI。
一份约 90 行的 .ldr 文件,从左前方和右后方渲染——呈现真实积木,而非几何代理模型。
让具备视觉能力的模型查看一个拼搭作品,它就能看到真实积木: 旋转矩阵交叉、悬空的板件、凹陷的窗户——这些导出错误在几何代理渲染中很容易被掩盖。
快速开始
# 1. install
pip install ldraw-mcp
# 2. install the LDraw parts library + ImportLDraw addon
ldraw-mcp-setup
# 3. register with Claude Code
claude mcp add ldraw -- ldraw-mcp
然后可以这样提问:“渲染 output/build.ldr,告诉我有什么问题”——模型看到的是渲染图,而不只是文本。
Blender 是必备项(请参阅要求);
ldraw-mcp-setup不会安装它。
工具
| 工具 | 功能 |
|---|---|
render_ldraw_file(path, azimuths="-60,120", resolution=640, samples=24) | 将模型文件渲染为 PNG(多视图,横向拼接) |
render_ldraw_text(ldr, azimuths="-60,120", resolution=640, samples=24) | 渲染内嵌的 LDraw 内容,无需先写入文件 |
check_renderer() | 检查 Blender / 插件 / 零件库的配置 |
bill_of_materials(path="", ldr="") | 输出模型文件或内嵌文本中各零件 × 颜色 × 数量的明细 |
lookup_color(query) | 从 LDConfig.ldr 查询颜色代码 ↔ 名称 / RGB / 边缘色 / Alpha |
search_parts(query, limit=50) | 搜索描述或文件名中包含 query 的零件库零件 |
azimuths 是以逗号分隔的视角角度列表,单位为度;每个视角都会单独渲染,然后将视图横向拼接。仰角固定为 22°。samples 越高,画面越干净,但渲染越慢。
这三个查询工具是只读的,无需 Blender。bill_of_materials 会展开 MPD 子模型(以及模型旁边的同级 .ldr / .mpd 文件),并计入其出现次数;还会将颜色 16 解析为引用该行的颜色;颜色 24(边缘色)则报告为 24。即使没有零件库,也会统计数量——此时描述和颜色名称为 null。LDConfig.ldr 未定义的颜色代码会列在 unknown_color_codes 下,零件库中缺失的零件会列在 parts_not_in_library 下;两者都不会被丢弃。子模型引用循环会报错,并指出循环内容。lookup_color 和 search_parts 需要零件库(ldraw-mcp-setup)。
要求
PATH中有 Blender 4.x,或将LDRAW_MCP_BLENDER指向其二进制文件。 请自行安装(通过包管理器、blender.org 或本地构建);ldraw-mcp-setup不会安装 Blender。- Blender 插件目录中有 ImportLDraw 插件(
io_scene_importldraw)—— 由ldraw-mcp-setup安装。 ~/.ldraw(或LDRAW_LIBRARY_PATH)中有 LDraw 零件库—— 由ldraw-mcp-setup安装。
环境变量
| 变量 | 含义 |
|---|---|
LDRAW_MCP_BLENDER | Blender 二进制文件的路径(覆盖 PATH 查找) |
LDRAW_MCP_DISABLE | 设为 1 可强制让 is_available() 返回 False |
LDRAW_LIBRARY_PATH | LDraw 零件库的路径(社区惯例) |
手动设置
如果 ldraw-mcp-setup 无法自动检测相关内容:
- LDraw 库: 下载
complete.zip
并解压,确保
~/.ldraw/parts/存在。 - ImportLDraw 插件: 从
TobyLobster/ImportLDraw
下载最新版本,然后通过 Blender > Preferences > Add-ons > Install 安装,或解压到
~/.config/blender/<version>/scripts/addons/io_scene_importldraw/。 (先启动一次 Blender,以创建配置目录。)
故障排除
check_renderer显示 NOT FOUND: 运行ldraw-mcp-setup,或设置上文中的 相应环境变量。- 没有 GPU / WSL2 / 容器: 渲染使用 Cycles CPU 渲染,可在任何无头环境中运行—— 无需 GPU 或显示器。一个约 150 个零件的模型在默认的 640px / 24 个采样下只需几秒钟。
- “no mesh objects imported”: 插件无法解析零件——
通常是 LDraw 库路径错误或不完整。重新运行设置程序,或检查
LDRAW_LIBRARY_PATH。 - 插件未启用: 渲染脚本会在每次运行时自动启用插件;如果手动启动 Blender 时出现提示,请在 Preferences > Add-ons 中启用
io_scene_importldraw。
来源
此渲染器从 prompt2brick 项目中提取而来,最初是视觉评审器用于“查看实际模型”的路径。 prompt2brick 保留了自己的渲染包装器和 Blender 脚本副本,但今后本仓库将作为规范来源——渲染器的修复和改进应优先在此处完成,再移植回 prompt2brick。
许可证
MIT — 参见 LICENSE。
LEGO® 是 LEGO Group 的商标;该公司不赞助、授权或认可本项目。本工具与 LEGO Group、BrickLink 或 LDraw.org 组织均无关联。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。