Skip to main content
Glama

cad_examples

Read-onlyIdempotent

Lists worked build123d CAD examples by use case and returns a selected example's record and full script to adapt for your own design.

Instructions

The code engine's cookbook: worked build123d designs from simple to complex, each modelled on the best bought version of the thing, with its concept, published sizes and script. Without arguments, lists them by purpose (name, title, use_for: the requests it suits, the pattern it shows, the product it is modelled on): choose by use_for before choosing a mechanism. With name, returns that example's record and full script to adapt. Read-only; starts no process.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "cad_examples"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoAn example's name from the list; omit to list them.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.93

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so 'Read-only; starts no process' largely restates them, with only a small addition ('starts no process'). Useful new context is the two modes and what the list is keyed on (name, title, use_for), but return details are also carried by the output schema.

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?

Front-loaded with the core identity and then the two calling modes; every sentence carries information. Slightly dense to the point of awkwardness ('each modelled on the best bought version of the thing'), but nothing is truly 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?

For a one-parameter read tool with full annotations and an output schema, the definition covers selection strategy, both invocation modes, and safety. Minor gaps remain: no indication of how many examples exist or of limits on adapting the returned script, which an agent might want before relying on it.

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 coverage is 100% and the single parameter is already documented as 'an example's name from the list; omit to list them.' The description reinforces that names come from the list and explains what omission yields, but adds little syntax or format meaning beyond the schema.

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 resource and dual mode: lists worked build123d design examples when called without arguments, returns one example's record and full script when given a name. The 'cookbook' framing plus 'build123d designs' makes the subject concrete and distinguishable from execution tools like cad_run, though it never names a sibling explicitly.

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?

Explicitly covers the no-argument case (list, and select by use_for) and the with-name case (fetch record and adaptable script), and adds a workflow rule: 'choose by use_for before choosing a mechanism.' It stops short of naming which alternative tool to use once a mechanism is chosen, so no explicit exclusion is given.

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