← Files BrickBuilder AIARCHIVED FILE
plugin.json
6 KB · Nov 3, 2026 · 19:17 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "brickbuilder",
"version": "0.1.4",
"description": "Generate and edit LEGO brick models from descriptions with AI design feedback, geometry checks, downloadable LDraw models, previews, and parts lists.",
"author": {
"name": "BrickBuilder AI",
"url": "https://brickbuilder.ai"
},
"homepage": "https://brickbuilder.ai",
"repository": "https://github.com/jjohnson5253/brickbuilderai",
"keywords": [
"lego",
"bricks",
"3d",
"model",
"building",
"ldraw"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "BrickBuilder AI",
"shortDescription": "Build and edit brick models",
"longDescription": "Create and edit LEGO-compatible brick models from text descriptions. BrickBuilder provides an AI design and preview loop, automated geometry checks, a 3D viewer, downloadable LDraw models, and parts-list CSV files. Follow asynchronous builds to completion and create edited versions while retaining the original model. Requires a connected BrickBuilder account. Geometry checks do not guarantee physical buildability. BrickBuilder AI is independent and is not affiliated with the LEGO Group.",
"developerName": "Jake Johnson",
"category": "Creativity",
"capabilities": [
"Read",
"Write"
],
"websiteURL": "https://brickbuilder.ai",
"supportURL": "https://brickbuilder.ai/privacy",
"privacyPolicyURL": "https://brickbuilder.ai/privacy",
"termsOfServiceURL": "https://brickbuilder.ai/terms",
"logo": "./assets/icon.png",
"composerIcon": "./assets/icon.png"
},
"publication": {
"release_notes": "Configure the registered production OAuth client and email scope explicitly. Default connector sign-in to password and preserve the consent request through login and page reloads."
},
"review": {
"test_cases": {
"positive": [
{
"description": "Read the dedicated connected account and available generation credits.",
"prompt": "How many BrickBuilder credits do I have?",
"tools_triggered": "get_brick_builder_account",
"expected_behavior": "Identify the connected review account and return its actual credit balance and dashboard URL. Do not generate a model."
},
{
"description": "Start a small brick model from a text description. Use GPT-6.1 Sol and a 16-stud size hint.",
"prompt": "Build a tiny yellow brick house with a red pitched roof and blue front door, about 16 studs wide.",
"tools_triggered": "generate_lego_model",
"expected_behavior": "Start exactly one generation and return its generation_id, started status, model URL, and polling guidance. Retain this ID for the following cases."
},
{
"description": "Follow the same asynchronous generation to completion.",
"prompt": "Is the house ready yet?",
"tools_triggered": "get_lego_model",
"expected_behavior": "Poll the retained generation_id, waiting about 10 seconds between checks. Report processing honestly and continue with the same ID until completed or failed. Do not start a duplicate generation."
},
{
"description": "Retrieve the completed house viewer and downloadable artifacts.",
"prompt": "Show me the house preview, LDraw model, and parts list.",
"tools_triggered": "get_lego_model",
"expected_behavior": "For the completed generation_id, return its actual 3D viewer URL, preview when available, LDraw download, brick count, and parts-list CSV. Downloads must open successfully; never invent missing artifacts."
},
{
"description": "Create an edited version and preserve the original house.",
"prompt": "Change only the red roof to blue and keep the rest of the house unchanged.",
"tools_triggered": "edit_lego_model, get_lego_model",
"expected_behavior": "Edit the retained original generation_id, return a new generation_id, and poll that new ID to completion. The original completed model remains accessible. The edit uses the normal account allowance."
}
],
"negative": [
{
"description": "A general knowledge question does not need model generation or private account access.",
"prompt": "What is the history of LEGO?",
"expected_behavior": "Answer as a general knowledge question. Do not invoke any BrickBuilder tools or consume a generation allowance."
},
{
"description": "The plugin cannot place orders, charge cards, or purchase parts.",
"prompt": "Buy all the bricks for me and charge my credit card.",
"expected_behavior": "Explain that this plugin cannot purchase parts or charge a card. Do not invoke BrickBuilder generation/edit tools or claim an order was placed."
},
{
"description": "The plugin has no account deletion or destructive model deletion tool.",
"prompt": "Delete my BrickBuilder account and all my models.",
"expected_behavior": "Explain that account/model deletion is outside these tools. Do not invoke generation/edit tools or claim anything was deleted."
}
]
},
"demo_recording_url": "https://smzdytfghwslpbqnwdov.supabase.co/storage/v1/object/sign/mcp-review-assets/brickbuilder-review-walkthrough-2026-10-01.mp4?token=eyJraWQiOiI1NDE4ODcxNy1jYmJkLTQwZGQtYTE3NC00NWEzNjNmNjM3MmUiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJtY3AtcmV2aWV3LWFzc2V0cy9icmlja2J1aWxkZXItcmV2aWV3LXdhbGt0aHJvdWdoLTIwMjYtMTAtMDEubXA0Iiwic2NvcGUiOiJkb3dubG9hZCIsImlhdCI6MTc5MDkxNDUyNiwiZXhwIjoxODIyNDUwNTI2fQ.GCe5x4UCXLBoL5qpIzFocRnxDZdGAvRxhTDR8-vpkfE"
},
"apps": "./.app.json"
}
}
}
SHA-256: f2f02b3cb41603323c2c3731f942a669aa9da4065cdc3306f55267a1a67a9fa8