MCP server for interacting with LEGO brick collections via Rebrickable API and bricks-cli services
13 tools with mostly complete schemas and descriptions, but significant gaps in parameter documentation and error handling. Tool names follow verb_noun convention (get_, merge_, build_, run_). Descriptions present but generic (avg ~60 chars, below 194-char baseline). Most tools lack parameter descriptions beyond titles. No error recovery guidance. Tool 13 (run-script) has NO visible input schema. Composition is reasonable, tools chain via JSON inputs, but parameter naming inconsistencies (set_number vs set_list_id) and missing validation rules reduce clarity.
build a collection by matching needed parts with provided parts, allowing substitutions based on mode
get all parts of the authenticated user's collection at Rebrickable©
get all sets from the authenticated user's collection at Rebrickable©
get an overview about a set of bricks and its complete parts inventory (with caching)
get an overview of a set of bricks
get the parts (inventory) of a set of bricks
Tool 13 (run-script) has no visible input schema and minimal description ('run a BricksScript script'). Cannot determine what parameters it accepts or what it returns.
Most parameter descriptions are missing or trivial. E.g., 'set_number' has description 'The set number of the set to retrieve' but no format guidance (e.g., '75192-1' format, required vs optional). LLMs cannot infer valid input ranges or formats.
No error handling or recovery guidance. Tools return JSON but no documentation of error cases, HTTP status codes, or what the LLM should do if a set_number is invalid or API fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
get the sets from a specific set list in the authenticated user's collection at Rebrickable©
get a specific set list from the authenticated user's collection at Rebrickable©
get the user's set lists from Rebrickable©
get all part lists of the authenticated user's collection at Rebrickable©
merge all given collections to a new single collection
merge parts in a collection by color, alternates, molds, or prints (modifies the collection in place)
run a BricksScript script
Merge and build tools accept JSON strings as parameters (collection_json, needed_collection_json). No schema validation rules documented. LLMs cannot know what fields are required in the JSON or what happens if malformed JSON is passed.
No output schema documentation. Tools return collections, sets, or parts but no formal schema describing the response structure. LLMs cannot plan downstream tool calls without knowing what fields are available.