Skip to main content
Glama

design_hole_for_product

Read-only

Designs holes and slots sized to fit real-world products, using product query, material, and fit class to produce printable dimensions for 3D-printed parts.

Instructions

Design a hole or slot sized to fit a real-world product.

Needs Kiln 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": {
      "product_query": "<product_query>"
    },
    "name": "design_hole_for_product"
  }
}

Input Schema

NameRequiredDescriptionDefault
materialNo``"PLA"``, ``"PETG"``, ``"ABS"``, ``"ASA"``, ``"Nylon"``, or ``"TPU"``. Defaults to PLA. Default: "PLA".
fit_classNo``"close"``, ``"normal"`` (default for most products), ``"loose"``, ``"press"``, or ``"transition"`` (FDM-downgraded to ``close``). Empty string uses the product's catalog default (``fit_class_default``). Default: "".
printer_idNooptional kiln printer id; when provided and a calibration profile exists, per-printer offsets are layered on top of the FDM nominal compensation. Without it the response flags ``calibration_used.tier = "unknown"``. Default: "".
hole_depth_mmNoOptional hole depth in mm. When above 0 the answer also checks the hole's depth-to-diameter ratio and warns when it is likely to string on FDM. Default: 0.0.
product_queryYesname of the product as the user says it (case-insensitive, whitespace-tolerant). Match works against the canonical name and a curated set of aliases per product.
blind_or_throughNo``"blind"`` (closed bottom — may trap support material) or ``"through"`` (default). Default: "through".
edge_distance_mmNoOptional distance from the hole centre to the nearest part edge in mm. When above 0 the answer checks the hole sits far enough from the edge and warns when it does not. Default: 0.0.
wall_thickness_mmNoOptional wall thickness around the hole in mm. When above 0 the answer checks the wall is thick enough for the hole and warns when it is not. Default: 0.0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv1.5.1
    • changedInput schema / properties / blind_or_through / description
      Previous value: -"Default: \"through\"."New value: +"``\"blind\"`` (closed bottom — may trap support material) or ``\"through\"`` (default). Default: \"through\"."
    • changedInput schema / properties / edge_distance_mm / description
      Previous value: -"Default: 0.0."New value: +"Optional distance from the hole centre to the nearest part edge in mm.  When above 0 the answer checks the hole sits far enough from the edge and warns when it does not. Default: 0.0."
    • changedInput schema / properties / fit_class / description
      Previous value: -"Default: \"\"."New value: +"``\"close\"``, ``\"normal\"`` (default for most products), ``\"loose\"``, ``\"press\"``, or ``\"transition\"`` (FDM-downgraded to ``close``).  Empty string uses the product's catalog default (``fit_class_default``). Default: \"\"."
    • changedInput schema / properties / hole_depth_mm / description
      Previous value: -"Default: 0.0."New value: +"Optional hole depth in mm.  When above 0 the answer also checks the hole's depth-to-diameter ratio and warns when it is likely to string on FDM. Default: 0.0."
    • changedInput schema / properties / material / description
      Previous value: -"Default: \"PLA\"."New value: +"``\"PLA\"``, ``\"PETG\"``, ``\"ABS\"``, ``\"ASA\"``, ``\"Nylon\"``, or ``\"TPU\"``.  Defaults to PLA. Default: \"PLA\"."
    • changedInput schema / properties / printer_id / description
      Previous value: -"Default: \"\"."New value: +"optional kiln printer id; when provided and a calibration profile exists, per-printer offsets are layered on top of the FDM nominal compensation. Without it the response flags ``calibration_used.tier = \"unknown\"``. Default: \"\"."
    • addedInput schema / properties / product_query / description
      Added value: +"name of the product as the user says it (case-insensitive, whitespace-tolerant).  Match works against the canonical name and a curated set of aliases per product."
    • changedInput schema / properties / wall_thickness_mm / description
      Previous value: -"Default: 0.0."New value: +"Optional wall thickness around the hole in mm.  When above 0 the answer checks the wall is thick enough for the hole and warns when it is not. Default: 0.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=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds a real prerequisite ('Needs Kiln Pro') that annotations do not carry. However, it omits that this is a computation-only advisory call, that results depend on printer calibration and FDM nominal compensation, and that warnings (depth-to-diameter, edge distance, wall thickness) may be returned.

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?

Two short sentences, front-loaded with the core action and followed by the tier prerequisite. No filler or repetition. It is arguably under-written for an eight-parameter design tool, but nothing is wasted.

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?

For an eight-parameter tool in a nuanced domain (fit classes, material-dependent compensation, per-printer calibration offsets) with no output schema, two sentences are thin. The description never says what comes back — dimensions only, plus fit and warning diagnostics — or how the product query is resolved against the catalog. An agent must open the schema to understand nearly everything.

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%, with all eight parameters individually documented, including material values, fit classes, and the effect of each optional mm parameter. The description adds nothing beyond the schema, so the baseline 3 applies — the schema, not the description, carries parameter meaning.

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?

States a specific verb and resource: 'Design a hole or slot sized to fit a real-world product.' An agent immediately knows this produces hole/slot dimensions for a named product. It does not distinguish itself from nearby siblings such as recommend_hole, recommend_hardware_pocket, or compute_iso_fit, so it stops short of a 5.

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 when-to-use or when-not-to-use guidance beyond the implicit 'you have a product whose hole you need sized.' No alternative is named despite several plausible siblings (recommend_hole, compute_iso_fit, recommend_running_clearance). The one piece of routing information is the 'Needs Kiln Pro' prerequisite, which gates access but does not help select between tools.

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