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

partdesign_linear_pattern

Repeat PartDesign features along a straight line by setting direction, length, and occurrence count; use it to create linear arrays and undo changes if needed.

Instructions

Repeat PartDesign feature(s) along a line (PartDesign::LinearPattern) (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": {
      "feature_names": "<feature_names>"
    },
    "name": "partdesign_linear_pattern"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
lengthNo
doc_nameNo
reversedNo
directionNoX_Axis
occurrencesNo
feature_namesYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered. The description adds '(undoable)', which is genuinely new context about reversibility. It does not explain what happens to existing pattern features, what constraints apply to feature_names, or how direction values are interpreted.

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 compact sentence with the core action front-loaded. The parenthetical C++ type name and '(undoable)' are the only mildly extraneous tokens, but both carry some signal.

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. However, for a 7-parameter mutation tool with 0% schema coverage and no usage routing, the definition leaves too much for the agent to infer about direction, occurrences, and feature references.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, so the description carries the full burden and adds almost nothing: it never explains occurrences, length units, direction string values (default 'X_Axis'), reversed, or that feature_names must reference existing PartDesign features. Only 'along a line' loosely hints at direction/length.

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: "Repeat PartDesign feature(s) along a line," plus the underlying type PartDesign::LinearPattern. An agent can distinguish it from partdesign_polar_pattern by the 'along a line' wording, though the sibling is never named explicitly.

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 versus partdesign_polar_pattern, partdesign_mirrored, or a manual repeat. The linear-vs-circular distinction is only implied by the phrase 'along a line'; no exclusions or prerequisites are stated.

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