Skip to main content
Glama
MatteoBaisini

solidworks-mcp

create_plane

Creates a parallel reference plane at a specified offset from a chosen plane or planar face, enabling loft profile creation; returns the new plane name.

Instructions

Creates a reference plane parallel to another one, offset_mm away (e.g. for loft profiles). reference: "front", "top", "right" or the name of a plane; or give face_point ([x, y, z] mm on a planar face) to offset from that face. flip=True puts it on the other side. Returns its name, to use with select_plane.

Input Schema

NameRequiredDescriptionDefault
flipNo
offset_mmYesOffset distance in mm
referenceNofront
face_pointNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare it is non-read-only, non-idempotent and non-destructive; the description adds value beyond that by explaining offset direction, that flip=True mirrors to the other side, and that the tool returns a name to feed into select_plane. It does not cover failure behavior for an invalid reference or a non-planar face_point, which keeps it off a 5.

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?

Four tight sentences: purpose and offset first, reference modes second, flip third, return value last. The loft-profile example is the only optional flourish and it usefully signals the intended workflow.

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?

For a 4-parameter mutation with an output schema already documenting return values, the description covers the geometry semantics, both reference modes, the flip behavior and the handoff to select_plane. Nothing an agent needs in order to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is only 25% (only offset_mm is annotated), so the description has to carry the rest — and it does, giving concrete reference values, the [x, y, z] mm format for face_point and its planar-face requirement, and the meaning of flip=True. It omits that offset_mm must be strictly positive (exclusiveMinimum: 0), which is the only substantive gap.

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?

States a specific verb and resource plus the defining constraint: a reference plane parallel to another, offset_mm away. It also names the downstream consumer (select_plane), which distinguishes it from sibling selection/creation tools without opening any schema.

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?

Explains the two mutually exclusive reference modes — a named/base plane ("front", "top", "right" or a plane name) versus a face_point on a planar face — and where the result is used. It stops short of stating when not to use it (e.g. versus select_plane on an existing plane), so it is clear context but not full routing guidance.

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