A safety-first Bambuddy companion for agent-assisted 3D printing.
Print-concierge has 12 tools with basic naming and descriptions, but significant gaps in schema completeness, parameter documentation, and error handling. Most tools lack detailed input parameter descriptions and output schema documentation. Tool names follow verb_noun convention (list_, get_, create_, search_) which is good, but parameter descriptions are minimal or absent. No evidence of error recovery guidance, confirmation patterns for irreversible operations, or structured output schemas. The codebase shows function signatures but tool registration via FastMCP is incomplete in the provided excerpt.
Create a print request from a prepared print plan
Get the status of a queued print job
Get the status of a print request
Get the status of a specific printer
Get the status of public model imports from MakerWorld
Import a public model candidate from MakerWorld or other sources
List all available printers
Output schemas not documented. Tools return dicts but LLMs cannot infer field names, types, or structure for downstream chaining. E.g., list_printers returns list[dict] with no schema specification.
Parameter descriptions missing or minimal. 'selected' param in import_public_candidate and prepare_print_plan described only as 'The selected model search result', no guidance on required fields, structure, or how to obtain it.
Irreversible operations lack confirmation or dry-run pattern. queue_print_request (IRREVERSIBLE risk) has no confirmation step, approval gate, or preview capability. Agents can queue jobs without review.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List available slicer presets including printers, processes, and filaments
Prepare a print plan with selected model, printer, material, and profile
Queue an approved print request for printing
Search for 3D models in local archive or public model repositories
Display a print plan
Error handling provides no recovery guidance. Functions raise ValueError/TypeError with minimal context. E.g., 'plan_hash is required' gives no hint on how to obtain a valid plan_hash or which tool to call next.
Complex object parameters (printer, material, profile, selected) lack structure documentation. No enum constraints, required fields, or format specifications. LLMs must guess valid structure.