mcpField
L
ldraw-mcp

ldraw-mcp

本地服务
github.com媒体与设计33 天前更新

关于 ldraw-mcp

ldraw-mcp 是一个 MCP 服务,使用无头模式的 Blender 和 ImportLDraw 插件,将 LDraw LEGO 模型文件渲染为图像。它还提供零件清单、颜色查询和零件搜索,便于检查模型。

主要功能

  1. 01从多个角度渲染 LDraw 文件
  2. 02渲染内联 LDraw 文本
  3. 03生成零件与颜色数量清单
  4. 04查询 LDraw 颜色
  5. 05搜索零件库
  6. 06诊断渲染器配置

适用场景

  1. 01通过图像检查模型导出错误
  2. 02无需先保存文件即可渲染内联模型
  3. 03列出模型中的零件及数量
  4. 04在 LDraw 库中查找零件或颜色

MCP 相关

向 MCP 客户端提供渲染、物料清单、颜色查询、零件搜索和渲染器诊断工具。渲染使用无头模式的 Blender 与 ImportLDraw;零件清单和颜色查询工具对零件库有各自的要求。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"musharna-ldraw": {
"command": "uvx",
"args": [
"ldraw-mcp"
],
"env": {
"LDRAW_MCP_BLENDER": "<LDRAW_MCP_BLENDER>",
"LDRAW_LIBRARY_PATH": "<LDRAW_LIBRARY_PATH>"
}
}
}
}
启动命令uvx ldraw-mcp
需要配置的环境变量
LDRAW_MCP_BLENDERPath to the Blender binary (overrides PATH lookup).
LDRAW_LIBRARY_PATHPath to the LDraw parts library (default ~/.ldraw).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypildraw-mcp0.3.1

工具

6

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

ldraw-mcp

让你的 MCP 客户端看见 LEGO® 模型。

使用无头 Blender 和 ImportLDraw 插件,将 LDraw 文件(.ldr / .mpd / .dat)渲染成图像,呈现 真实零件几何结构——凸粒、斜面、窗户玻璃。输出效果媲美 BrickLink Stud.io 渲染,整个流程无需 GUI。

PyPI Python License MCP CI Glama DOI

一辆红色 LEGO 汽车的两个渲染视图——真实凸粒、透明玻璃、橡胶轮胎、方向盘

一份约 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_BLENDERBlender 二进制文件的路径(覆盖 PATH 查找)
LDRAW_MCP_DISABLE设为 1 可强制让 is_available() 返回 False
LDRAW_LIBRARY_PATHLDraw 零件库的路径(社区惯例)
手动设置

如果 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 组织均无关联。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。