Skip to main content
Glama
FreeCAD Tutor MCP
by alex-r-t

add_techdraw_dimension

Adds a 2D TechDraw dimension (Distance, Radius, Diameter, or Angle) to referenced view edges or vertices, enabling annotation of FreeCAD drawings with undo support.

Instructions

Add a 2D TechDraw dimension (Distance, Radius, Diameter, Angle) referencing view edges/vertices (undoable).

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": {
      "page_name": "<page_name>",
      "view_name": "<view_name>",
      "references": "<references>"
    },
    "name": "add_techdraw_dimension"
  }
}

Input Schema

NameRequiredDescriptionDefault
xNo
yNo
nameNo
dim_typeNoDistance
doc_nameNo
page_nameYes
view_nameYes
referencesYes
format_specNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent local mutation. The description adds a genuinely new behavioral fact — that the operation is undoable — but says nothing about required permissions, side effects on the drawing, or what happens if the referenced geometry is invalid.

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 dense sentence with the core action and its qualifiers front-loaded; no filler. The parenthetical lists are compact but slightly crammed, which keeps it just short of ideal structure.

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?

An output schema exists so return values need not be described, but for a 9-parameter mutation tool with zero schema descriptions the definition is thin: the meaning and defaults of x/y, name, doc_name, and format_spec, plus the page/view prerequisite, are all left to guesswork.

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 0% across 9 parameters, so the description must compensate and only partially does: it supplies the effective enum for dim_type and clarifies that references are edge/vertex identifiers. It leaves x, y, name, doc_name, and format_spec entirely unexplained.

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 ('Add a 2D TechDraw dimension') and even enumerates the supported dimension kinds (Distance, Radius, Diameter, Angle), which distinguishes it from sibling tools like add_techdraw_view or add_techdraw_section. It doesn't explicitly state what it is not, but the resource is unambiguous.

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?

There is no explicit when-to-use guidance, no prerequisites (e.g. that a page and view must already exist, or that edge/vertex handles come from find_edges/find_faces), and no alternatives named. Usage is only implied by 'referencing view edges/vertices'.

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