砖mcp
一 主控程序 服务器,允许AI助手创建、检查和编辑存储在BrickLink Studio中的LEGO模型(.io)和LDraw(.ldr)文件。让你的AI助手打开一个文件,移动零件,改变颜色,添加新的砖块,然后保存回直接在BrickLink Studio中打开的文件。
特性
- 打开并保存 BrickLink工作室
.io文件和普通LDraw.ldr/.mpd文件 - 列出零件,检查物料清单,查看建筑说明步骤
- 按会话ID添加、删除、移动、旋转和重新着色单个零件
- 搜索内置零件数据库并查找LDraw颜色代码
- 使用从头开始创建新模型
new_model()
需求
- Python≥3.14
- 拒绝 (推荐--自动处理所有依赖关系)
如果没有Nix,请手动安装Python依赖项:
pip install "fastmcp>=3.1.0" "pyzipper>=0.3.6"MCP客户端配置
VS Code
存储库提供了一个即用型 .vscode/mcp.json 使用Nix:
{
"servers": {
"bricks": {
"type": "stdio",
"command": "nix",
"args": ["run", "/path/to/brick-mcp"]
}
}
}替换 /path/to/brick-mcp 使用本地克隆的路径,或使用 github:datakurre/brick-mcp 直接从GitHub运行,无需克隆。
克劳德桌面(claude_desktop_config.json)
{
"mcpServers": {
"bricks": {
"command": "nix",
"args": ["run", "github:datakurre/brick-mcp"]
}
}
}没有Nix(本地Python)
{
"mcpServers": {
"bricks": {
"command": "python",
"args": ["/path/to/brick-mcp/main.py"]
}
}
}典型工作流程
1. open_model("path/to/model.io") — load a file
2. list_parts() — see what's inside
3. change_color("abc123", 4) — change a part to Red
4. add_part("3001.dat", 4, x=0, y=-24, z=0) — place a new 2×4 brick
5. save_model() — write back to the original file工具参考
文件操作
| 工具 | 说明 |
|---|---|
new_model(name) | 在内存中创建一个新的空模型。 |
open_model(path) | 打开a .io, .ldr,或 .mpd 文件。为所有部分分配会话ID。 |
save_model(path) | 保存模型。省略 path 以覆盖源文件。 |
get_model_info() | 返回文件名、子模型、总零件数、脏标志。 |
检查
| 工具 | 说明 |
|---|---|
list_parts(submodel) | 列出所有带有ID、颜色、位置和旋转的零件。 |
get_bom(submodel) | 按零件号和颜色分组的物料清单。 |
get_steps(submodel) | 建立指令步骤边界和每个步骤的零件数量。 |
编辑
| 工具 | 说明 |
|---|---|
add_part(part_number, color, x, y, z, rotation_matrix, submodel) | 添加零件并返回其新会话ID |
remove_part(part_id, submodel) | 按会话ID删除零件 |
move_part(part_id, x, y, z, submodel) | 将零件移动到新的绝对坐标。 |
rotate_part(part_id, rotation_matrix, submodel) | 更换零件的旋转矩阵 |
change_color(part_id, color, submodel) | 对零件重新着色。 |
add_step(submodel) | 添加STEP标记(建筑说明边界)。 |
remove_step(step_index, submodel) | 按索引删除STEP标记。 |
零件和颜色数据库
| 工具 | 说明 |
|---|---|
search_parts(query) | 按名称或编号搜索内置零件数据库。 |
list_colors() | 所有带有名称和十六进制值的LDraw颜色代码。 |
get_color_info(color_code) | 特定颜色代码的详细信息。 |
坐标系
LDraw用途 LDU (LDraw单位)。关键测量:
| 测量 | LDU |
|---|---|
| 1个螺柱宽度 | 20 |
| 1砖高 | 24 |
| 1板高 | 8 |
这 Y轴反转: y=0 是构建板, y=-24 X和Z是水平面。
常用LDraw颜色代码
| 代码 | 颜色 |
|---|---|
| 0 | 黑色 |
| 1 | 蓝色 |
| 2 | 绿色 |
| 4 | 红色 |
| 14 | 黄色 |
| 15 | 白色 |
| 71 | 浅蓝灰色 |
| 72 | 深蓝灰色 |
使用 list_colors() 查看完整列表。
通用零件号
| 零件 | 编号 |
|---|---|
| 砖1×1 | 3005 |
| 砖1×2 | 3004 |
| 砖1×4 | 3010 |
| 砖2×2 | 3003 |
| 砖2×4 | 3001 |
| 板1×1 | 3024 |
| 板1×2 | 3023 |
| 板2×4 | 3020 |
使用 search_parts("brick 2x4") 查找您不知道的零件号。
