Skip to main content
Glama

analyze_design_requirements

Read-only

Resolve a natural-language requirement into material recommendations, design patterns, dimensional constraints, and print orientation rules for 3D printing.

Instructions

Analyze a functional requirement and return technical recommendations.

        This is the internal-lookup tool that resolves a natural-language
        requirement into material recommendations, applicable design
        patterns, dimensional constraints, print orientation rules, and
        expert guidance notes.

        For the user-facing flow — capturing what a user is making at the
        duty / environment / materials / safety layer and producing a
        saved goal that drives generation, the audit, and the post-print
        review — call ``design_session(verb="start", idea="...")`` first.
        That tool internally calls this one for technical lookups; agents
        calling ``analyze_design_requirements`` directly should treat it
        as a pre-design analysis pass, not the user-facing entry point.

        Examples:
            "shelf bracket that holds 10 lbs of books"
            "outdoor planter that holds water"
            "phone mount for car dashboard, survives summer heat"
            "snap-fit enclosure for a Raspberry Pi"
            "flexible phone case that absorbs drops"
            "cookie cutter, food safe"
            "decorative vase, looks premium"

        Args:
            requirements: Natural language description of what the object
                needs to do — functional needs, environment, loads, etc.
            material: Optional material override (e.g. "petg"). If not
                provided, the system recommends the best material.
        

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": {
      "requirements": "<requirements>"
    },
    "name": "analyze_design_requirements"
  }
}

Input Schema

NameRequiredDescriptionDefault
materialNoOptional material override (e.g. "petg"). If not provided, the system recommends the best material.
requirementsYesNatural language description of what the object needs to do — functional needs, environment, loads, etc.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.5.1
    • addedInput schema / properties / material / description
      Added value: +"Optional material override (e.g. \"petg\"). If not provided, the system recommends the best material."
    • addedInput schema / properties / requirements / description
      Added value: +"Natural language description of what the object needs to do — functional needs, environment, loads, etc."
  2. Changed1 schema field changedv1.5.0
    • removedInput schema / properties / material / default
      Removed value: -null
  3. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is clear. The description adds useful behavioral context beyond that: it lists the kinds of recommendations returned and notes that design_session internally calls this tool for technical lookups. It does not discuss auth, rate limits, or error behavior, but those are not central for this read-only analysis tool.

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

Conciseness4/5

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

The purpose is front-loaded and the structure separates purpose, orchestration guidance, examples, and arguments clearly. The Args section duplicates the input schema, and seven examples are more than strictly necessary, but they are relevant and not bloated with filler.

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

Completeness5/5

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

Although there is no output schema, the description enumerates the categories of results the tool returns — material recommendations, applicable design patterns, dimensional constraints, print orientation rules, and expert guidance notes — and explains its relationship to design_session. That is enough for an agent to invoke it correctly and understand what to expect back.

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

Parameters4/5

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

Schema description coverage is 100%, and the Args section largely repeats the schema text for both parameters. However, the seven example requirement strings add practical meaning about the expected natural-language format for the requirements parameter — for example, "shelf bracket that holds 10 lbs of books" and "outdoor planter that holds water" — which goes beyond the schema’s generic description.

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?

The description states a specific verb and resource — analyze a functional requirement and return technical recommendations — and enumerates the outputs it resolves: materials, design patterns, dimensional constraints, print orientation rules, and expert guidance. It explicitly positions itself as the internal-lookup tool rather than the user-facing entry point, naming design_session as the sibling to use for the saved-goal flow.

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

Usage Guidelines5/5

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

It gives explicit routing guidance: call design_session(verb="start", idea="...") for the user-facing flow first, and treat direct calls to analyze_design_requirements as a pre-design analysis pass. It also supplies concrete example inputs, making the intended use clear without requiring the agent to infer it.

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