Skip to main content
Glama
maximedns5

freecad-mcp

by maximedns5

instantiate_family

Instantiates a parametric part family (L-bracket, flanged disc, or box enclosure) from parameters, so you can generate named models without manual modeling operations.

Instructions

Build a named part family from parameters instead of a manual op sequence.

Available families:
- "l_bracket": parameters leg_a, leg_b, thickness, width, optional hole_d.
  An L-bracket is a cross-section swept along its width, not a footprint
  extruded by its thickness — this template encodes that so you don't
  have to re-derive it.
- "flanged_disc": parameters diameter, thickness, bolt_circle_diameter,
  hole_diameter, optional bolt_count (default 6). Builds a disc with a
  verified polar bolt-hole pattern.
- "box_enclosure": parameters outer_width, outer_length, outer_height,
  wall_thickness, optional floor_thickness (defaults to wall_thickness).
  Cuts the cavity with a separate cutter solid positioned at
  z=floor_thickness, so the enclosure actually has a floor — a
  sketch-based pocket from the base plane cannot leave one.

All created objects are named with name_prefix so multiple instances can
coexist in one document.

Args:
    doc_name: The name of the document.
    family: One of "l_bracket", "flanged_disc", "box_enclosure".
    name_prefix: Prefix for every object this family creates.
    parameters: Family-specific parameters (see the list above).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
familyYes
doc_nameYes
parametersYes
name_prefixYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral nuances: all objects are named with a prefix to allow coexistence, the L-bracket template encodes a sweep instead of an extrusion, the flanged disc uses a verified bolt-hole pattern, and the box enclosure uses a separate cutter solid to preserve a floor. This goes well beyond what the schema or annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose, bulleted family definitions, and an Args section. Every sentence adds necessary information about behavior, parameters, or naming, with no filler or redundancy.

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

Completeness5/5

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

The tool is complex with multiple families and free-form parameters, and the description covers all essential aspects: family choices, parameter semantics, modeling pitfalls, and naming behavior. Since an output schema exists, omitting return-value details is acceptable. The description is sufficiently complete for an agent to select and invoke the tool correctly.

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

Parameters5/5

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

Schema coverage is 0%, and parameters is a free-form object, so the description carries the entire burden. It not only lists each family's parameters but also specifies which are optional and their default values, adding meaning far beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool's verb and resource: 'Build a named part family from parameters instead of a manual op sequence.' It also enumerates the specific families, making its scope unambiguous and distinct from sibling tools like create_object, pad, or sweep.

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?

The phrase 'instead of a manual op sequence' provides explicit contextual guidance for when to use the tool. It clearly differentiates this from manual modeling workflows, though it does not explicitly name alternative tools or describe when NOT to use it. The family-specific details further clarify applicability.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maximedns5/freecad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server