← Back to search

ldraw-mcp

musharna Scanned 2d ago

Render LDraw/LEGO models to images with real part geometry via headless Blender + ImportLDraw

C
72.1 / 100

Versions

0.1.1latest
first seen Jul 2, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 6

check_renderer
annotations: none low

Report whether the LDraw rendering stack is available and why not.

render_ldraw_file
annotations: none low

Render an LDraw model file (.ldr/.mpd/.dat) to a PNG image. Views are rendered at each comma-separated azimuth (degrees) and stitched side by side. Higher samples = cleaner but slower. Bounds: resolution 32..2048 px per view, samples 1..1024, 1..8 azimuths, and resolution^2 x samples x views at most 2**27.

path str samples int azimuths str resolution int
render_ldraw_text
annotations: none low

Render inline LDraw content (the text of a .ldr file) to a PNG. Useful for quick experiments without writing a file first. Same bounds as render_ldraw_file.

ldr str samples int azimuths str resolution int
bill_of_materials
annotations: none low

Bill of materials for an LDraw model: part x colour x quantity rows. Give `path` (a .ldr/.mpd file) or `ldr` (inline LDraw text), not both. MPD sub-models are expanded with their multiplicity, and colour 16 inherits the colour of the line that referenced the sub-model. Part descriptions and colour names come from the LDraw library when one is installed; without it the counts are the same and those fields are null. A colour code that LDConfig.ldr does not define is listed in `unknown_color_codes`, and a part the library lacks in `parts_not_in_library`.

ldr str path str
lookup_color
annotations: none low

Look up LDraw colours in the library's LDConfig.ldr. `query` is a colour code (`4`, or a direct colour `0x2FF8800`) or part of a name (`dark blue`, `Trans_Red`). Returns code, name, RGB, edge colour, alpha and finish for each match; an unknown code returns no matches.

query str
search_parts
annotations: none low

Search the LDraw library's parts by description or file-name substring. Case-insensitive, runs of spaces collapsed (`brick 2 x 4` matches the header `Brick 2 x 4`). Returns at most `limit` parts (max 200) plus the total number of matches.

limit int query str

Permissions 4

network medium
Server uses network capabilities via: urllib
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: subprocess
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 32

low
Tool 'check_renderer' has no annotations annotation_checker · 100%
low
Tool 'render_ldraw_file' has no annotations annotation_checker · 100%
low
Tool 'render_ldraw_text' has no annotations annotation_checker · 100%
low
Tool 'bill_of_materials' has no annotations annotation_checker · 100%
low
Tool 'lookup_color' has no annotations annotation_checker · 100%
low
Tool 'search_parts' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: mcp@2,<3 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@2,<3 (PYSEC-2026-3483) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: check_renderer manifest_parser · 90%
info
Tool: render_ldraw_file manifest_parser · 90%
info
Tool: render_ldraw_text manifest_parser · 90%
info
Tool: bill_of_materials manifest_parser · 90%
info
Tool: lookup_color manifest_parser · 90%
info
Tool: search_parts manifest_parser · 90%
info
Required env vars (7) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%