Skip to main content
Glama
musharna

ldraw-mcp

by musharna

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LDRAW_MCP_BLENDERNoPath to the blender binary (overrides PATH lookup)
LDRAW_MCP_DISABLENoSet to 1 to force is_available() to False
LDRAW_LIBRARY_PATHNoPath to the LDraw parts library (community convention)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_rendererA

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

render_ldraw_fileA

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.

render_ldraw_textA

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.

bill_of_materialsA

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.

lookup_colorA

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.

search_partsA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: file rendering, inline rendering, bill of materials, renderer status check, color lookup, and part search. The two render tools differ only by input source (file vs inline text), and their descriptions make that boundary explicit.

Naming Consistency4/5

Most tool names follow a clear verb_noun pattern: render_ldraw_file, render_ldraw_text, check_renderer, lookup_color, and search_parts. The exception is bill_of_materials, which is a noun phrase rather than a verb-led action, creating a minor inconsistency.

Tool Count5/5

Six tools is well-scoped for an LDraw-oriented server covering rendering, analysis, and library lookups. Each tool earns its place without redundancy or bloat.

Completeness5/5

The tool surface covers the primary LDraw workflows: rendering models from files or inline content, generating bills of materials, checking renderer availability, and querying the part and color libraries. No obvious dead ends or critical missing operations are apparent for the intended domain.

Maintenance

ActivityActive
ResponsivenessResponsive