Skip to main content
Glama

design_advisor

Read-only

Recommends the right 3D design generation approach—template, OpenSCAD, or AI—from a prompt, plus matching templates, material guidance, constraints, and complexity before you start.

Instructions

Ask which generation method to use for a design idea (triage tool — call FIRST).

        Analyzes the design prompt and recommends:
        - Which generation approach to use (template, OpenSCAD, or AI)
        - Which template matches (if any)
        - Material recommendations
        - Key constraints to consider
        - Estimated complexity

        :param prompt: Text description of the desired object.
        :param printer_model: Optional printer model for constraints.
        :param material: Optional material the user has already named
            ("for ABS") — tunes the constraint analysis to it.
        :returns: Dict with recommendations.
        

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "prompt": "<prompt>"
    },
    "name": "design_advisor"
  }
}

Input Schema

NameRequiredDescriptionDefault
promptYesText description of the desired object.
materialNoOptional material the user has already named ("for ABS") — tunes the constraint analysis to it. Default: "".
printer_modelNoOptional printer model for constraints. Default: "".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.5.1
    • changedInput schema / properties / material / description
      Previous value: -"Default: \"\"."New value: +"Optional material the user has already named (\"for ABS\") — tunes the constraint analysis to it. Default: \"\"."
    • changedInput schema / properties / printer_model / description
      Previous value: -"Default: \"\"."New value: +"Optional printer model for constraints. Default: \"\"."
    • addedInput schema / properties / prompt / description
      Added value: +"Text description of the desired object."
  2. Changed4 schema fields changedv1.5.0
    • removedInput schema / properties / material / default
      Removed value: -""
    • addedInput schema / properties / material / description
      Added value: +"Default: \"\"."
    • removedInput schema / properties / printer_model / default
      Removed value: -""
    • addedInput schema / properties / printer_model / description
      Added value: +"Default: \"\"."
  3. Changed1 schema field changedv1.3.0
    • addedInput schema / properties / material
      Added value: +{
      +  "default": "",
      +  "title": "Material",
      +  "type": "string"
      +}
  4. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuinely new context beyond that: it is a pure analysis step returning method/template/material/constraint/complexity recommendations rather than mutating anything, and it frames itself as a prerequisite step. It does not discuss latency, cost, or what happens if the prompt is too vague, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening line and output bullet list are well front-loaded and earn their space, but the trailing :param/:returns docstring block duplicates structured fields already present in the input schema. It reads as a pasted Python docstring rather than text written for an agent consumer, so roughly a third of the content is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating the five recommendation categories returned, so an agent knows what to expect from the call. For a read-only, three-parameter advisory tool this is close to complete; the only gap is guidance on prompt quality or fallback behavior when no template matches.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the three parameters are already fully documented and the :param block largely restates them verbatim. The only added meaning is the parenthetical "for ABS" example showing that `material` tunes constraint analysis, which is a marginal gain over the schema. Baseline 3 applies where the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Ask which generation method to use for a design idea") and explicitly positions itself as a triage tool to call FIRST, which separates it from the generation siblings (generate_model, smart_generate_from_template, generate_from_template). The bullet list enumerates exactly what decision it produces, so an agent knows the output is advisory rather than a generated artifact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"triage tool — call FIRST" gives explicit ordering guidance and implies the downstream generation tools are the alternative, which is strong for this family of tools. It does not, however, name any specific sibling (e.g., analyze_design_requirements, match_design_requirements, build_generation_prompt) as the alternative for cases where a design method is already known, so the routing is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools