Skip to main content
Glama

estimate_decoration_cost

Read-only

Calculate the added material, labor, and electricity costs of decorating a 3D model by comparing base and decorated STL files.

Instructions

Estimate cost impact of decorating a model (Pro).

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": {
      "base_model_path": "<base_model_path>",
      "decorated_model_path": "<decorated_model_path>"
    },
    "name": "estimate_decoration_cost"
  }
}

Input Schema

NameRequiredDescriptionDefault
materialNoFilament the model prints in (default "PLA"); sets the density the extra volume is weighed with. Default: "PLA".
labor_minutesNoHands-on minutes the decoration adds per item (default 0). Default: 0.0.
base_model_pathYesThe model before decoration (STL).
labor_cost_per_hourNoHourly rate for that labor (default 0). Default: 0.0.
printer_power_wattsNoThe printer's average draw in watts (default 150). Default: 150.0.
decorated_model_pathYesThe same model with the decoration (STL).
material_cost_per_kgNoWhat that filament costs per kg (default 20). Default: 20.0.
electricity_cost_per_kwhNoYour electricity price per kWh (default 0.12). Default: 0.12.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv1.5.1
    • addedInput schema / properties / base_model_path / description
      Added value: +"The model before decoration (STL)."
    • addedInput schema / properties / decorated_model_path / description
      Added value: +"The same model with the decoration (STL)."
    • changedInput schema / properties / electricity_cost_per_kwh / description
      Previous value: -"Default: 0.12."New value: +"Your electricity price per kWh (default 0.12). Default: 0.12."
    • changedInput schema / properties / labor_cost_per_hour / description
      Previous value: -"Default: 0.0."New value: +"Hourly rate for that labor (default 0). Default: 0.0."
    • changedInput schema / properties / labor_minutes / description
      Previous value: -"Default: 0.0."New value: +"Hands-on minutes the decoration adds per item (default 0). Default: 0.0."
    • changedInput schema / properties / material / description
      Previous value: -"Default: \"PLA\"."New value: +"Filament the model prints in (default \"PLA\"); sets the density the extra volume is weighed with. Default: \"PLA\"."
    • changedInput schema / properties / material_cost_per_kg / description
      Previous value: -"Default: 20.0."New value: +"What that filament costs per kg (default 20). Default: 20.0."
    • changedInput schema / properties / printer_power_watts / description
      Previous value: -"Default: 150.0."New value: +"The printer's average draw in watts (default 150). Default: 150.0."
  2. Addedv1.5.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/closed-world/non-destructive, so the safety profile is covered. The description's one extra fact is the '(Pro)' tier gate, which is genuinely useful, but it never says that the estimate is a delta between the base and decorated meshes, nor that material/electricity/labor rates default to fixed values.

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?

A single short sentence, front-loaded with the verb and resource, with no padding. It is efficient, though the brevity borders on under-specification rather than true concision.

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

Completeness2/5

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

With 8 parameters, no output schema, and a computation whose output shape (delta vs total, cost breakdown) is entirely undocumented, one sentence is not enough. An agent cannot tell what the returned estimate represents.

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 every one of the 8 parameters already carries a description and default; baseline 3 applies. The description adds no extra meaning about how the two model paths are compared or how the optional cost inputs combine.

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

Purpose4/5

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

The description gives a specific verb+resource: 'Estimate cost impact of decorating a model.' That is enough to know it produces a costing for decoration, but it does not distinguish it from the many nearby costing siblings (estimate_cost, estimate_batch_cost, estimate_print_cost_from_mesh, decoration_info).

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

Usage Guidelines2/5

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

No guidance on when to use this rather than estimate_cost or estimate_batch_cost, no prerequisites (e.g. that both STLs must exist and represent the same model), and no exclusions. The agent must infer all of this from the name alone.

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