solidworks-mcp
Enables AI agents to design and automate SolidWorks (Dassault Systèmes CAD software), including parametric modelling, sketches and features, aerospace generators, sheet metal, weldments, assemblies with fasteners, drawings, simulation studies, verification, and file exports.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@solidworks-mcpmake a 5-inch tri-blade propeller with a 5 mm bore and export it as STL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
solidworks-mcp
An MCP server that lets AI agents (Claude, ChatGPT, Cursor and any other MCP client) design in SolidWorks on your computer: parametric parts, lofted wings and propellers, swept tubes, sheet metal, weldment frames, assemblies with fasteners, GOST/ISO drawings, stress analysis and 3D-print checks.
Ask for "a 5-inch tri-blade propeller with a 5 mm bore", "an M6 tapped 3×2 hole grid in this plate" or "a square-tube frame along this sketch, then the cut list" - the agent calls the tools, checks the result with screenshots and measurements, and exports the files.
Highlights
94 tools covering modelling, parametrics, fabrication, assemblies, drawings and analysis.
Parametric by design: named sketch dimensions, global variables, equations and configurations.
Aerospace generators: wings (NACA 4/5-digit or
.datairfoils, taper, sweep, dihedral, twist), propellers (pitch-correct blade twist), fuselages from cross-sections.Manufacturing: Hole Wizard holes and real modelled threads, sheet metal with DXF flat patterns, weldment frames with cut lists, drawings with title-block properties, batch STEP/STL export.
Verification: mass properties, measurements, requirement checks, overhang analysis for 3D printing, interference detection, SolidWorks Simulation static studies.
Robust: failed features roll back automatically, every call has a timeout, a broken geometry kernel is detected, and every model change is journaled so a model can be rebuilt by replaying it.
Safe: starting SolidWorks and overwriting files need the user's approval, writes are confined to allowed folders, and only a fixed list of operations is reachable (no macros, no "run any API").
Related MCP server: solidworks-mcp
How it works
Agent (Claude / ChatGPT / ...)
│ MCP (stdio or HTTP)
▼
solidworks-mcp ───────────── Windows: talks to SolidWorks directly over COM
│
└── macOS: HTTP + token ──▶ solidworks-automation bridge (inside a Windows VM)
│ COM
▼
SolidWorksSolidWorks runs only on Windows. On a Mac, run it in a Windows VM and start the bridge inside the VM.
Requirements
SolidWorks 2018 or later (tested on SOLIDWORKS 2026); Simulation tools need a Premium or Simulation licence.
Python 3.12+ and uv.
Setup (Windows, same PC as SolidWorks)
git clone https://github.com/pilotarbuza/solidworks-mcp C:\tools\solidworks_automation
cd C:\tools\solidworks_automation
uv syncClaude Desktop - add to claude_desktop_config.json (use the full path of uv.exe, from (Get-Command uv).Source):
{
"mcpServers": {
"solidworks": {
"command": "C:\\Users\\you\\.local\\bin\\uv.exe",
"args": ["--directory", "C:\\tools\\solidworks_automation", "run", "solidworks-automation"]
}
}
}Claude Code:
claude mcp add solidworks -- uv --directory C:\tools\solidworks_automation run solidworks-automationOpenAI Codex (~/.codex/config.toml):
[mcp_servers.solidworks]
command = 'C:\Users\you\.local\bin\uv.exe'
args = ["--directory", 'C:\tools\solidworks_automation', "run", "solidworks-automation"]
startup_timeout_sec = 60
tool_timeout_sec = 1800 # starting SolidWorks, drawings and simulations take minutesHTTP clients: uv run solidworks-automation serve --transport streamable-http serves http://127.0.0.1:8000/mcp.
macOS (SolidWorks in a Windows VM)
In the VM:
uv syncthenuv run solidworks-automation bridge --host 0.0.0.0 --port 8765. It prints a token (or setSW_BRIDGE_TOKEN).On the Mac: configure the client as above, with
"env": {"SW_BRIDGE_URL": "http://<vm-ip>:8765", "SW_BRIDGE_TOKEN": "<token>"}. Keep the bridge on a host-only network or tunnel it over SSH.
Tools
Area | Tools |
Session & documents |
|
Sketches |
|
Solid features |
|
Curves, surfaces, bodies |
|
Reference geometry |
|
Patterns |
|
Holes & threads |
|
Parametrics |
|
Appearance & material |
|
Aircraft & drones |
|
Standard parts |
|
Sheet metal |
|
Weldments |
|
Assemblies |
|
Drawings |
|
Inspection & analysis |
|
Files |
|
Journal |
|
Prompts: model_from_drawing (drawing → plan → build → verify) and drone_part.
All lengths are millimetres and angles degrees. Model space is Y-up with the Front plane at Z = 0.
Examples
Parametric plate - change one variable, the part follows:
sw_set_variables {"width": 80}
sw_create_sketch entities=[{type: 'center_rectangle', center: [0,0], width: 80, height: 50, dimension: ['w', 'h']}]
sw_extrude sketch='Sketch1' depth=6
sw_add_equation dimension='w@Sketch1' expression='"width"'
sw_set_variables {"width": 120}Wing - root NACA 2412 to tip NACA 23012, 8° sweep, 4° dihedral, 3° washout, mirrored:
sw_generate_wing span=500 root_chord=180 tip_chord=100 root_airfoil='2412' tip_airfoil={naca: '23012'}
sweep=8 dihedral=4 twist=-3 sections=4Propeller 5×4.5", three blades: sw_generate_propeller diameter=127 pitch=114 blades=3 shaft_diameter=5
Bent tube:
sw_create_3d_sketch entities=[{type: 'polyline', points: [[0,0,0], [0,0,120], [0,80,120], [60,80,160]], bend_radius: 20}]
sw_sweep path='3DSketch1' circle_diameter=12 wall_thickness=1.5Frame + cut list: sw_create_3d_sketch (layout) → sw_structural_member profile='square tube' size='20 x 20 x 2'
→ sw_cut_list.
Sheet metal U-channel for laser cutting: sketch an open polyline → sw_sheet_metal_base thickness=1.5 bend_radius=2 depth=40 → sw_save → sw_export_flat_pattern.
Assembly with fasteners: sw_insert_component (fixed) → sw_insert_fastener kind='hex_bolt' size='M5' length=20 hole_face_point=[...] seat_face_point=[...] → sw_interference → sw_bill_of_materials csv_path='bom.csv'.
Stress check: sw_set_material '6061-T6 (SS)' → sw_static_study fixed_face_points=[[0,0,0]] forces=[{face_point: [200,0,0], newtons: 100}] → max von Mises stress, displacement and safety factor.
Safety model
Starting SolidWorks needs the user's approval (an MCP elicitation prompt, or explicit agreement in chat for clients that cannot prompt). The server never closes SolidWorks.
Edits stay in memory until
sw_save/sw_export. Failed features are rolled back.Writes are confined to
~/Documents/SolidWorksMCP(SW_MCP_OUTPUT_DIR) and folders inSW_MCP_ALLOWED_DIRS. Existing files are replaced only withoverwrite=true, which also asks the user. Batch exports ask first.Deletion is limited to features created in the current session; others can only be suppressed.
No arbitrary code: only the operations in
ops.OPERATIONSare reachable (also over the bridge).Timeouts: each call has a limit (
SW_MCP_TIMEOUT, default 180 s; longer for simulations and drawings). If SolidWorks shows a dialog or hangs, the agent gets an error instead of waiting forever.Journal: model changes are logged to
~/Documents/SolidWorksMCP/journal/*.jsonl(SW_MCP_JOURNAL=0turns it off).
Configuration
Variable | Meaning |
| Output folder (default |
| Extra folders the server may write to ( |
| Force a document template. |
| Default per-call timeout in seconds (180). |
|
|
| Weldment profile library folder (default: the SolidWorks one). |
| Use a remote bridge (macOS / VM setups). |
Development
uv sync
uv run pytest # 100+ tests, no SolidWorks needed
uv run python examples/full_smoke.py # every tool group against a real SolidWorks
uv run python examples/full_smoke.py aero assembly # selected groups
uvx ruff check src tests examplesLayout (src/solidworks_automation/):
ops/- every SolidWorks API call, one mixin per topic (sketch,features,patterns,holes,parametric,fabrication,assembly,drawing,inspect,simulation,generators, ...), combined intoSolidWorksOps.@operationmarks what the server and bridge may call.server/- MCP tools and schemas, permission prompts, prompts.geometry/- pure Python: sketch expansion, airfoils, fasteners, colours, mesh checks (unit-tested).com.py- late-bound COM helpers and the COM thread;backend.py- local / remote execution with timeouts;bridge.py- token-authenticated HTTP bridge;safety.py- file policy;journal.py- operation journal.
License
Copyright (c) 2026 Maksim Akhmadulin. All rights reserved - see LICENSE. SOLIDWORKS is a trademark of Dassault Systèmes; this project is not affiliated with it.
Available Tools
94 toolssw_activate_configurationC
Switch to another configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations set readOnlyHint=false and destructiveHint=false, so the agent knows this mutates state non-destructively. However, the description adds nothing beyond that: it doesn't say whether the switch triggers a rebuild, how it interacts with the optional doc parameter, or what happens if the name is unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is terse to the point of under-specification rather than efficient. There is nothing front-loaded beyond the bare action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a state-mutating tool with two parameters, one of which is required but undocumented in both schema and description, and no output schema. Given that, the description should cover the required parameter and the effects of the switch; it covers neither.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: only `doc` is documented, while the required `name` parameter has no schema description at all. The tool description does nothing to compensate — it never clarifies that `name` is the target configuration, nor the scope of the switch when `doc` is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('switch to') and resource ('another configuration'), so the agent knows this changes the active configuration. It does not distinguish itself explicitly from siblings like sw_list_configurations, sw_add_configuration or sw_delete_configuration, though the verb 'switch to' implicitly signals an existing configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites (e.g., the configuration must already exist, must be listed via sw_list_configurations first), and no statement about what happens to the previously active configuration. The agent must infer everything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_add_configurationC
Add a configuration (variant): e.g. 'M4' with hole diameter 4.5, or '7 inch' with a longer arm.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | Yes | ||
| values | No | Dimension values only in this configuration. | |
| activate | No | ||
| suppress | No | Features suppressed only in this configuration. | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a non-read-only, non-destructive operation. The description adds conceptual context about configurations being variants, but does not disclose operational behavior such as duplicate-name handling, default activation, or effects on existing configurations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with concrete examples and no wasted text. It is perhaps terse for a six-parameter mutation tool, but structurally clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters, only 50% schema description coverage, and no output schema, the description is too thin to fully explain configuration creation. It omits activation behavior, suppression semantics, and duplicate-name implications that an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The examples ('M4' with hole diameter 4.5, '7 inch' with a longer arm) add useful insight into how 'name' and 'values' relate to dimension overrides. However, it does not explain 'activate', 'suppress', or 'description', and schema coverage for those parameters is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add a configuration (variant)'. This clearly distinguishes it from siblings like sw_activate_configuration and sw_delete_configuration by verb, although it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 exclusions, and no comparison to alternative configuration tools. Usage is only implied by 'Add a configuration', with examples illustrating variants rather than selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_add_drawing_viewC
Add one more model view to the active drawing.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| view | Yes | 'front', 'top', 'isometric', ... or a named model view. | |
| scale | No | ||
| position | Yes | Sheet position, mm. | |
| model_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered; the description only adds that the operation is additive ('one more'). With that lower bar, the description still omits what happens on failure (no active drawing, unresolved model_path), whether the view is placed immediately on the sheet, and whether the call can be undone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, and the additive nature is stated up front. It is arguably too terse for a 5-parameter mutation tool, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter mutation tool with no output schema and only midpoint schema coverage, the description does not say what is returned (a view object, a name, a status), what the call requires of document state, or how position and scale are interpreted. Key facts an agent needs to call it correctly are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%: doc, view, and position are documented in the schema, but scale (unit convention? ratio vs. factor?) and model_path (which model file, relative to what?) have no description anywhere. The description contributes nothing about any parameter, so the two undocumented ones remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-plus-resource ('add... model view') and scopes it to the active drawing, so an agent knows this creates a drawing view rather than a model feature. It does not distinguish itself from the sibling sw_create_drawing, which is the most likely confusion point for an agent deciding how to start a drawing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus sw_create_drawing, nor on prerequisites such as an already-open drawing or an already-loaded model. The phrase 'active drawing' hints at a precondition but never states that you must create a drawing first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_add_equationC
Drive a dimension with an expression of global variables / other dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| dimension | Yes | Dimension to drive, e.g. 'D1@Boss-Extrude1'. | |
| expression | Yes | e.g. '"span" / 2' or '"wall" * 2 + 3'. Quote names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only tell us it is not read-only and not destructive, which is nearly the whole safety story for a mutation. The description does not disclose that it adds a new equation to the model, whether it errors on existing/duplicate equations, that equations evaluate on rebuild, or any auth/connection requirement. For a model-mutating tool this leaves real behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with no filler and the core mechanism front-loaded. Brevity is close to under-specification, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only minimal annotations, the description should say what a successful call produces (new equation added) and how it interacts with existing equations. Given the tool mutates the model and has strong sibling overlap, this is too thin to be called complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already gives examples for dimension ('D1@Boss-Extrude1') and expression ('"span" / 2'), including the quoting rule. The description adds only the higher-level notion that the expression may reference globals/other dimensions, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Drive a dimension with an expression' clearly conveys the operation and its mechanism (global variables / other dimensions). It is distinguishable from sw_set_variables and sw_set_dimension, though it never explicitly contrasts itself with those siblings or acknowledges it creates a new equation (pairs with sw_list_equations / sw_delete_equation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites (document must be open, model must support equations), and no mention of alternatives such as sw_set_variables for creating variables or sw_set_dimension for a static value. The agent has to infer all routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_add_mateB
Mate components: standard, advanced (symmetric, width, limit distance/angle) and mechanical (gear, rack-pinion, screw, hinge, slot, lock).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| flip | No | ||
| angle | No | Degrees, for angle mates. | |
| ratio | No | gear / rack_pinion: [driver, driven]. | |
| entity1 | Yes | ||
| entity2 | Yes | ||
| distance | No | mm: distance mates; lead per turn for screw mates. | |
| alignment | No | closest | |
| mate_type | Yes | ||
| max_value | No | Limit mate upper bound (mm or degrees). | |
| min_value | No | Limit mate lower bound (mm or degrees). | |
| extra_entities | No | symmetric: [symmetry plane]; width: [tab face 1, tab face 2]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-not-destructive profile is covered. The description adds nothing beyond that: it does not say the mate constrains assembly degrees of freedom, that it mutates the active document, whether mates are reversible/removable, or what errors occur for invalid entity pairs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler; the verb leads and the enumeration is tight. The parenthetical lists are dense but each item earns its place by naming covered mate types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter tool with 15 mate types where valid parameters vary by type, no output schema and only 58% schema coverage, a single sentence is not enough. Missing are per-type parameter requirements, entity selection rules, and what a successful mate returns or how failures surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 58% schema coverage across 12 parameters, the description contributes a little by grouping mate types into families, implying symmetric/width need extra_entities and limit distance/angle use min/max values. But it never maps flip, alignment, doc, or which parameters are required per mate type, leaving several parameters undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (mate) and resource (components) and enumerates the mate families the tool covers, which maps directly onto the 15-value mate_type enum. An agent can tell this is the assembly-mating tool; no sibling (insert, interference, explode) competes for the same action, though the description never says so explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the family grouping (standard / advanced / mechanical) hints at which mate type to choose, but there is no statement of when to prefer this over sw_insert_component or sw_interference, and no prerequisite such as needing an active assembly with existing components to mate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_assembly_massBRead-only
Total mass and centre of mass of the assembly (balance a drone on its CG).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only what the tool yields (mass and CG); it says nothing about units, whether it requires an assembly versus a part document, or how it behaves if the document is empty or unloaded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the resource and outputs, with no filler. The parenthetical is illustrative rather than redundant, though it is informal for a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only query with a fully documented optional parameter this is close to adequate, but with no output schema the description should say more about the return shape and units (mass and CG coordinates) so the agent knows what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional 'doc' parameter is fully documented in the schema (100% coverage), so the baseline is 3. The description adds no meaning about accepted formats (title vs path) or the fallback-to-active-document behavior beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (total mass and centre of mass of the assembly) with a concrete verb implied ('compute/report'), and the parenthetical anchors the purpose to a real engineering task. It does not, however, differentiate itself from the sibling sw_mass_properties, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the '(balance a drone on its CG)' note hints at a scenario, but there is no explicit when-to-use, no prerequisite (e.g. an assembly must be open), and no routing to or away from sw_mass_properties.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_batch_exportADestructive
Export every matching file in a folder (opened read-only, never saved) to /batch/.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | Yes | Folder with .sldprt / .sldasm files. | |
| pattern | No | Glob, e.g. '*.sldprt' or 'arm*.sldprt'. | *.sld* |
| material | No | Apply this material to parts before export. | |
| overwrite | No | Replace an existing file (the user is asked first). | |
| recursive | No | ||
| file_format | No | step |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already flag this as non-read-only and destructive, and the description adds useful context that source files are opened read-only and never saved. It identifies the output location but does not discuss overwrite behavior or recursive traversal, which the schema partially covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with zero wasted text. It states the action, scope, safety context, and destination efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter batch export with no output schema, the description covers the core action and source-file safety but omits return/error behavior and the effects of recursive, material, and file_format. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 67%, the schema already documents folder, pattern, material, and overwrite. The description reinforces folder/matching-file semantics and the output path, but adds little for material, overwrite, recursive, or file_format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: export every matching file in a folder. It also names the destination pattern, and the folder-wide batch scope distinguishes it from single-file export siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The batch nature is implied by 'every matching file in a folder', but there is no explicit guidance on when to use this instead of sw_export or when not to use it. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_bill_of_materialsBDestructive
Parts list: item, part, configuration, quantity, material, mass (optionally a CSV file).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| csv_path | No | Also save as CSV (output folder or allowed path). | |
| overwrite | No | Replace an existing file (the user is asked first). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While the annotations flag this tool as destructive and non-read-only, the description fails to add specific behavioral context, such as whether the operation modifies the underlying document directly, saves the BOM to a local filesystem, or creates a new linked object. It only mentions the optional CSV output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and immediately tells the agent what output data to expect from the function call, putting the most important information (the list contents) first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is incomplete regarding its nature. The tool's operational intent is vague; does it 'list' (read) or 'generate/save' (write)? While parameters suggest export, the description does not explicitly define the tool's core action relative to the document state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given that parameter coverage is 100%, the description doesn't need to define fields. However, it provides excellent semantic context for the result, specifying the complex data structure of the BOM (item, configuration, material, etc.), which is more valuable than the simple 'document title or path' schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function as generating a 'parts list' (Bill of Materials) and lists the key data points included (item, part, configuration, quantity, etc.). The specific content focus helps distinguish it from broader component listing tools in the same CAD suite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The definition provides almost no usage guidance. It does not specify whether this tool should be used when a designer needs a procurement list versus when they need a technical schematic list, nor does it provide any prerequisites (e.g., the assembly must be defined) for calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_chamferB
Bevel edges with an angle-distance chamfer (prints better than fillets on downward edges).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| angle | No | ||
| edges | No | 'all' for every edge of the part, or model points lying on the edges. | all |
| distance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this adds rather than removes something, and the description does not contradict that. But beyond the design tip, it discloses nothing behavioral: not that a feature is added to the feature tree, not whether it can be reverted (sw_delete_feature/sw_undo), and not what happens when edges resolve to 'all'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the core action first and the useful aside second; nothing is wasted and no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter geometry mutation with no output schema, the definition covers the what and one design rationale but omits prerequisites (active document / part context), the effect on the feature tree, and the return value (e.g. the new feature name useful for later sw_delete_feature or sw_list_features calls).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, so roughly half the parameters carry their own documentation (doc, name, edges). The phrase 'angle-distance chamfer' does add meaning by revealing that angle and distance jointly define the cut, but it gives no default or range context and says nothing about the angle parameter's 0-90 constraint or how edge points are interpreted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Bevel edges') plus the defining mode ('angle-distance chamfer'), which tells the agent exactly which operation variant this performs. It implicitly differentiates from sw_fillet by naming fillets as the alternative, though it never explicitly contrasts the two tools' parameterization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'prints better than fillets on downward edges' gives a real decision cue for choosing chamfer over the sibling sw_fillet in one specific geometry case. However, it offers no guidance on the far more common cases (when not to use a chamfer, prerequisites such as an open part document, or what happens with the default edges='all').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_check_requirementsBRead-only
Check the model against requirements; returns pass/fail per check and the measured values.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| max_size | No | ||
| min_size | No | ||
| max_mass_kg | No | ||
| min_mass_kg | No | ||
| max_volume_mm3 | No | ||
| min_volume_mm3 | No | ||
| fits_build_volume | No | Box in any orientation, mm. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful return behavior (pass/fail per check and measured values), but does not explain what requirement checks are evaluated, error behavior, or any side effects beyond reading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states what the tool does and what it returns, with no wasted text. Brevity is appropriate here, even though the description is incomplete elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with eight optional parameters, 25% schema description coverage, and no output schema, the description is too thin. It leaves the agent without enough detail about what each requirement check means, how max/min parameters are interpreted, or what the returned pass/fail structure contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%: only doc and fits_build_volume have descriptions, while max_size, min_size, max_mass_kg, min_mass_kg, max_volume_mm3, and min_volume_mm3 are undocumented. The description does not compensate by clarifying those parameters, their units, ordering, or how they relate to the checks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: check the model against requirements, and specifies the return shape as pass/fail per check plus measured values. However, 'requirements' remains broad and no sibling tool is named to sharpen the distinction from related checks like sw_measure or sw_print_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no explicit when-to-use guidance, prerequisites, or alternatives. An agent can infer that it is for requirement checks, but gets no routing help versus sw_measure, sw_mass_properties, or sw_print_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_circular_patternB
Repeat features around an axis (bolt circles, blades, arms, spokes).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| axis | Yes | ||
| name | No | Optional name for the new feature. | |
| count | Yes | Total instances, seed included. | |
| features | Yes | ||
| total_angle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation profile is covered. The description adds nothing beyond restating the operation: it doesn't say a new feature node is added to the tree, that it is parametric/editable, or how the axis reference must be supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the core operation front-loaded and examples supplying cheap extra signal. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter mutation tool with no output schema and only partial schema coverage, the one-line description is far too thin — it leaves the features list, total_angle semantics, and axis-reference requirements entirely to the agent's inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and the description mentions no parameters at all. Key parameters like features (which features get patterned) and total_angle (partial vs full revolution, which the 'bolt circles' example only hints at) are undocumented in the description and absent from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ("Repeat") plus the concept of a circular pattern around an axis, with concrete example use cases (bolt circles, blades, arms, spokes). An agent can distinguish it from sw_linear_pattern and sw_sketch_pattern by implication, though no sibling is explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical examples imply usage contexts (rotational symmetry), but there is no explicit statement of when to choose this over sw_linear_pattern, sw_sketch_pattern, or sw_curve_pattern, nor any prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_clear_appearanceA
Remove the document-level appearance so the material colour shows again.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
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 covered. The description usefully adds that the scope is document-level only (not face/feature appearance) and that the revert target is the material colour, but it omits whether the removal is undoable, whether it requires an open/modified document, and what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and resource, with the resulting state appended. Every clause earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter, non-destructive toggle with annotations present and no output schema, this is close to sufficient. The remaining gaps are edge cases: behavior when no document-level appearance exists, and whether the change is undoable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional 'doc' parameter is fully documented in the schema at 100% coverage, including the default-to-active-document behavior. The description adds no additional meaning about path formats or title resolution, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Remove') plus a precise resource ('document-level appearance') and the observable effect ('material colour shows again'). It clearly contrasts with set-style operations, though it never names sw_set_appearance as the counterpart, so sibling differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The stated outcome ('so the material colour shows again') implies the situation in which an agent should reach for it, but there is no explicit when-to-use versus sw_set_appearance, no precondition that an appearance must exist, and no statement of what happens if none is set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_closeADestructive
Close a document. Refuses if it has unsaved changes unless discard_changes=true (the user is asked).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| discard_changes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the 'destructiveHint: true' annotation by detailing the specific cause of potential failure (unsaved changes) and the mechanism to override that failure (discard_changes=true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is highly efficient, using two clear sentences to convey the function, the failure mode, and the required override parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is contextually complete for this operation; it covers the primary action, the failure condition, and the required remediation/override, leaving no ambiguity in decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is only 50%, the description provides crucial semantic meaning for the 'discard_changes' parameter, explaining its functional role in bypassing the document state safety check. This makes up for the incomplete schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to close a document. While simple, it provides enough context to distinguish it from tools like sw_save or sw_new_document by defining the action's immediate consequence regarding state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly defines the primary behavioral constraint: refusal due to unsaved changes. This tells the agent precisely when the default call will fail and when it must include the discard_changes parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_collapseC
Collapse the exploded view.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
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 covered. The description adds nothing beyond the name: it does not say whether the collapse is reversible via sw_explode, whether it targets the active document only, or what state change results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words and the action front-loaded. Its brevity is appropriate in form, though it borders on under-specification rather than being genuinely economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter, no output schema, non-destructive annotation), so little is strictly required. Still, an agent calling it cannot know from the description whether an exploded view must currently exist, which document is affected, or how to restore the exploded state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'doc' parameter is fully documented as a title or path defaulting to the active document. The description adds no further parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Collapse') and resource ('the exploded view'), so the agent can tell it reverses an explode operation. It does not explicitly name its inverse sibling sw_explode, so the differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus sw_explode, no precondition (e.g. an exploded view must exist), and no statement about what happens when nothing is exploded. The agent must infer usage entirely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_combineB
Boolean between bodies of a multibody part: union, subtract, intersect.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| operation | Yes | ||
| main_body_point | Yes | A point on a face of the main body. | |
| tool_body_points | Yes | Points on the tool bodies. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description defines the domain of the tool (Boolean operations) but adds little to the behavioral context beyond what is already implied by the action and the enum values in the schema. It does not contradict the non-destructive/non-readonly hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a highly concise single sentence. Every word serves to define the tool's capability and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It provides a very strong overview of the tool's high-level function. Given the schema is detailed, the description acts as a solid, brief conceptual summary for the AI.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 80%, the description primarily adds high-level context. It does not offer unique insights into why specific inputs like 'main_body_point' are required versus what they represent geometrically, making it adequate but not impactful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly identifies the function as a Boolean operation between bodies within a multibody part. It specifies the three types of operations supported (union, subtract, intersect), which is effective.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only explains what the tool is, not when to use it. There is no comparison to alternative tools (e.g., sw_cut_extrude) or any exclusionary criteria, leaving the agent to rely entirely on its own reasoning about the tool's functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_connectA
Connect to SolidWorks, starting it if needed - only with the user's permission.
| Name | Required | Description | Default |
|---|---|---|---|
| user_approved | No | Only for clients that cannot show prompts: true ONLY after the user agreed in chat. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare non-read-only and non-destructive; the description adds the meaningful side effect that the app may be launched if not running, plus a consent requirement. It doesn't say what happens on failure (no SolidWorks installed, existing session) or whether the call is idempotent, so it stops short of full disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and appends the gating condition. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-param tool with no output schema, the description covers what it does, its side effect, and its consent gate. Only the post-call state (connected vs already connected, failure modes) is left unaddressed, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one optional parameter and 100% schema description coverage, the schema already explains user_approved in detail. The description's permission phrasing reinforces but does not extend that meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (connect to SolidWorks) plus the scope of starting the application if needed. It is distinguishable from document-level siblings like sw_open or sw_new_document because it targets the application connection, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The permission prerequisite is stated ('only with the user's permission'), and the parameter description clarifies the escape hatch for clients that cannot prompt. However, it never says when to call this versus sw_status or sw_health, nor whether it must precede all other sw_* calls or is safe to call repeatedly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_cosmetic_threadA
Cosmetic thread (lightweight, shows in drawings) on a shaft or hole edge.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| size | Yes | 'M6', 'M10x1.25'. | |
| length | No | ||
| edge_point | Yes | Point on the circular edge where the thread starts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say it is a non-destructive write; the description adds real semantic content by explaining that the thread is cosmetic/lightweight and is represented as drawing annotation rather than modeled geometry. It still doesn't say what happens to an existing thread on the same edge or what the tool returns, but the key behavioral distinction is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with zero filler, front-loading the resource and the defining cosmetic/lightweight trait before the placement constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a feature-creating mutation with five parameters and no output schema, the description leaves meaningful gaps: the optional 'length' has no explanation anywhere, the supported size format breadth is unclear, and there is no note about the required pre-existing circular edge or error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% and the schema already documents size ('M6', 'M10x1.25') and edge_point ('Point on the circular edge'). The phrase 'on a shaft or hole edge' reinforces edge_point but adds no new format or constraint information, and the undocumented 'length' parameter is not clarified in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Cosmetic thread') and its location constraint ('on a shaft or hole edge'), plus the qualifying trait 'lightweight, shows in drawings'. It does not explicitly distinguish itself from the sibling tools sw_thread and sw_hole_wizard, which an agent could easily confuse with this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: cosmetic threads go on circular edges of shafts or holes. There is no explicit 'use this instead of sw_thread when...' guidance, and no prerequisites (existing edge, active document) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_create_3d_sketchA
3D sketch of lines, polylines (with bend_radius), splines and 3-point arcs in model mm: sweep paths for tubes, cable routes, frame layouts for sw_structural_member.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| entities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is an additive write. The description adds the model-mm unit convention and the bend_radius purpose for tube-ready polylines, but says nothing about whether an active document is required, what happens on invalid geometry, or whether it errors when a sketch already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence covering geometry types, units, and downstream uses with no filler. It is slightly run-on, but the purpose and the entity list are front-loaded, so an agent can act on it quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter creation tool with no output schema, the description supplies the geometry vocabulary, unit convention, and integration targets, which is enough to call it correctly. The remaining ambiguity about document targeting is resolved by the doc parameter's own schema description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so the schema carries most parameter meaning (per-field '[x, y, z] in model mm', bend_radius min-exclusive constraint). The description reinforces entity kinds and the bend_radius semantic for tubes, but does not cover doc or name, so it neither needs to compensate heavily nor adds much beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (create a 3D sketch) and enumerates the supported entity types (lines, polylines with bend_radius, splines, 3-point arcs) plus the unit convention (model mm). It also implicitly separates itself from sw_create_sketch by pairing with 3D consumers such as sw_sweep and sw_structural_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Concrete downstream use cases are given ('sweep paths for tubes, cable routes, frame layouts for sw_structural_member'), which tells the agent where this tool fits in a workflow. It stops short of naming the 2D alternative (sw_create_sketch) or stating when not to use it, so no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_create_axisA
Reference axis along X/Y/Z or through a cylindrical face, for patterns, angled planes and mates.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| axis | No | Model axis through the origin. | |
| name | No | Optional name for the new feature. | |
| face_point | No | Or: the centreline of the cylinder at this point. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-read-only but non-destructive operation. The description adds the creation modes and target use cases, but does not clarify what happens if both or neither of axis/face_point are provided. With annotations covering the safety profile, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It conveys the axis modes and the main usage context efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents the four optional parameters, and annotations cover the safety profile, but the description does not explain the important interaction between axis and face_point or what happens when neither is supplied. For a creation tool with no output schema and zero required parameters, that missing behavioral detail leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents doc, axis, name, and face_point. The description adds high-level mode context by mentioning X/Y/Z versus a cylindrical face, but does not add syntax, exclusivity rules, or default behavior beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource precisely: a reference axis created either along X/Y/Z or through a cylindrical face. It distinguishes this from related creation tools like sw_create_plane by specifying the axis-specific geometry and use cases. The only slight gap is that it does not explicitly start with a verb like 'Creates', though the tool name and noun phrase make the action clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'for patterns, angled planes and mates'. That tells an agent when this tool is relevant, though it does not explicitly name alternatives or exclusions versus sibling tools such as sw_create_plane.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_create_drawingA
A drawing of a saved part/assembly: three standard views, isometric, dimensions, BOM.
Fill the title block with sw_set_properties on the model first; export with sw_export (pdf/dwg/dxf).
| Name | Required | Description | Default |
|---|---|---|---|
| bom | No | Assemblies: add a parts list table. | |
| doc | No | Document title or path. Defaults to the active document. | |
| paper | No | A3 | |
| scale | No | [1, 2] = 1:2. | |
| views | No | First angle for GOST/ISO, third for ANSI. | first_angle |
| standard | No | 'gost' uses the GOST templates. | gost |
| isometric | No | ||
| dimensions | No | Insert the model's dimensions and hole callouts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive mutation. The description adds useful ordering context around sw_set_properties and sw_export, but it does not say whether a new drawing document is created, whether an existing drawing is overwritten, or where the result is saved. With annotations covering the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the output composition front-loaded and the prerequisite/follow-up guidance second. There is no filler. The first sentence is a fragment ('A drawing of...'), which is slightly less direct than an explicit verb-first statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter creation tool with no output schema, the description gives the essential workflow but omits important context: whether a new drawing file is created, how existing drawings are handled, and what the caller gets back. It is adequate to initiate a call but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with enum values and descriptions for bom, paper, scale, views, standard, and dimensions already in the schema. The description mentions the concepts behind those features (views, isometric, dimensions, BOM) but adds no syntax, defaults, or behavioral detail beyond the schema. Baseline 3 is correct here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states what is produced: a drawing containing three standard views, an isometric view, dimensions, and a BOM for a saved part/assembly. This is clear enough to distinguish it from export or view-insertion siblings, though it never uses an explicit verb like 'create' and doesn't explicitly contrast with sw_add_drawing_view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides concrete workflow guidance: fill the title block with sw_set_properties on the model first, then export with sw_export. This tells the agent the prerequisites and the downstream step. It does not explicitly state when not to use this tool or how it relates to sw_add_drawing_view, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_create_planeB
Reference plane: parallel at an offset, or rotated about an axis lying in the base plane.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| axis | No | Axis for an angled plane: 'x', 'y', 'z' or an axis name. | |
| base | No | 'front', 'top', 'right' or a plane name. | front |
| name | No | Optional name for the new feature. | |
| angle | No | Make an angled plane: degrees about `axis`. | |
| offset | No | Distance in mm from the base plane (offset planes). | |
| reverse | No | Other side of the base plane / other rotation sense. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already classify this as a non-destructive mutation (readOnlyHint=false, destructiveHint=false). The description adds behavioral detail by disclosing the two construction methods (parallel offset vs. rotated about an axis), which is useful context beyond annotations. However, it omits side effects, reversibility, and what exactly is created, so it's adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core purpose and the two modes. It contains no filler, though a bit more structure (e.g., separating the two modes) could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has seven parameters, no required fields, complete schema coverage, and annotations covering safety, the description covers the essentials. However, it doesn't mention document context, return behavior, or mutual exclusivity of offset vs. angle, leaving some gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all seven parameters. The description mentions offsets and axes in passing but adds no additional semantic clarity beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (reference plane) and its two construction modes, clearly distinguishing it from siblings like sw_create_axis or sw_create_sketch. It doesn't explicitly name alternatives, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to use it versus alternatives, nor any prerequisites or exclusions. It merely restates the operation's two modes, leaving usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_create_sketchB
Create a 2D sketch: lines, polylines (rounded corners), rectangles, circles, ellipses, arcs, polygons, slots, splines, points, centerlines and airfoils (NACA 4/5-digit or .dat).
Entities may carry a pattern (grid / bolt circle), mirror_about, and dimension (driving
dimensions, optionally named, so the model can later be changed with sw_set_dimension or equations).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| plane | No | 'front', 'top', 'right', or a plane name such as 'Plane1'. | front |
| entities | Yes | ||
| face_point | No | Sketch on the planar face at this point instead. | |
| fully_define | No | Let SolidWorks add relations and dimensions until the sketch is fully defined. | |
| model_coordinates | No | Give every point as [x, y, z] model mm (recommended on faces/offset planes). |
TDQS
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 known; the description adds that pattern, mirror and driving dimensions can be baked into the entity definitions. It does not disclose whether each call creates a fresh sketch feature or appends to an existing one, nor whether dimension names persist, which matters for a non-read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability list front-loaded and the parametric-feature note second; no filler. The second sentence is slightly compressed into one clause covering three distinct concerns, but overall it is efficiently sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 14 entity variants and 7 parameters, the description covers entity variety well but leaves the agent to discover plane/face selection, coordinate-mode switching and fully-defined behavior from the schema. With no output schema and modest annotation context, a bit more setup/placement guidance would materially help first-call correctness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents coordinates, dimension naming, patterns and mirroring in detail. The description only echoes the pattern/mirror/dimension trio at a high level and says nothing about `plane`, `fully_define`, `model_coordinates`, or `doc`, so it adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ("Create a 2D sketch") followed by an exhaustive enumeration of supported entity kinds, which tells an agent exactly what geometry this tool covers. The word "2D" implicitly separates it from sw_create_3d_sketch, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the entity list and the note that dimensions make the model later editable via sw_set_dimension, but there is no explicit when/when-not guidance. Nothing tells the agent when to prefer sw_create_3d_sketch, sw_generate_wing (vs an airfoil entity), or the dedicated pattern tools over the inline `pattern` field, nor when to pick `plane` versus `face_point`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_curve_patternB
Copies along a curve (rivets along an edge, vents along an arc).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| count | Yes | ||
| spacing | No | Fixed spacing; omit to spread over the curve. | |
| features | Yes | ||
| curve_sketch | No | Sketch containing the curve. | |
| align_to_curve | No | Rotate copies to follow the curve. | |
| curve_edge_point | No | Or a model edge to follow. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive mutation, so the safety profile is covered. The description adds little behavioral context beyond "copies" — it does not state that it creates a new feature in the document, requires a curve sketch or edge, or how the original features are treated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with zero wasted words, and the parenthetical examples earn their place by clarifying the operation. There are no structural issues or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter mutation tool with no output schema, the description is too sparse. It omits how to specify the curve, what the required features and count parameters mean, and what happens to the document when the pattern is created.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with most parameters such as doc, name, spacing, curve_sketch, align_to_curve, and curve_edge_point documented in the schema. The description adds the curve-pattern concept but does not explain the required features or count parameters, so it adds only marginal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ("Copies") and resource/scope ("along a curve"), with concrete examples like rivets along an edge and vents along an arc. It distinguishes the operation from linear or circular patterns implicitly through "curve," but does not explicitly contrast those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples imply appropriate use cases for a curve-driven pattern, but there is no explicit guidance on when to choose this over sw_linear_pattern, sw_circular_pattern, or sw_sketch_pattern. Alternatives and exclusions are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_cut_extrudeB
Remove material by extruding a sketch (pockets, slots, plain holes).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| depth | No | Cut depth in mm (blind / mid_plane). | |
| sketch | Yes | Sketch name, e.g. 'Sketch2'. | |
| reverse | No | ||
| draft_angle | No | ||
| start_offset | No | Start this far (mm) from the sketch plane; negative = other side. | |
| end_condition | No | 'through_all_both' cuts through the whole part both ways - safest for holes. | through_all_both |
| thin_thickness | No | Thin feature: wall thickness (mm) along the sketch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds functional context (material removal) that complements the safety annotations. Since behavioral traits like input/output limits are not detailed, a neutral score is appropriate, assuming the annotations are the primary source of behavioral constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is highly concise, using a single, focused sentence to convey the entire functional scope of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a summary, it is adequate but limited. Given the complex set of parameters (like 'depth', 'end_condition', 'thin_thickness'), a more complete definition would clarify which parameters are best suited for achieving the listed outcomes (pockets vs. slots).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 78% schema coverage, the baseline score is 3. The description only adds high-level semantic meaning to the *results* of the operation (pockets/slots) and does not add unique meaning to the complex parameters themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the action ('Remove material') and the mechanism ('extruding a sketch'). By listing outcomes like 'pockets, slots, plain holes', it provides better domain context than a simple 'extrude' function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its closely related sibling, 'sw_extrude'. It focuses solely on what the tool achieves without positioning it relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_cut_listCRead-only
Weldment cut list: member groups with quantities, lengths and profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the safe read-only, non-destructive profile, so the description only needs to add context. It does add value by naming the returned fields, which matters because there is no output schema, but it is silent on what happens for non-weldment documents (empty result vs. error) and on whether it reads the active document by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded fragment with zero padding. It is efficient, though the terseness borders on under-specification rather than optimal density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional param and no output schema, the description should carry more of the return-shape burden. It names the columns but not the grouping/nesting, units, or empty-state behavior, leaving real gaps for an agent interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional parameter, and the schema covers it at 100% with a clear 'defaults to the active document' note. The description adds nothing beyond that, which is the expected baseline when the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment identifies a specific resource, a weldment cut list, and enumerates the returned content (member groups, quantities, lengths, profiles). However, it has no verb and does not differentiate itself from nearby siblings such as sw_bill_of_materials or sw_weldment_profiles, so an agent must infer that this is the read/list counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this, versus sw_bill_of_materials or sw_list_bodies, and no stated prerequisite, such as the document needing to be a weldment assembly. The agent receives no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_delete_bodyA
Remove a body with a Delete/Keep Body feature (reversible: delete that feature).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| body_point | Yes | [x, y, z] in model mm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=false, and the description adds real context beyond that boolean by explaining why: the removal is reversible via deleting the Delete Body feature. It still omits whether the tool works in assemblies or what happens if body_point misses a body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste; the verb, mechanism, and reversibility are all packed into one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate but thin for a mutation tool with three parameters: it doesn't say which document contexts are supported or what a failed body selection looks like. With full schema coverage and annotations present, the remaining gaps are moderate rather than severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so doc, name, and body_point (with mm units and 3-element constraint) are already documented. The description adds nothing about parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Remove) and resource (body) and explains the mechanism (Delete/Keep Body feature), which distinguishes it from siblings like sw_delete_feature and sw_move_copy_body. It lacks only an explicit contrast with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the mention of a Delete/Keep Body feature signals part modeling with feature-based removal. There is no explicit when-to-use, no prerequisites, and no named alternative such as suppression or sw_delete_feature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_delete_configurationC
Delete a (non-active) configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states this deletes a configuration, an irreversible mutation of design data, while annotations declare destructiveHint=false. That flagged mismatch leaves the agent with no reliable signal on reversibility, and the description adds nothing about what happens to features, drawings, or mates that reference the deleted configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence is front-loaded and wastes no words, but at this length it is under-specified rather than concise. The single clause cannot carry the preconditions and consequences an agent needs for a destructive operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and questionable annotation coverage, the description should explain the active-configuration precondition, whether the active config must be switched first, and what happens to dependent features. None of that is present, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: the `doc` parameter is documented in the schema, but `name` — the sole required parameter — has no description in either the schema or the tool description. The description does not clarify that `name` is the configuration name or whether it must match exactly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource (delete a configuration) plus a scope constraint (non-active), which is clear and distinct from siblings like sw_delete_feature or sw_delete_body. It stops short of naming which sibling to use instead when the configuration is active.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(non-active)' implies the tool fails or is inappropriate for the active configuration, but the description never states the precondition explicitly nor routes the agent to sw_activate_configuration or sw_list_configurations first. No when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_delete_equationC
Delete an equation by its index from sw_list_equations.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Delete,' a destructive operation, while the annotations declare destructiveHint=false. This is a direct contradiction of the structured safety signal. The description adds no compensating context about what the deletion affects or whether it is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It is slightly under-specified rather than overly verbose, but conciseness itself is strong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deletion tool with an annotation contradiction, no output schema, and one undocumented parameter, the description is too thin. It doesn't clarify consequences, permissions, or what happens to dependent references, leaving an agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, so the description must compensate for one undocumented parameter. It does explain that 'index' refers to an index obtained from sw_list_equations, which is valuable, but the 'doc' parameter is only described in the schema and not addressed here. Baseline 3 fits given partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete an equation by its index') and ties the index source to a named sibling, sw_list_equations. It is distinguishable from generic delete tools, though it doesn't explicitly contrast with sw_delete_feature or other equation tools like sw_add_equation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by its index from sw_list_equations' implies the workflow of listing equations first, which is useful. However, there is no explicit when-to-use guidance, no mention of prerequisites, and no statement about when not to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_delete_featureA
Delete a feature this server created in this session (others can only be suppressed).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| feature | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, and the description explains why the low destructiveness is credible: only features the server itself created this session can be removed, everything else is merely suppressed. That is genuine context beyond the annotations, though nothing is said about reversibility (e.g. whether sw_undo can restore the deletion) or what the call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the most decision-relevant constraint (session-scoped deletion only) is placed where the agent will read it first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should at minimum hint at the result of the call and clarify the required 'feature' identifier; it does neither. The scope constraint is well handled, leaving a mutation tool that is adequately but not fully specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'doc' is documented in the schema, but the required 'feature' parameter carries no description anywhere. The description does not compensate by explaining whether 'feature' is a name, index, or tree path, which is exactly the ambiguity an agent will hit when calling this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a feature') plus a meaningful scope restriction ('this server created in this session'), so the agent knows exactly what class of object is affected. The parenthetical about suppression implicitly separates it from sw_set_suppression and sw_delete_body, but neither sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use condition (feature was created by this server in this session) and a when-not signal ('others can only be suppressed'), which tells the agent to fall back to suppression for pre-existing features. The alternative tool is only implied by the word 'suppressed', not named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_draftB
Add draft to faces (moulding, casting, easier 3D-print removal).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| flip | No | ||
| name | No | Optional name for the new feature. | |
| angle | Yes | Draft angle in degrees. | |
| face_points | Yes | Faces to tilt. | |
| neutral_face_point | Yes | The neutral face (e.g. the parting/bottom face). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive mutation, and the description adds nothing beyond that safety profile. It doesn't say a new feature is created in the feature tree, that the target document must be active or specified via 'doc', or what happens on invalid geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the purpose followed by an immediately useful use-case gloss. It is efficient, though the parenthetical substitutes for rather than supplements behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter feature-creation tool with no output schema, the schema covers most parameters well, but the description leaves gaps around the 'flip' direction parameter and the document/feature-tree effects of the operation. It is minimally sufficient rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already explains angle range, face_points, neutral_face_point, and name. The description contributes no parameter-level meaning (e.g. what 'flip' toggles), so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Add draft to faces') and clarifies the domain purpose with the parenthetical about moulding/casting/3D-print removal. It is unambiguous what the tool does, though no sibling is named because no other draft tool exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical hints at when this applies (moulding, casting, print removal), which is implied usage context. There are no explicit when-not conditions, prerequisites (e.g. an open document with solid bodies), or named alternatives among the many feature tools like sw_shell or sw_thicken.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_explodeC
Automatic exploded view of the assembly.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| distance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, and the description does not contradict that, so no contradiction flag. However, for a mutation tool the description adds nothing beyond the title: it does not say whether existing exploded states are overwritten, whether the operation is reversible via sw_collapse, or that the model's component positions change in the view.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, which is structurally clean, but the brevity comes from under-specification rather than economy. There is no front-loaded verb or scope statement to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with no output schema, an undocumented 'distance' parameter, and an obvious inverse sibling (sw_collapse), the description is not complete enough: it omits reversibility, units, and preconditions. An agent can invoke it with defaults but cannot predict the resulting geometry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only the 'doc' parameter is documented in the schema; 'distance' (default 50, exclusiveMinimum 0) has no description and no units, and the tool description never mentions parameters at all. With 50% schema coverage the description should compensate, but it provides no information on what 'distance' controls (spacing between components?) or its unit of measure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Automatic exploded view of the assembly' conveys the resource and rough effect, but it is a noun phrase without a clear verb and never distinguishes itself from the obvious sibling sw_collapse, which is the inverse operation. An agent can guess the intent but must infer whether it creates, applies, or returns an exploded view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus sw_collapse, no prerequisites (does it require an open assembly, an active configuration?), and no mention of what state the assembly must be in. The description offers zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_exportCDestructive
Export a copy (STEP, IGES, STL, Parasolid, 3MF, PDF, DXF/DWG, PNG/JPG).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| path | No | File name or full path in an allowed folder. | |
| overwrite | No | Replace an existing file (the user is asked first). | |
| file_format | Yes | ||
| stl_quality | No | STL / 3MF mesh quality. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as non-read-only and destructive (it writes files), so the bar is lower, but the description adds essentially no behavioral context beyond the format list. It omits that output must land in an allowed folder, that overwrite triggers a user confirmation, and what the destination defaulting behavior is — all of which matter for a file-writing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the verb and resource, zero filler. However, the terseness is partly a symptom of under-specification rather than disciplined economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, no output schema, and a destructive write operation, the description leaves key questions unanswered: where the file goes, what happens on failure, whether the document must be open first, and how this differs from batch export. For a mutation tool with no return-value documentation, more was required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% and the 'file_format' enum is self-documenting; the description merely echoes the format enum values. The format-name mapping (e.g. Parasolid, DXF/DWG, PNG/JPG) confirms which enum entry corresponds to which CAD format, which is mildly useful, but nothing is said about path, doc, or stl_quality semantics. Baseline 3 fits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb (export) plus the resource ('a copy') plus the full format list makes the intent unmistakable. It does not explicitly distinguish itself from close siblings like sw_batch_export, sw_export_flat_pattern, or sw_save, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when this tool should be chosen over sw_batch_export (multiple files), sw_export_flat_pattern (sheet metal), or sw_screenshot/sw_print_check. No prerequisites, no exclusions, no conditions are given; the agent must infer routing from the format list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_export_flat_patternCDestructive
Flat pattern as DXF/DWG for laser / waterjet cutting.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| path | No | Target .dxf or .dwg. | |
| overwrite | No | Replace an existing file (the user is asked first). | |
| bend_lines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the write/destructive nature is covered structurally. The description adds nothing about what is destroyed — presumably an existing target file — nor about write permissions, directory creation, or what the tool returns on success. For a file-writing operation the description is silent on all behavior beyond format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. It is efficient, though the terseness comes at the cost of the usability details noted elsewhere — it is concise rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations beyond the safety flags, the description should say what happens on success (file written where? path returned?), that the part must be sheet metal, and what bend_lines controls. None of that is present, so an agent calling this tool has significant unknowns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, just under the threshold where the schema alone suffices; the undocumented parameter is bend_lines, which the description ignores entirely. It does implicitly clarify the path parameter by naming the accepted formats (DXF/DWG), but it says nothing about doc selection, overwrite semantics, or bend-line inclusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (flat pattern) and the output formats (DXF/DWG), which cleanly separates it from generic siblings like sw_export and sw_batch_export and from sw_flat_pattern, which presumably creates the flat pattern in-model. The verb 'export' is only implied by the tool name rather than written in the description, keeping it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for laser / waterjet cutting' hints at the use case, but there is no explicit when-to-use, no prerequisites (e.g., the document must be a sheet-metal part with a flat pattern), and no routing to alternatives such as sw_export or sw_flat_pattern. An agent must infer the selection logic entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_extrudeA
Extrude a sketch into a solid (boss). With thin_thickness, open sketches become walls.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| depth | Yes | Depth in mm (total depth for mid_plane). | |
| sketch | Yes | Sketch name, e.g. 'Sketch1'. | |
| reverse | No | Extrude against the plane normal. | |
| draft_angle | No | Draft angle in degrees. | |
| second_depth | No | Also extrude this far the other way. | |
| start_offset | No | Start this far (mm) from the sketch plane; negative = other side. | |
| end_condition | No | blind | |
| thin_thickness | No | Thin feature: wall thickness (mm) along the sketch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only but non-destructive mutation. The description adds one genuine behavioral trait: thin_thickness turns open sketches into walls, which tells the agent open profiles are legal only in thin mode. It says nothing about failure modes for closed-profile-only conditions or whether a rebuild is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, and the primary action is front-loaded before the conditional thin-wall caveat. Nothing redundant with structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter mutation tool with 90% schema coverage and no output schema, the description plus schema is nearly sufficient. The only real gap is what happens on failure or what a caller gets back, which is minor at this coverage level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 90%, so the schema already documents nearly every parameter including end_condition's enum and depth units. The description only adds meaning for thin_thickness (open sketches become walls); it says nothing extra about start_offset, second_depth, reverse, or how end_condition pairs with depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource: 'Extrude a sketch into a solid (boss)'. The word 'boss' implies additive material, which implicitly distinguishes it from sw_cut_extrude, but the sibling is never named, so the agent must infer the routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied via the object it acts on (a sketch) and the payoff (a solid). There is no explicit when-to-use guidance versus sw_revolve, sw_cut_extrude, sw_thicken or sw_shell, and no stated prerequisites such as requiring an active document or a closed profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_filletC
Round edges with a constant-radius fillet.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| edges | No | 'all' for every edge of the part, or model points lying on the edges. | all |
| radius | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false with destructiveHint=false, so the agent knows this mutates the model additively. Beyond that, the description says nothing about how the new feature is added to the tree, whether it can be undone/edited, or how failures are reported. The 'constant-radius' phrase adds one useful behavioral limit but not much else.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Its terseness is efficient, though it leaves little room for the usage and behavioral context a mutation tool needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema and thin annotations, yet the description omits error behavior, tree/feature implications, and edge-selection fallbacks that the schema hints at ('all' vs points). Adequate to identify the operation, insufficient to call it confidently in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%: doc, name, and edges are documented in the schema, but 'radius' has no schema description. The description's 'constant-radius' impliedly clarifies that radius is a single uniform value rather than a variable-radius input, modestly adding meaning. Baseline 3 is fair given the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('round edges ... fillet') that an agent can distinguish from geometry siblings like sw_chamfer or sw_shell. The 'constant-radius' qualifier narrows the operation type. It doesn't explicitly name a sibling it differs from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use a fillet versus sw_chamfer, when it will fail (e.g., radius too large for the edge), or prerequisites such as needing an open document with edge geometry. The agent must infer all usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_flat_patternB
Show the sheet-metal part flat (true) or folded (false).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| flatten | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this mutates something but is not destructive; the description adds nothing beyond that. It does not say whether the change is a transient view state or a persisted document setting, nor what happens when the active document is not a sheet metal part — a meaningful gap for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded with the effect and immediately followed by the interpretation of the flag. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema toggle this is close to adequate, but it omits the sheet-metal precondition, persistence semantics, and any routing to sw_export_flat_pattern. An agent can call it, but cannot be confident about side effects or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, with the flatten boolean having no schema description at all; the description supplies exactly that missing semantics by defining true=flat and false=folded. The doc parameter is already covered by the schema, so the description correctly spends its words on the undocumented one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource: toggles a sheet-metal part between flat and folded display, which is a distinct operation an agent can identify. It does not, however, distinguish itself from the sibling sw_export_flat_pattern, which produces the flat pattern as an output file rather than a view state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the flag values mean but offers no when-to-use guidance, no prerequisites (e.g. the active document must be a sheet-metal part), and no mention of the obvious alternative sw_export_flat_pattern for actually producing flat-pattern geometry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_generate_fastenerBDestructive
A metric fastener part (ISO 4762 / 4017 / 4032 / 7089) with cosmetic thread, in a new document.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| save | No | Save to <output>/fasteners for reuse in assemblies. | |
| size | Yes | 'M2' ... 'M24'. | |
| length | No | Screws/bolts: length under the head (mm). | |
| overwrite | No | Replace an existing file (the user is asked first). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, and the description is consistent by noting a new document and cosmetic thread. However, it does not explain the save/overwrite side effects or what happens to existing files beyond what the schema already says.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single tight sentence with no wasted words and the resource is front-loaded. It is grammatically a fragment and omits an explicit action, which slightly weakens structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema and destructive annotation, the description covers the core creation context. It is still thin for a document/file-producing tool and does not address routing to alternatives or return/side-effect details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high at 80%, so the baseline is 3. The description adds ISO standard context but does not map those standards to the kind enum or clarify size/length semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (metric fastener) and creation context (new document), with ISO standards that clarify the part family. It lacks an explicit verb and does not directly distinguish itself from sibling sw_insert_fastener, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sw_insert_fastener or sw_generate_part. The only implied usage is that it produces a new fastener part, but no conditions or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_generate_fuselageC
A fuselage / pod / nacelle lofted through ellipse, circle or rounded-rectangle frames (0 size = point).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| stations | Yes | Cross-sections along +X. | |
| shell_thickness | No | Hollow it (closed shell). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as a mutating (readOnlyHint=false) but non-destructive operation; the description does not say that it creates a new solid body or feature in the document, whether it requires an existing document, or what happens to previously generated geometry. The '(0 size = point)' note duplicates what the schema already states for width/height rather than adding new behavior detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the core concept front-loaded and no filler. It is efficient, though the parenthetical fragment makes it slightly telegraphic rather than self-contained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description would need to convey enough about the modeling result; it communicates the lofting concept but not the resulting body/feature, the hollow-shell behavior, or the two-station minimum. Rich schema field descriptions compensate substantially, keeping this at a minimum-viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents stations, doc, name, and shell_thickness well, including the pointed-end semantics. The description's parenthetical restates the schema's own '0 makes a pointed end' note and adds nothing about shell_thickness or the station count minimum. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names a concrete verb+resource (a fuselage/pod/nacelle lofted through ellipse, circle or rounded-rectangle frames), which is more specific than the sibling sw_loft and clearly distinct from sw_generate_wing or sw_generate_propeller. It does not explicitly name or contrast with any sibling, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer the generic sw_loft or sw_generate_part instead, and no prerequisites. The agent must infer from the word 'fuselage' alone that this is for aircraft-style body shapes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_generate_partC
A typical part in a new document from a few parameters (all have sensible defaults).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| params | No | l_bracket: width, height, depth, thickness, hole ('M4'), fillet. flange: outer_diameter, inner_diameter, thickness, bolt_circle, bolts, hole. enclosure: length, width, height (inner), wall, corner_radius, standoffs [[x, z], ...], standoff_height, screw. motor_mount: plate_diameter, thickness, bolt_spacing [16, 19], screw, center_hole. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the write-safe profile is already covered; the description usefully adds that the part is created "in a new document," which is real behavioral context an agent would otherwise not have. However, it does not say whether the new document becomes the active one, whether existing work is affected, or what the tool returns — gaps that matter for a document-creating mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is an elliptical fragment missing a verb, so the core action is not front-loaded. Efficiency is high; syntactic clarity is not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity (2 params, one enum) and the params schema is self-documenting, so the description does not need to be long. Still, with no output schema and no statement of what the call produces or what units the parameters use, an agent must infer the post-call state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the `params` property carries a detailed per-kind key listing, while `kind` relies on its enum alone. The description adds only the notion that parameters have sensible defaults, which is useful but marginal beyond the schema; baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence conveys the gist — generates a parametric part in a new document from a few parameters — but it is phrased as a noun fragment ("A typical part in a new document from a few parameters") rather than a verb+resource statement. Neither the `kind` options (l_bracket, flange, enclosure, motor_mount) nor the distinction from sibling generators (sw_generate_wing, sw_generate_propeller, sw_generate_fuselage, sw_generate_fastener) appear in the description, so an agent cannot tell from prose alone which generator to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 mention of the alternative generators, and no stated prerequisites. The only usage-adjacent hint is the parenthetical "all have sensible defaults," which implies params can be omitted but doesn't say when to supply them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_generate_propellerB
A propeller: twisted blades with pitch angle atan(P / 2 pi r), hub, shaft bore. Axis Y, thrust +Y.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| pitch | Yes | mm per revolution, e.g. 114 for 4.5 inch. | |
| blades | No | ||
| airfoil | No | Blade section, e.g. '4412'. | 4412 |
| diameter | Yes | mm, e.g. 127 for 5 inch. | |
| sections | No | ||
| tip_chord | No | ||
| hub_length | No | ||
| root_chord | No | ||
| hub_diameter | No | ||
| shaft_diameter | No | Bore, e.g. 5 for M5 shafts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation profile is covered. The description adds real geometric behavior not in structured fields — the twist law atan(P/2πr), the presence of a hub and bore, and that the result is aligned along Y with thrust in +Y — but says nothing about which document the feature lands in, whether an existing body is modified, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses, front-loaded with the object being generated and the key geometric convention; no filler. It is terse to the point of omitting a verb, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 12-parameter generative/mutating tool with no output schema needs more: which document it writes into, whether units are uniformly mm, whether the blade profile comes from the airfoil or the chord params, and what the agent gets back. The orientation and formula help, but the definition is too thin for this parameter surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; blades, sections, tip_chord, root_chord, hub_length and hub_diameter carry no schema descriptions. The description partially compensates by tying pitch to radius in the twist formula and naming the hub and shaft bore, effectively explaining pitch, diameter, and shaft_diameter, but the chord/section/blade parameters remain opaque in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource precisely — a propeller with twisted blades, hub, and shaft bore — and even states the pitch-angle formula and orientation. It stops short of an explicit verb ('generates') and does no differentiation from siblings like sw_generate_wing or sw_generate_fuselage, but an agent can still tell what object is produced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus sw_generate_wing/sw_generate_fuselage/sw_generate_part, no prerequisites, and no mention of whether it requires an open part document or creates one. The only usage hint is structural (axis Y, thrust +Y), which is orientation, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_generate_wingA
A complete wing in one call: blended airfoil sections with taper, sweep, dihedral and twist, lofted and mirrored. Returns area, aspect ratio, MAC and neutral point. Span runs along +X, flight direction +Z.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| span | Yes | Half-span, root to tip (mm). | |
| sweep | No | Leading-edge sweep, degrees. | |
| twist | No | Tip incidence change (negative = washout). | |
| mirror | No | Mirror to a full wing about the Right plane. | |
| dihedral | No | Degrees. | |
| sections | No | Sections from root to tip (more = smoother twist). | |
| incidence | No | Root incidence, degrees. | |
| tip_chord | Yes | ||
| root_chord | Yes | ||
| tip_airfoil | No | Default: same as root. | |
| root_airfoil | No | NACA code ('2412') or {'dat_file': ...}. | 2412 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the mutation profile (readOnly=false, destructive=false); the description adds real context beyond that: the wing is lofted and mirrored, and the call returns area, aspect ratio, MAC and neutral point. It also fixes the geometric convention (span along +X, flight direction +Z), which is not discoverable from annotations or schema. It does not state document prerequisites explicitly, keeping it just short of top marks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it builds first, then what it returns, then the orientation convention. Every clause carries information an agent needs and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter, no-output-schema mutation tool, the description supplies the missing pieces: it enumerates the returned metrics (area, AR, MAC, neutral point) in lieu of an output schema and pins the coordinate conventions. With the schema already documenting per-parameter meaning, nothing essential is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 85%, so the baseline is 3; the description earns an extra point by specifying axis conventions (span on +X, flight on +Z) that no parameter description conveys, and by framing taper/twist/sweep/dihedral as the wing-shaping inputs. It still leaves units and the meaning of sections/incidence to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('generate a complete wing') plus the exact composition (blended airfoil sections with taper, sweep, dihedral, twist, lofted and mirrored). This clearly separates it from sibling generators like sw_generate_fuselage, sw_generate_propeller and the manual sw_loft/sw_sweep path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'A complete wing in one call' implies when to prefer this over assembling lofts and mirrors manually, but no sibling is named and there are no explicit exclusions or preconditions (e.g. requires an open document). Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_get_propertiesCRead-only
Read custom properties.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| configuration | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide strong safety guarantees (readOnlyHint: true, destructiveHint: false). The description adds useful operational context by confirming that the properties are read within the scope of a specific document and configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise, consisting of a single, high-impact sentence that immediately tells the user the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having two contextual parameters (document and configuration), the description remains extremely vague. Without an output schema, the agent is left to infer what kind of 'properties' are returned or if there are any limitations on the data scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage, the description adds marginal value by clarifying that the 'doc' parameter can be a path or title and defaults to the active document. However, since the coverage is low, the description cannot fully compensate for the missing documentation on the other 50% of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Read custom properties'), but it lacks differentiation from the extensive list of similar sibling tools (e.g., sw_set_properties, sw_mass_properties). It is clear what it does, but not distinctly how it fits into the overall tool ecosystem.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The definition provides no guidance on when to use this tool versus other available tools. There is no mention of prerequisites, limitations, or how to distinguish 'custom' properties from other available property operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_healthARead-only
Check that SolidWorks answers and its geometry kernel works (zero-volume bodies mean: restart it).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description adds genuinely useful diagnostic semantics — that zero-volume bodies indicate a kernel problem and that it should be restarted — which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the check and immediately pairs the actionable symptom with the remedy. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only diagnostic, the description covers what is checked and how to interpret the key failure signal. It does not say what a success response looks like (boolean vs. status object), but with no output schema present this is a minor gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('SolidWorks' and 'its geometry kernel'), plus what a failure looks like. It does not differentiate itself from nearby siblings like sw_status or sw_connect, which an agent could plausibly confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the parenthetical about zero-volume bodies and restarting hints at 'call this when something seems wrong.' There is no explicit statement of when to prefer this over sw_status or sw_connect, nor any preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_helixC
Helix curve (path for springs, coils, augers, threads).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| pitch | Yes | ||
| sketch | Yes | Sketch with one circle (the helix base). | |
| reverse | No | ||
| clockwise | No | ||
| revolutions | Yes | ||
| start_angle | No | ||
| taper_angle | No |
TDQS
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 known, but the description adds nothing beyond that: no note that the tool mutates the active document, no mention of what happens on invalid input or whether a partial feature can be left behind, and no confirmation of the returned result. For a feature-creating mutation, this leaves behavior essentially undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause with no filler or repetition. It is efficient, though the terseness is a symptom of under-specification rather than disciplined brevity, which is penalized in other dimensions rather than here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 9-parameter mutation tool with no output schema and thin schema documentation, so the description should carry real weight, but it does not mention prerequisites (active document, sketch containing exactly one circle), the result of the call, or how the geometry options interact. An agent could not reliably call it correctly from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: doc, name, and sketch are documented, but pitch, revolutions, reverse, clockwise, start_angle, and taper_angle carry no descriptive text, only numeric constraints. The description compensates with nothing about parameter meaning, units, or direction/taper interaction, so six of nine parameters remain semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource, the helix curve, and gives concrete applications (springs, coils, augers, threads), which makes the geometry it produces unambiguous. It never states an explicit verb, so 'creates a helix feature' must be inferred, and it does not distinguish itself from sibling sw_spring, which also covers springs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical use cases ('path for springs, coils, augers, threads') imply context but give no when-to-use rules, no prerequisites such as an open document with a valid sketch, and no direction toward alternatives. An agent must guess whether sw_spring is preferable for a spring rather than calling sw_helix directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_holeB
Plain holes of any diameter (use sw_hole_wizard for standard fastener holes and threads).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| depth | No | Omit for through-all. | |
| diameter | Yes | ||
| hole_type | No | simple | |
| positions | Yes | ||
| face_point | Yes | A point on the planar face, away from all holes. | |
| counterbore_depth | No | ||
| countersink_angle | No | ||
| counterbore_diameter | No | ||
| countersink_diameter | No |
TDQS
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 covered. The description adds only the sibling routing and does not state that this creates a feature in the active document, what happens to existing geometry, or the implications of the face_point/positions requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a parenthetical routing hint; nothing is wasted and the alternative is placed immediately after the statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter creation tool with 36% schema coverage and no output schema, this description is too thin. It should at minimum explain that hole_type=counterbore/countersink activates the extra diameter/depth/angle parameters, which is the main source of invocation error here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 36%, so the description needs to compensate — but it says nothing about diameter, hole_type (simple/counterbore/countersink), counterbore_diameter/depth, countersink_diameter/angle, or how those conditional groups interact. The six undocumented parameters get no support from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Plain holes of any diameter' and it distinguishes itself from the sibling sw_hole_wizard explicitly. However, 'plain' understates scope since the schema's hole_type enum includes counterbore and countersink, so an agent could wrongly assume simpler geometry than the tool supports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes standard fastener holes and threads to sw_hole_wizard, which is exactly the when-not guidance needed against the one close sibling. It stops short of saying when to pick counterbore/countersink via hole_type, but the primary alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_hole_wizardC
Standard Hole Wizard holes: threaded (tapped), counterbore / countersink for screws, clearance holes.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| size | Yes | 'M3', 'M6', 'M8x1.0' (fine pitch), or '1/4-20' (inch). | |
| depth | No | Drilled depth; omit for through-all. | |
| standard | No | iso | |
| hole_type | No | tapped | |
| positions | Yes | Hole centres on one face, model mm. | |
| thread_depth | No | Tapped: thread length (default ~80% depth). | |
| cosmetic_thread | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already say readOnlyHint=false and destructiveHint=false, so the safety profile is minimally covered. The description adds only the supported hole categories and does not explain that this creates a feature in the active document, what happens to existing geometry, undo behavior, or failure conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted text. It is concise, though the extreme brevity leaves the definition under-specified for a nine-parameter mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nine parameters, no output schema, and basic annotations. The description does not explain required positions/size behavior, standards, through-vs-depth semantics, or what the tool returns, so it is not complete enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so several parameters still need description-level clarification. The description merely echoes the hole_type choices already exposed by the schema and adds no meaning for size, depth, thread_depth, standard, positions, or cosmetic_thread.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource and the supported hole variants: tapped/threaded, counterbore, countersink, and clearance. The action is only implied by "Hole Wizard" rather than stated with an explicit verb, and it does not distinguish this from sibling tools such as sw_hole or sw_thread.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Lists the hole styles but gives no guidance on when to use this wizard versus sw_hole, sw_thread, sw_cosmetic_thread, or sw_insert_fastener. No exclusions or decision criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_insert_componentB
Insert a saved part or sub-assembly into the active assembly.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| path | Yes | Full path of a saved .sldprt or .sldasm. | |
| fixed | No | Fix it in place (usually the first component). | |
| position | No | Where to place it; defaults to the origin. | |
| configuration | No | Use this configuration of the component. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a non-read-only, non-destructive mutation, so the description need only add context. It adds almost none: nothing about what happens if the active document is a part rather than an assembly, whether the source file is referenced/linked versus copied, or whether the operation is reversible via sw_undo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero redundancy. It is efficient, though arguably undersized rather than oversized for a five-parameter mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should carry more of the burden. For a mutation tool with five parameters and only generic annotations, it omits the active-document precondition, error behavior, and the result of the operation (e.g., a new component entry visible via sw_list_components).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all five parameters fully documented in the input schema (path, doc, fixed, position in model mm, configuration). The description adds no clarification or constraints beyond that schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Insert') and a specific resource ('saved part or sub-assembly') plus the target ('active assembly'), which is far more precise than the bare tool name. It stops short of differentiating from the closest sibling, sw_insert_fastener, which also inserts a component-like object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'into the active assembly' implies the prerequisite that an assembly document must be active, but the description never states when to choose this over sw_insert_fastener, sw_new_document, or sw_open, nor any exclusions or failure conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_insert_fastenerA
Insert a standard metric fastener (generated once, reused) into the assembly and mate it to a hole.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| flip | No | Flip if the fastener ends up on the wrong side. | |
| kind | Yes | ||
| size | Yes | 'M3', 'M5', 'M8' ... | |
| length | No | Screws/bolts: length under the head. | |
| hole_face_point | Yes | Point on the hole's cylindrical face. | |
| seat_face_point | Yes | Point on the face the head/nut/washer sits on. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a mutating but non-destructive operation, so the description is not on the hook for the safety profile. It does add real behavioral context beyond the annotations – the fastener is created once and reused, and a mate to the hole is created as part of the same call. It does not say what happens if the mate fails, whether repeated calls duplicate components, or whether the new component shows up in sw_list_components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler, front-loading the action and resource before the placement/mate details. Nothing repeats the title or restates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no output schema, the definition covers what it does and its two side effects, and annotations cover the safety profile. It is still thin on outcome details – what the call returns, whether it requires an active assembly, and how it interacts with sw_generate_fastener, which is its closest sibling and a likely source of wrong-tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already explains size format, length semantics, and the meaning of hole_face_point, seat_face_point, flip, and doc. The description adds nothing about parameters beyond loosely referring to 'a hole' (mapping to hole_face_point) and note that it must be mated. Baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (insert) and resource (standard metric fastener), and adds scope detail that matters: it is placed into the assembly and mated to a hole. The parenthetical '(generated once, reused)' obliquely distinguishes this from the sibling sw_generate_fastener, but it never names that sibling, so an agent comparing the two still has to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'generated once, reused' implies this is the right tool when a reusable library fastener is wanted rather than freshly generated geometry, which is useful implied guidance. However, there is no explicit when-to-use statement, no exclusion, and no mention of prerequisites such as an open assembly document or the relationship to sw_insert_component and sw_add_mate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_interferenceARead-only
Find overlapping components (and optionally touching ones) with the overlap volume.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| treat_touching_as_interference | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds that the result includes overlap volume magnitudes and that touching contact is a separate, opt-out category — useful context. It does not describe the return shape (e.g., pairs of components with volumes, or whether an empty result is possible), leaving a gap despite the presence of no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The overlap-volume outcome and the optional touching behavior are both conveyed economically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-parameter query tool with no output schema, the description covers purpose and the optional mode but does not tell the agent what comes back (component pairs, volume units, empty-result behavior). Enough to call it correctly, but not enough to interpret results confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'doc' is documented in the schema itself, while 'treat_touching_as_interference' has no schema description. The description's phrase 'optionally touching ones' supplies the meaning of that otherwise undocumented boolean, compensating for the coverage gap. It is still implicit rather than stating the default or the exact effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource: find overlapping components and report the overlap volume. That is clearly distinct from nearby siblings like sw_measure or sw_check_requirements, though the description never names those alternatives, so the differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'optionally touching ones' signals that touching contacts are excluded by default, which hints at how to use it. There is no explicit statement of when to prefer this over sw_measure or sw_check_requirements, nor any prerequisite or context about when interference checking is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_journalBRead-only
The journal of model-changing operations in this session (file path and the last entries).
| Name | Required | Description | Default |
|---|---|---|---|
| last | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true and destructiveHint=false annotations already establish that this is a safe read operation. The description adds useful context by saying it exposes the journal file path and last entries, but it does not cover pagination behavior, entry ordering, or return format details beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no wasted wording, and the key scope ('model-changing operations in this session') is front-loaded. It is appropriately concise for a simple read-only retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with no output schema, the description gives a basic idea of what is returned: a journal file path and recent entries. However, it does not describe the return structure, whether entries are chronological, or how the optional 'last' parameter affects the result, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter, 'last', with 0% description coverage. The phrase 'the last entries' hints that the parameter controls how many recent journal entries are returned, but it does not explicitly explain the parameter's meaning, and the schema's default and maximum values are left to speak for themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: the journal of model-changing operations for the current session, including the file path and recent entries. It is clear enough to distinguish it from most sibling tools, but it omits an explicit action verb and does not differentiate it from sw_replay_journal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling list includes sw_replay_journal, which is closely related, but the description does not mention when to inspect the journal versus replay it, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_linear_patternC
Repeat features in a row or grid (ribs, holes, slots, frame members).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| count | Yes | Instances, seed included. | |
| count2 | No | ||
| spacing | Yes | ||
| features | Yes | ||
| spacing2 | No | ||
| direction | Yes | ||
| direction2 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-destructive mutation, so the safety profile is covered. The description adds no behavioral detail the annotations don't: nothing about how a second direction turns a row into a grid, what happens with large counts, whether the seed instance counts, or that geometry is added to the model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. However, at this terseness for a 9-parameter mutation tool it under-serves the reader rather than being efficiently complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, low-coverage, no-output-schema tool, the description omits the grid/second-direction semantics, the meaning of count vs count2, and any feature-selection guidance. The essentials for calling it correctly are not present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate and it explains none of the parameters. Key fields like count2, spacing, spacing2, direction2 and features have no schema description and no mention here, leaving the grid behavior (second direction/spacing) entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Repeat features') and adds scope detail ('in a row or grid') with concrete examples (ribs, holes, slots, frame members). The 'row or grid' phrasing implicitly separates it from sw_circular_pattern and sw_sketch_pattern, but no sibling is named, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to choose this over the many sibling pattern/mirror tools (sw_circular_pattern, sw_sketch_pattern, sw_curve_pattern, sw_mirror). Usage is only inferable from the word 'linear' in the name; no prerequisites, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_bodiesCRead-only
Solid and surface bodies with bounding boxes and a pick point for each.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description contributes real value by disclosing the return payload (bounding boxes plus a pick point per body), which is not in any structured field since there is no output schema. However, it says nothing about scope — whether hidden, suppressed, or component bodies are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short fragment with zero padding, so nothing is wasted. But it is a sentence fragment rather than a front-loaded statement of purpose, and its brevity comes at the cost of omitting scope and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must describe the return value, and it does so at a high level — bounding box and pick point per body. Gaps remain: units of the bounding box, coordinate frame, and whether the call requires an active document or fails without one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional 'doc' parameter is fully documented in the schema, including the default-to-active-document behavior, so schema coverage is 100%. The description adds nothing about the parameter, which is acceptable at this coverage level but not a contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Solid and surface bodies with bounding boxes and a pick point for each' describes the resource being returned, and the tool name makes the listing intent clear, but the description itself never states a verb like 'lists' or 'enumerates'. It is distinguishable from siblings such as sw_list_features or sw_list_components only by the noun 'bodies', which is doing all the differentiation work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus alternatives (sw_mass_properties, sw_measure, sw_list_entities) or what preconditions apply, such as needing an open document. The agent must infer all routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_componentsCRead-only
Top-level components with position and state.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a little context by scoping results to 'top-level' components and mentioning position and state, but says nothing about return structure, ordering, or behavior with a missing/inactive document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but it is an under-specified noun phrase rather than a complete sentence with a verb. Brevity here reflects minimal content rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description should convey what the returned component entries look like and how 'state' is represented. It gestures at 'position and state' but leaves the return shape largely undefined, which is a meaningful gap for an agent consuming the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one optional parameter, and the schema documents it fully ('Document title or path. Defaults to the active document.'). With 100% schema description coverage, the schema carries the burden, so a baseline 3 is appropriate even though the description adds no parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Top-level components with position and state' identifies the resource and scope but never states a verb like 'list', leaving the action implied by the tool name. It also makes no attempt to distinguish this from siblings such as sw_list_features, sw_list_bodies, or sw_list_configurations, which all share the same list-shape.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool, when not to, or which alternative applies. Sibling tools like sw_list_features and sw_list_entities could plausibly overlap, and the description offers no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_configurationsBRead-only
Configurations of the document and which one is active.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the result includes which configuration is active, but it does not describe return shape, ordering, or behavior when no document is open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short phrase with no wasted words, and the key detail about the active configuration is front-loaded. The fragmentary phrasing is slightly terse but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with one optional parameter, the description is minimally sufficient but does not explain what the returned configurations look like (names, metadata, status indicator format). Without an output schema, those return-value details are left underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional 'doc' parameter is fully documented in the schema with its default behavior. The description adds no further meaning about parameters, which is acceptable given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (document configurations) and adds meaningful scope by stating it also reports which configuration is active. The verb is only implied by the tool name rather than stated in the description, and no sibling tool is mentioned, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no comparison to alternatives such as sw_add_configuration or sw_activate_configuration, and no prerequisites. Usage is only inferable from the purpose itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_dimensionsARead-only
Driving dimensions with full names ('D1@Boss-Extrude1', 'span_d@Sketch1') and values in mm / degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| feature | No | Only this feature's dimensions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds critical behavioral context by specifying that names include file-like paths (e.g., 'D1@Boss-Extrude1') and defines the expected units (mm/degrees). This is valuable information not present in the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is extremely efficient, using a single sentence to deliver its entire functional contract, purpose, and data format expectations without any fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description performs a vital role by explicitly defining the content of the returned data (full names, values, and units), which is essential for an AI agent to successfully parse and utilize the tool's results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the schema coverage is 100%, the baseline for this dimension is high. The description confirms that parameters like 'doc' and 'feature' are used to narrow the scope of the dimension search, but it does not add novel semantic information beyond what the schema outlines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose is to retrieve 'Driving dimensions'. It specifies the content of the result (names and values) and provides exact format examples, making its function unambiguous within the CAD context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the tool's scope (listing dimensions) is clear, the description does not provide guidance on when to use it versus alternative listing or measurement tools (e.g., `sw_get_properties` or `sw_list_features`). The usage is implied by the nature of the data returned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_entitiesCRead-only
Faces (plane/cylinder/...) and edges (line/circle) with geometry and a pick_point for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| kind | No | all | |
| near | No | Sort by distance to this model point. | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true and destructiveHint=false already declare the safety profile, so the description needn't restate that. It adds value by disclosing what the result contains (geometry data plus a pick_point usable by other tools), which is non-obvious and not in the schema. It does not mention default limit behavior, sorting, or truncation, which matter for a listing tool that caps at 60 by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, but it is grammatically a fragment missing its subject and verb, and the most important fact (that it lists entities for the currently open document) is left implicit. Brevity here comes at the cost of clarity rather than from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with a default limit of 60, an optional document target, and a sort-by-distance option — and with no output schema — the description covers only what kinds of entities exist and that they carry geometry and a pick_point. An agent still cannot tell the default document scope, what happens past the limit, or how 'near' affects ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: doc and near are documented, while kind and limit have enums/constraints but no descriptions. The description uses the word "Faces" and "edges", indirectly glossing the kind enum, but says nothing about doc scope, the near sorting parameter, or the limit cap. Baseline 3 is appropriate given partial schema coverage and no compensating detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (faces, edges) with enumeration examples and hints at the returned content (geometry, pick_point), but uses no verb — it reads as a noun-phrase caption, not a statement that this lists entities in a document. It is distinguishable from sw_list_bodies and sw_list_features by the face/edge focus, though only weakly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"for other tools" implies a downstream-use scenario (get a pick_point to feed another call), which is a real usage hint. But there is no explicit when-to-use vs. alternatives, no mention of sw_list_bodies/sw_list_features, and no guidance on when to choose faces vs. edges vs. all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_equationsCRead-only
Global variables and equations with their current values.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds that values are current but says nothing about return format, ordering, or whether equations and variables are separated. It is not contradictory but adds only modest behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words and is front-loaded with the resource being returned. It is concise but perhaps too terse to be fully informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter and no output schema, the description conveys what data is returned. However, it does not clarify the scope (active document vs. specified doc), the relationship between variables and equations, or the shape of the result, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the optional doc parameter is fully documented in the schema. The description does not mention the doc parameter at all; per the rubric, a baseline of 3 is appropriate when the schema carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (global variables and equations) and indicates it reports current values, but it is a noun phrase without a verb like 'list' or 'retrieve.' An agent can infer it's a read operation from the name and annotations, but the purpose is vague compared to a clear verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as sw_list_dimensions or sw_set_variables. The description does not state prerequisites, exclusions, or contextual triggers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_list_featuresARead-only
The feature tree (names, types, suppression) and optionally each feature's dimensions in mm / degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| include_dimensions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile needs no restating. The description adds genuinely new behavioral detail — that dimensions are opt-in and returned in mm/degrees — but says nothing about ordering, configuration scoping, or how non-dimensionable features appear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single economical sentence with no filler, front-loading the primary payload (the feature tree) before the optional extension. It reads as a noun fragment rather than a complete statement, which slightly undersells the action but wastes nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only listing with annotations covering safety and no output schema, the description is close but not fully sufficient: return shape is sketched (names/types/suppression) yet ordering, configuration scope, and behavior on an empty or unopened document are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: `doc` is documented in the schema, but `include_dimensions` has no schema description. The description compensates by explaining that dimensions are included 'optionally' and are expressed in mm / degrees, which is exactly the missing semantics. It does not restate the `doc` default, but the schema already handles that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely (the feature tree) and enumerates what it contains: names, types, suppression, plus optional dimensions with units. It is missing an explicit verb ('List/Return') and does not distinguish itself from near-siblings like sw_list_dimensions or sw_list_bodies, but an agent can tell what data comes back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers it should call this when it needs to inspect the model's feature tree. There is no statement of when to prefer sw_list_dimensions or sw_list_entities instead, and no mention of preconditions such as an open document (the default-to-active-document behavior lives only in the schema).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_loftB
Loft through profiles on different planes: wings, fuselages, blades, duct transitions.
| Name | Required | Description | Default |
|---|---|---|---|
| cut | No | ||
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| closed | No | Close back to the first profile (rings). | |
| guides | No | Optional guide-curve sketches. | |
| surface | No | Make a surface loft (thicken it later). | |
| profiles | Yes | Profile sketches in order (root -> tip). | |
| end_tangency | No | none | |
| start_tangency | No | none | |
| thin_thickness | No | Thin-walled loft (mm). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false, which already tells the agent this mutates the model, so the description is free to add other context — yet it says nothing about feature creation, whether the resulting feature is added to the tree, or what the cut/surface/thin modes do to the result. For a 10-parameter feature-creating operation this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the operation first and the use cases second, with no filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, several behavior-altering flags (cut, surface, closed, tangency), and no output schema, the description is far too thin — it never explains what the resulting feature is, how the mode flags change the outcome, or what happens on failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The phrase 'profiles on different planes' reinforces the required ordering constraint, but that constraint is already in the schema. Schema coverage is 70%, and the undescribed parameters (cut, start_tangency, end_tangency) are exactly the ones where loft behavior is easiest to get wrong; the description supplies no guidance on any of the 10 options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb ('loft') and resource ('profiles on different planes') plus concrete example outcomes (wings, fuselages, blades, duct transitions) make the operation recognizable and separate it from siblings like sw_sweep or sw_extrude. It stops short of naming those alternatives explicitly, so no 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The geometric examples imply the scenario (skin a shape between dissimilar cross-sections), which lets an agent infer when lofting beats extruding or sweeping. But there is no explicit 'use this when… / use sw_sweep instead when…' statement and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_mass_propertiesBRead-only
Mass, volume, area, centre of mass, principal moments and bounding box (mm / kg).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine value by disclosing the returned quantities and their units (mm / kg), but says nothing about scope (whole document vs. selected bodies) or failure behavior when no document is active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence listing outputs and units with zero filler. Everything is front-loaded, though it reads as a fragment rather than a statement of action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry return-value information, and it does list the fields and units. However it omits the document/body scope and any prerequisite (e.g., a rebuilt or up-to-date model), leaving gaps for a computation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single 'doc' parameter is fully documented in the schema as a title or path defaulting to the active document. The description adds nothing beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what the tool reports: mass, volume, area, centre of mass, principal moments, and bounding box. That makes the resource unambiguous even though it is a bare noun phrase with no verb and does not distinguish itself from siblings such as sw_measure or sw_assembly_mass.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus sw_measure (measurement) or sw_assembly_mass (assembly-level mass). The agent must infer the choice from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_measureARead-only
Measure like the Measure tool: distance / angle between two entities, or length / area / diameter of one.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| entities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true and destructiveHint=false annotations already establish this as a safe read operation. The description adds useful behavioral context by implying a non-mutating measurement analogous to SolidWorks' Measure tool, but it does not mention return format, units, or failure conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no wasted words. The mode mapping is compact and immediately useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema documents the Entity structure and the doc default, annotations cover the safety profile, and the description explains the measurement modes. The main remaining gap is that output units/format are not described, which is a limitation given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema description coverage, the description compensates partially by mapping the entity count to measurement types: one entity for length/area/diameter, two for distance/angle. It does not add detail about the doc parameter or the Entity fields, which are left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Measure' and names the resources and modes: distance/angle between two entities and length/area/diameter of one. It is clear what the tool does, though it does not explicitly distinguish itself from nearby tools such as sw_mass_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing implies that one entity yields length/area/diameter while two entities yield distance/angle, which helps select the right measurement mode. However, it does not state when not to use the tool, nor does it name alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_mirrorA
Mirror features (or bodies) about a plane: build one half of a symmetric part, mirror the rest.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| plane | Yes | 'front', 'top', 'right' or a plane name. | |
| bodies | No | Mirror whole bodies (give a body-making feature). | |
| features | Yes | Feature names, e.g. ['Boss-Extrude2']. |
TDQS
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 covered; the description adds the semantic that the operation is planar and typically applied to a half-model. It says nothing about whether the result is a new feature, whether it is undoable, or what happens if a referenced feature is suppressed — gaps that matter for a mutating CAD operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action front-loaded and the modeling rationale trailing it; nothing is wasted and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description could carry return-value or failure information, and it does not. For a 5-parameter mutation with thin annotations, the definition is adequate but leaves the agent guessing about error cases and result reporting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with doc, name, plane, bodies, and features all documented in-schema. The description only echoes the features/plane/bodies concepts already present, adding no format hints (e.g., acceptable plane aliases beyond the enum-like list) beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Mirror features (or bodies) about a plane') with the scope of what can be mirrored. It does not name any sibling, so an agent cannot tell from the text alone why this is preferable to sw_linear_pattern or sw_circular_pattern for symmetric geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'build one half of a symmetric part, mirror the rest' gives a concrete modeling scenario that tells the agent when this tool applies. There are no explicit exclusions or named alternatives, so the agent must infer that asymmetric or non-planar symmetry is out of scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_move_copy_bodyC
Move/rotate a body, or copy it.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| copies | No | 0 = move, n = make n copies. | |
| translate | No | ||
| body_point | Yes | [x, y, z] in model mm | |
| rotate_angles | No | Degrees about X, Y, Z. | |
| rotate_center | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnly=false and destructive=false, so the safety profile is covered. The description adds only the word 'rotate' beyond the tool name and says nothing about whether existing bodies are modified, whether copies are independent, or what coordinate frame applies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted words. However, it is so terse that the move versus copy distinction and the rotate operation are not structured or clarified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no output schema, the description is far too thin. It omits how the body is identified, what happens to the original when copying, and what the return behavior is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, with parameters like translate and rotate_center lacking descriptions. The description supplies no parameter semantics at all, so it does not compensate for the remaining gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific operations (move/rotate/copy) on a specific resource (body), so the core purpose is clear. It does not differentiate from related body manipulation or pattern siblings, but an agent can still identify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the verb list, but there is no guidance on when to choose this over alternatives such as sw_linear_pattern, sw_mirror, or sw_scale. 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.
sw_new_documentB
Create a new, empty part, assembly or drawing from the default template and make it active.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | part |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-non-destructive profile is covered. The description adds genuine behavioral context by disclosing that the new document becomes active, but it does not say what happens to the previously active document, whether the result is unsaved, or which template is used.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the action and the key side effect ('make it active') front-loaded. Nothing is wasted and nothing important is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, non-destructive tool with no output schema, the description is close to sufficient. It still lacks the return value (document name/path or handle) an agent would need to chain follow-up calls such as sw_create_sketch, and offers no disambiguation from the drawing-creation siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for the single 'kind' parameter. It only restates the enum values ('part, assembly or drawing') and adds no meaning about default template selection or what an empty document of each kind contains, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Create'), resource ('new, empty part, assembly or drawing') and the template source, which is more than the name alone conveys. It does not, however, distinguish this from near-siblings such as sw_create_drawing, sw_open, or sw_generate_part, all of which could plausibly be reached for when starting a document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus sw_open (open an existing file) or sw_create_drawing (create a drawing), nor any prerequisite or precondition. Usage is only inferable from the phrase 'from the default template'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_openB
Open an existing SolidWorks document and make it active.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full path of a .sldprt, .sldasm or .slddrw file. | |
| read_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered. The description adds a genuine behavioral detail beyond that: the document becomes the active one, which affects subsequent calls. However, it says nothing about failure modes (file missing, already open, unsaved changes) or whether opening can modify the file on disk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero filler; verb, resource, and effect in order. Brevity here is close to under-specification but the sentence itself is well-formed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter open operation with no output schema, the core action is covered. Missing pieces are the connection prerequisite, the semantics of read_only, and what the call returns or does when the document is already open, which for a state-changing tool is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: the path parameter is documented, but read_only has no description anywhere. The description never compensates, not even mentioning that a document can be opened read-only, leaving the agent to guess at a parameter that materially changes behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Open), a specific resource (SolidWorks document), and the post-condition (make it active). The word "existing" implicitly separates it from sw_new_document, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no prerequisites, and no alternatives. It never states that a session must already exist (sw_connect) or that a different tool handles creating new documents, so the agent must infer routing from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_planar_surfaceC
Flat surface bounded by a closed sketch (thicken it into a plate).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| sketch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=false and destructiveHint=false, so we already know it mutates without being destructive. The description adds the requirement for a closed sketch profile, which is useful behavioral context, but it says nothing about what happens to the source sketch, whether an error is raised for open profiles, or that the result is a new feature in the active document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded, with zero filler. It is efficient, though the parenthetical could be slightly more explicit about its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema and only nominal annotation coverage. An agent still lacks the sketch reference format, the behavior on non-closed diagrams, and the safety/reversibility picture; for a feature-creating tool, the definition is too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: `doc` and `name` are documented in the schema, but `sketch` is not. The description compensates partially by stating the sketch must be closed and planar, but it does not say whether `sketch` is a feature name, a sketch ID, or an entity selector, so the agent must infer the format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('flat planar surface bounded by a closed sketch') and the operation is clear from context. It hints at the downstream operation of sw_thicken, but does not explicitly distinguish itself from siblings such as sw_extrude or other surface-generating tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It says nothing about when to use this tool rather than sw_extrude, sw_revolve or sw_thicken. The parenthetical '(thicken it into a plate)' hints at a later step but is not phrased as routing guidance or a condition that selects one tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_print_checkARead-only
3D-print check: overhang area (needs supports), bed contact, best of six orientations, build-volume fit.
| Name | Required | Description | Default |
|---|---|---|---|
| up | No | Model axis pointing up. | +z |
| doc | No | Document title or path. Defaults to the active document. | |
| build_volume | No | Printer mm. | |
| max_overhang_angle | No | Degrees from vertical. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description goes further by disclosing the actual computations, including that overhang regions are flagged as needing supports and that six orientations are evaluated. It stops short of saying what is returned (areas, verdicts, pass/fail) or whether the check is expensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the core capability front-loaded and zero filler. The telegraphic fragments ('bed contact', 'build-volume fit') are slightly cryptic but every phrase carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter read-only analysis tool with no output schema, the description should say what the agent receives back — numeric overhang area, boolean fit, a recommended orientation. That return-shape information is missing, though the inputs are fully covered by the schema and annotations cover the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so 'up', 'doc', 'build_volume' and 'max_overhang_angle' are already documented. The phrase 'best of six orientations' subtly explains the six-value 'up' enum, but the description adds no syntax or interpretation help for build_volume or the overhang angle threshold. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('3D-print check') and enumerates the exact analyses performed: overhang area with support implication, bed contact, orientation search, and build-volume fit. This is clearly distinguishable from neighbors like sw_interference or sw_mass_properties, though no sibling is named as a contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the name '3D-print check' and by terms like 'needs supports' — an agent can infer this is a pre-print validation. There is no explicit statement of when to run it, prerequisites, or alternatives such as checking interference or mass properties first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_rebuildCRead-only
Rebuild and report features with errors or warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful detail that the call surfaces features with errors or warnings, but does not say whether a rebuild can silently change geometry, whether it is expensive on large assemblies, or how the report is presented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with no filler, and the core action is front-loaded. It is arguably too terse for the information the agent actually needs, but nothing written is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the reported errors/warnings look like and whether the rebuild modifies stored model state. It gestures at the return content but leaves the agent guessing about result structure and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'doc' parameter is fully documented with its default-to-active-document behavior, so the schema carries the load. The description adds nothing about the parameter, which meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb-and-resource pair (rebuild features + report errors/warnings), so the basic action is identifiable. However, 'rebuild' is CAD-specific jargon left undefined, and the description does not distinguish this from nearby diagnostic siblings like sw_health, sw_status, or sw_check_requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus sw_health, sw_status, or sw_list_features, and no stated preconditions (e.g. an open document). The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_rename_dimensionA
Give a dimension a meaningful name ('D1@Sketch1' -> 'chord@Sketch1') for equations.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| new_name | Yes | ||
| dimension | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations confirm this is a non-read-only/non-destructive change. The description adds behavioral context by explaining *why* the name should be changed (for equations), adding moderate value beyond the safety hints provided by the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is highly efficient. It defines the action, the target, the goal, and provides a concrete example all without unnecessary jargon or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low coverage and lack of an output schema, the description successfully defines the tool's function and the required input semantics. It is complete enough for an agent to invoke the tool correctly based on the goal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 33%, the description is critical. It clarifies that the 'dimension' parameter is the cryptic source name and 'new_name' is the readable target name, adding necessary semantic context that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Give a dimension a meaningful name'), identifies the resource (a dimension), and provides an excellent transformation example ('D1@Sketch1' -> 'chord@Sketch1'), making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly defines the context for using the tool—when dimensions need to be readable 'for equations.' While it doesn't explicitly list alternatives, the focus on 'meaningful name' strongly implies use over default, cryptic naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_replay_journalC
Rebuild a model by replaying a journal of operations.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | A .jsonl journal (see sw_journal), e.g. from an earlier session. | |
| dry_run | No | Only list what would run. | |
| new_document | No | Start with a new part (skips the journal's own). | |
| stop_on_error | No | ||
| allow_file_writes | No | Also replay save/export steps. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, but the description does not disclose side effects or conditions beyond the basic operation. It does not mention that file writes are gated by allow_file_writes, that dry_run exists, or how stop_on_error affects replay.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with zero wasted words. The operation and mechanism are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 5-parameter mutation-adjacent tool with no output schema, and the one-sentence description is too sparse for its complexity. It omits replay behavior, error handling, file-write implications, and expected outcomes beyond the basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already explains most parameters, including path, dry_run, new_document, and allow_file_writes. The description adds no parameter-level detail, which is acceptable at this coverage level but not helpful beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Rebuild a model' by 'replaying a journal of operations.' This is clear, but it does not distinguish the tool from nearby siblings such as sw_rebuild or sw_journal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no guidance on when to use this tool instead of sw_rebuild or sw_journal, and no prerequisites or exclusions are stated. The usage context is only implied by 'replaying a journal of operations.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_revolveB
Revolve a profile around its centerline (shafts, discs, bottles, grooves).
| Name | Required | Description | Default |
|---|---|---|---|
| cut | No | Remove material instead of adding it. | |
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| angle | No | ||
| sketch | Yes | Sketch with one centerline (the axis) and a closed profile. | |
| reverse | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false, so the description carries most of the burden, and it adds nothing about behavior: no mention that it creates a new feature in the active document, no note that cut=true turns it into a material-removal operation, and no disclosure of constraints such as the 0–360 angle bound or what happens on an invalid profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource first and examples last; nothing is wasted. It is very terse for a modeling operation, but that is a completeness issue rather than verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter geometry-creation tool with no output schema and only minimal annotations, the description is too thin: it does not state which document the feature lands in, what the return looks like (feature name/handle), or how errors (open profile, missing centerline) surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 67% schema coverage, the schema already documents cut, doc, name and sketch, and the description's phrase 'around its centerline' usefully reinforces that the sketch must contain the axis. However, the two bare parameters (angle, reverse) receive no clarification in either the schema or the description, so the description does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (revolve) and resource (a profile around its centerline) and adds concrete part examples (shafts, discs, bottles, grooves) that make the resulting geometry unambiguous. It does not explicitly contrast with adjacent siblings such as sw_extrude, sw_sweep or sw_loft, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical examples imply the class of shapes this tool is for, which is useful implied guidance, but there is no explicit 'use this instead of sw_extrude/sw_sweep when…' statement and no prerequisites spelled out (e.g., a sketch with exactly one centerline must already exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_ribB
Stiffening rib from an open sketch line inside a pocket or along a wall.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| sketch | Yes | Open sketch line(s) between walls. | |
| thickness | Yes | ||
| both_sides | No | Thickness centred on the sketch. | |
| draft_angle | No | ||
| flip_material | No | Grow towards the other side if the rib fails. | |
| normal_to_sketch | No | Extrude normal to the sketch instead of in its plane. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive write. The description adds the useful constraint that the input must be an open sketch line between walls, but it says nothing about side effects such as whether the sketch is consumed, what happens on failure, or that a feature is added to the tree.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the key geometric condition placed up front. It is efficient but borders on under-specification for an 8-parameter feature-creation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 8 parameters, no output schema and only partial schema descriptions, the description covers the core concept but omits failure modes, prerequisites (existing sketch/active document handling) and post-call state. It is adequate but leaves real gaps an agent might need to know.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so most parameters are documented in the schema itself; the description only reinforces the 'sketch' parameter by specifying open sketch lines between walls. Thickness, draft_angle and the boolean options get no additional semantics from the description, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (stiffening rib) and its geometric construction (from an open sketch line inside a pocket or along a wall), which is enough to distinguish it from siblings like sw_extrude or sw_fillet. It lacks an explicit verb ('create') and does not call out how it differs from a plain extrude, keeping it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'inside a pocket or along a wall' communicates the geometric precondition for calling it. There is no explicit when/when-not guidance and no mention of alternatives such as sw_extrude when a rib is not the right feature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_saveBDestructive
Save as a native SolidWorks file (.sldprt / .sldasm / .slddrw).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| path | No | File name (output folder) or full path in an allowed folder. | |
| overwrite | No | Replace an existing file (the user is asked first). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so safety is covered. The description adds only the format scope; it does not say whether this is save-in-place vs save-as, whether the document's associated path is rebound, or that the overwrite prompt is a blocking user interaction beyond what the schema notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no filler, front-loading the verb and the supported formats. It is efficient but borders on under-specified for a mutation tool, which is penalized elsewhere rather than here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of explaining what comes back on success/failure, and it says nothing. For a write tool that can overwrite files and depends on the active document, the definition is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — doc, path, and overwrite are each documented, including that overwrite prompts the user. The description contributes nothing about parameter defaults or path resolution rules, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb 'save' and the resource — a native SolidWorks file — and enumerates the three document-type extensions, which distinguishes it from sw_export/sw_batch_export by format rather than by name. It does not explicitly name those siblings, but the 'native' qualifier does the differentiating work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'native' implies this is for saving in SolidWorks' own format versus exporting to other formats, but no when-to-use/when-not statement or alternative is spelled out. The agent must infer the routing between sw_save and sw_export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_scaleC
Scale all solid bodies (e.g. shrinkage compensation).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| about | No | origin | |
| factor | No | ||
| factors | No | Non-uniform X, Y, Z. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is non-read-only but non-destructive, and the description adds the important behavioral scope that all solid bodies are affected. It still omits whether a scale feature is created, whether changes are reversible, how active-document defaulting works, and how factor and factors interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. However, for a five-parameter mutation tool it is arguably under-specified rather than fully structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-read-only geometry mutation with five parameters and no output schema, the description does not explain what the operation creates or changes, whether it applies only to the active document, or how uniform and non-uniform scaling options are resolved. It leaves too much for the agent to infer before invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter meaning beyond the schema, despite five parameters and only 60% schema description coverage. In particular, the critical factor/factors relationship and the about origin/centroid choice are not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Scale all solid bodies,' with a concrete example use case (shrinkage compensation). It does not explicitly distinguish itself from adjacent body-operation tools such as sw_move_copy_body or sw_combine, but it is clear enough to identify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is the example 'shrinkage compensation'; there is no explicit when-to-use, when-not-to-use, prerequisite, or alternative guidance. An agent must infer that this is the right tool whenever solid bodies need scaling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_screenshotBRead-only
Images of the model from standard views (compare with a drawing, check the result).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| views | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. Beyond that the description adds almost nothing: it does not say what is returned (inline image data vs. files written to disk), whether multiple views produce multiple images, or the image format/resolution — critical unknowns for a screenshot tool with no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no waste, and the core capability is front-loaded before the usage hint. It is perhaps overly compressed for a tool whose return value is non-obvious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 optional params, no nested objects, no output schema), so the description is close to sufficient for invocation. The notable gap is the result shape — an agent cannot tell whether to expect image payloads, file paths, or written files, which is exactly what a caller needs before invoking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'doc' is fully documented in the schema while 'views' has no description but is a self-explanatory enum. The description's phrase 'standard views' loosely maps to the views parameter, but it never mentions the default-to-active-document behavior, the 1–6 view limit, or the default isometric view.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('Images of the model') and the scope ('from standard views'), which together with the name make it unambiguous that this captures viewport snapshots. It is clearly distinct from every sibling (no other capture/render tool exists), though the verb is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'compare with a drawing, check the result' gives concrete use cases, which is more than most siblings offer. However, it never states when not to use it or points to an alternative (e.g., sw_print_check or sw_measure for verification), so guidance stops at implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_set_appearanceB
Colour / transparency for the whole document, features, components or faces.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| color | Yes | '#RRGGBB', a name ('red', 'steel', 'carbon', 'gold' ...) or [r, g, b] 0-255. | |
| features | No | Only these features (parts). | |
| shininess | No | ||
| components | No | Only these components (assemblies). | |
| face_points | No | Only the faces at these points. | |
| transparency | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive mutation. The description adds the affected scopes, but it does not disclose that existing appearance values are overwritten, how multiple target parameters interact, or what transparency values mean semantically.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded fragment with no wasted words. It is efficient, though its terseness contributes to the broader completeness gaps assessed elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool, the one-line description leaves important context unstated: whether omitted target parameters mean the whole document, how transparency is interpreted (0 vs 1), and how this differs from clearing appearance. Annotations and the schema help, but the description itself is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so most parameters are documented in the schema itself. The description reinforces the colour/transparency and target-scope concepts but adds no format or behavioural detail beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly conveys that this tool sets colour and transparency across several target levels (document, features, components, faces). It lacks an explicit verb and does not distinguish itself from the closely related sw_clear_appearance or sw_set_material siblings, keeping it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus sw_clear_appearance or sw_set_material. The target scopes are listed, which implies usage, but the agent receives no when-not conditions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_set_dimensionC
Change a dimension and rebuild.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| value | Yes | mm, or degrees for angular dimensions. | |
| dimension | Yes | Full dimension name, e.g. 'D1@Boss-Extrude1'. | |
| configurations | No | Only in these configurations; ['*'] = all. Default: active one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The mention of "rebuild" is the only behavioral hint, and it is useful (it implies a model rebuild and downstream geometry changes). Beyond that, nothing is disclosed about which configurations are affected, whether changes are reversible, or what errors occur for a bad dimension name. Annotations only rule out read-only and destructive, so the description still carries a large burden it does not fulfil.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six words, front-loaded and waste-free, but the brevity crosses into under-specification for a mutating tool with a rebuild side effect. It is concise rather than informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A four-parameter mutation tool with no output schema and no annotations beyond non-readonly/non-destructive. An agent cannot learn from the description whether the rebuild is full or partial, whether the call fails when the dimension is driven by an equation, or how configurations interact with the change.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the schema already explains the dimension name format, units for value, the doc default, and the configurations wildcard. The description adds no parameter meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Change a dimension" names a specific verb and resource, and "and rebuild" signals the coupled side effect. However, it does not distinguish this from close siblings like sw_rename_dimension or sw_list_dimensions, and "change a dimension" is ambiguous about whether the value or the identity is being altered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Nothing tells the agent to prefer sw_rename_dimension for name changes or sw_list_dimensions to discover valid dimension names before calling this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_set_materialB
Assign a material (affects mass, Simulation).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| database | No | solidworks materials.sldmat | |
| material | Yes | Exact library name: 'AISI 1020', '6061-T6 (SS)', 'ABS', 'PLA'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only but non-destructive mutation, and the description usefully adds that mass properties and Simulation are affected. It does not say whether an existing assignment is overwritten, what happens if the material name isn't in the library, or whether the change propagates to assembly components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with zero waste and the core action front-loaded. It is arguably too terse for the gaps it leaves, but there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It is a mutation tool with no output schema, an undocumented 'database' parameter, and no explanation of library requirements, overwrite behavior, or scope of application. The single parenthetical does not cover what an agent needs to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is a solid 67%: 'doc' and 'material' are documented with examples in the schema, while 'database' is undocumented in both places. The description adds no parameter meaning beyond what the schema already carries, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Assign') and resource ('material'), plus the side effect that it affects mass and Simulation. However it doesn't distinguish itself from nearby siblings such as sw_set_appearance or sw_set_properties, and it never says what entity the material applies to (part, body, component).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g., a document must be open/active), and no mention of alternatives. The parenthetical about mass and Simulation hints at consequences, not at when to choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_set_propertiesB
Set custom properties (they fill the drawing title block and the BOM).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| properties | Yes | Title-block fields, e.g. {'Обозначение': 'ДР.01.001', 'Разработал': '...'} | |
| configuration | No | '' for the document, or a configuration name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this is a non-read-only but non-destructive operation, and the description adds useful context by naming the title block and BOM as targets. However, it does not disclose whether existing custom properties are overwritten or merged, whether changes are saved, or how configuration-specific properties behave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is efficient, though its brevity means it omits mutation semantics rather than using space poorly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with annotations, no output schema, and fully documented parameters, the description covers purpose and downstream effect but omits critical setter behavior: overwrite vs merge, save semantics, and configuration handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents doc, properties, and configuration. The description adds no parameter-level detail beyond what is in the schema, which is acceptable at baseline when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set custom properties') and adds where the values surface ('drawing title block and the BOM'). It is clearly distinct from the sibling sw_get_properties by name, but the description does not explicitly differentiate the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the effect of the properties but gives no guidance on when to use this tool versus sw_get_properties, no prerequisites such as an open document, and no note about when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_set_suppressionC
Suppress or unsuppress a feature.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| feature | Yes | ||
| suppressed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-readonly operation that is not destructive. The description adds only that suppression can be reversed via 'unsuppress', but it does not explain effects such as rebuild requirements, dependency behavior, or what happens to downstream features.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately sized structurally, though its brevity contributes to under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with three parameters, no output schema, and low schema description coverage, the description is too thin. It leaves ambiguous how to identify the feature and what the suppression state change entails beyond toggling a flag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%; the 'feature' parameter has no schema description at all. The description does not clarify whether 'feature' expects a name, ID, or tree path, nor does it explain the 'suppressed' boolean mapping or the 'doc' default behavior beyond what the schema partially provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: suppress/unsuppress a feature. It is clear enough for an agent to understand the basic operation, but it does not differentiate from nearby tools such as sw_delete_feature or other feature-manipulation actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The only implied usage is that it applies to a feature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_set_variablesA
Create or update global variables (the parameters that drive the design).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| variables | Yes | {'span': 1200, 'chord_root': '"span" / 6'} - numbers in mm, strings are expressions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, non-destructive mutation. The description adds semantic context about what global variables are, but does not explain overwrite behavior, scoping across documents, or whether existing variables not mentioned are preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single compact sentence with the core action front-loaded and a useful parenthetical clarification. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with full schema coverage and annotations covering safety, the description is enough to invoke it. However, it omits sibling routing and behavioral details like persistence or overwrite semantics, leaving it minimally complete rather than rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the optional document target and the variables object with examples of numbers in mm and string expressions. The description adds no parameter-level detail beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb pair ("Create or update") and a specific resource ("global variables"), and parenthetically clarifies that these are the parameters driving the design. It does not explicitly distinguish itself from nearby siblings like sw_add_equation or sw_set_dimension, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "parameters that drive the design" gives implied context for when to use it, but there is no explicit when-to-use, when-not-to-use, or comparison against alternatives such as sw_add_equation. Usage is inferable but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_sheet_metal_baseA
Sheet-metal part from a sketch: closed profile = flat plate, open profile (L/U/Z/hat) = bent part with bends at every corner. Then sw_export_flat_pattern gives the DXF for laser cutting.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| depth | No | Extrusion depth for open profiles. | |
| relief | No | rectangular | |
| sketch | Yes | Closed profile = flat tab; open profile = bent channel. | |
| reverse | No | ||
| thickness | Yes | ||
| bend_radius | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it is a non-destructive write; the description adds real behavioral substance — that bends are placed at every corner for open profiles and that closed profiles stay flat. It still omits what the tool returns, whether an existing sheet-metal feature is replaced, and how bend_radius/relief affect the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first delivers the core behavior and the profile-mode distinction, the second points to the natural next step. Nothing is wasted and the essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a geometry-creating tool with 8 parameters, half of them undocumented, no output schema, and no mention of preconditions, the description leaves gaps an agent would have to guess at. Safety signaling is covered by annotations, but the parameter and result picture is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description has to carry weight, but it only elaborates on the sketch parameter (and largely restates what the schema already says: 'Closed profile = flat tab; open profile = bent channel'). Key parameters like relief, bend_radius, reverse, and depth are given no guidance in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (sheet-metal part) and its source (a sketch), and explains the two outcome modes: closed profile produces a flat plate, open profile produces a bent part. It is easy to distinguish from sw_export_flat_pattern, which it explicitly names as the downstream step, though the sibling sw_flat_pattern (unbending an existing part) is not contrasted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the closed-vs-open profile distinction, which tells the agent which kind of output a given sketch yields, and a follow-up tool is named. There is no explicit statement of prerequisites (an existing sketch/document must exist) or of when to prefer sw_flat_pattern or sw_extrude instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_shellB
Hollow out the part, leaving walls of the given thickness.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| outward | No | ||
| thickness | Yes | Wall thickness in mm. | |
| remove_face_points | Yes | Faces to open (remove). Empty = closed hollow. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, so the agent knows this mutates the model; the description adds the useful behavioral detail that the result is a wall of the given thickness. However, it says nothing about which document is affected, reversibility, or what happens when remove_face_points is non-empty versus empty (a distinction only the schema hints at).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with no waste, front-loading the operation and its outcome. Its efficiency is partly a function of being thin rather than dense with useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter geometry mutation with no output schema and only minimal annotations, the description is too sparse. It omits the document targeting, the inward/outward direction choice, and the open-face behavior, which are the decisions an agent must get right to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the schema carries most parameter meaning. The description reinforces only 'thickness' and adds nothing about 'outward' (the one parameter with no schema description) or about how remove_face_points interacts with the hollow result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource: "Hollow out the part, leaving walls of the given thickness" clearly names the shell operation and its geometric result. It is distinguishable from siblings like sw_thicken or sw_cut_extrude, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites (e.g. requires an open part document), and no routing to alternatives such as sw_thicken or sw_cut_extrude. The agent must infer the context entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_sketch_infoBRead-only
Segments, closed contours, dimensions and definition state of a sketch - check a profile before using it.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| sketch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description usefully discloses the return content (segments, contours, dimensions, definition state) in the absence of an output schema, but says nothing about failure modes, whether the sketch must be open for editing, or what 'definition state' means output-wise.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense line with no filler, and the return contents come before the usage hint. It borders on too terse — the fragmentary list style omits the connective information that would make it a complete sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema, the description does outline what comes back, which is the main thing an agent needs. It still leaves the required sketch identifier unexplained and gives no note on what happens if the sketch is ambiguous or not found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Coverage is 50%: 'doc' is documented in the schema, but the required 'sketch' parameter has no schema description and the tool description only alludes to 'a sketch' without explaining how to identify it (name format, ambiguity handling, active-sketch default). The description does not compensate for the gap on the one mandatory parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (a sketch) and enumerates exactly what is reported: segments, closed contours, dimensions, and definition state. The telegraphic phrasing has no explicit verb like 'inspect' or 'get', but the intent is unambiguous and distinguishable from siblings such as sw_list_dimensions or sw_list_entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Check a profile before using it' gives one concrete trigger — pre-flight validation of a sketch profile. It does not name alternatives (e.g., use sw_list_dimensions for dimensions only) or state when this tool is unnecessary, leaving the agent to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_sketch_patternA
Copy features to every point of a sketch (irregular hole layouts).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| sketch | Yes | Sketch whose points mark where copies go. | |
| features | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this creates something without deleting. The description adds that source features are 'copied' to sketch points, implying originals are preserved, but says nothing about what feature/result is created, whether it is editable later, or what happens if the sketch has zero points.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the operation front-loaded and the typical use case immediately after. Nothing redundant, though it is arguably too terse for a mutation tool rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters with mostly documented schema, no output schema, and annotations covering the safety profile, the description covers the core idea (copying features onto sketch points). What is missing—result type, behavior on failed/empty sketches—is modest for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%: doc, name and sketch all have descriptions, and only the 'features' array lacks one. The description's word 'features' partially maps to that parameter but adds no format, selection, or ordering guidance, so it does not compensate meaningfully beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (copy) and resource (features to sketch points) and parenthetically names the use case (irregular hole layouts). It does not explicitly contrast itself with the pattern siblings (sw_linear_pattern, sw_circular_pattern, sw_curve_pattern), so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '(irregular hole layouts)' implies when this pattern type is appropriate versus linear/circular patterns, but no sibling is named and no exclusion or prerequisite is stated. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_springB
Coil spring in one call (circle -> helix -> swept wire).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| pitch | Yes | ||
| plane | No | top | |
| center | No | ||
| clockwise | No | ||
| revolutions | Yes | ||
| coil_diameter | Yes | Mean coil diameter (mm). | |
| wire_diameter | Yes |
TDQS
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 known. The description adds the useful behavioral detail that the spring is built via a three-step construction (circle, helix, swept wire), which explains what geometry ends up in the model. It does not disclose whether it adds a feature to the tree, requires an open document, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the terseness contributes to the missing usage and parameter guidance rather than resolving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 9-parameter mutating geometry generator with no output schema and only a third of its parameters documented. The description does not cover the units/conventions (pitch in mm, center as a 2D point on the chosen plane), the plane options, or the resulting feature. Given the complexity, substantially more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: only doc and coil_diameter are documented, while pitch, wire_diameter, plane, center, clockwise and revolutions have no schema descriptions. The description text says nothing about any parameter, so it does not compensate for the gap – for example, the valid values for plane ('top' default is ambiguous) or the unit/meaning of pitch remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (a coil spring) and states it is produced in a single call, with the construction sequence 'circle -> helix -> swept wire' making the operation concrete. An agent can distinguish it from the low-level siblings sw_helix and sw_sweep because this is a composite one-shot generator. It stops short of saying explicitly that it creates a new feature in the model tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'circle -> helix -> swept wire' implies this should be preferred over manually chaining sw_create_sketch/sw_helix/sw_sweep, but no sibling is named and no condition for preferring it is stated. There is no guidance on preconditions (open document, active document) or when it would fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_static_studyA
Linear static stress analysis (SolidWorks Simulation): max von Mises stress, displacement, safety factor.
Set the material first (sw_set_material). Loads use faces picked by model points.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | MCP Static | |
| forces | No | Normal forces on faces. | |
| gravity | No | ||
| pressures | No | Pressures on faces. | |
| element_size | No | mm; default lets Simulation choose. | |
| mesh_quality | No | high | |
| fixed_face_points | Yes | Faces held fixed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false / destructiveHint=false, so the agent knows this mutates state without being destructive. The description adds that loads are specified via picked model points and what metrics come back, but omits that it presumably creates a named study (default 'MCP Static'), whether it saves to the document, and that running a solver is slow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose and outputs, with the prerequisite second. No filler; nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by enumerating the returned metrics. For an 8-parameter solver invocation the remaining gaps are output units and runtime/state-persistence caveats, both relatively minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 63%, so the baseline is 3. The description usefully clarifies that face_point values act as face pickers rather than load locations, which is genuine added meaning, but it says nothing about gravity, mesh_quality, element_size, or the study name parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('linear static stress analysis' in SolidWorks Simulation) and names the outputs returned (max von Mises stress, displacement, safety factor). This clearly distinguishes it from the geometry-listing and mass-property siblings, though it does not explicitly say so.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives a prerequisite and names the sibling that satisfies it ('Set the material first (sw_set_material)'), which is the key ordering constraint. It does not state when not to use it or what happens if the prerequisite is skipped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_statusARead-only
SolidWorks installed/running, release, open documents, and a warning if the geometry kernel looks broken.
Call this first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only, non-destructive behavior is already declared by annotations, so the bar is lower; the description still adds real content by disclosing the diagnostic payload, including a kernel-broken warning the agent would otherwise not anticipate. It does not say what happens when SolidWorks is absent (error vs. a false field), which is the main remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments with zero redundancy: the payload enumeration followed by the imperative. Every clause carries information an agent needs before invoking it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey return content, and it names four concrete result categories plus a failure signal—enough to call the tool and interpret the basics. What the fields look like when SolidWorks is not installed remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool applies. No parameter language is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates precisely what the tool reports—install/running state, release, open documents, and a geometry-kernel warning—which is far more specific than the bare name 'sw_status'. It does not, however, distinguish itself from overlapping siblings such as sw_health or sw_connect, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call this first' gives a clear, actionable ordering cue that most tool descriptions lack. It stops short of naming alternatives or exclusions (e.g., 'use sw_health for post-connect diagnostics'), so the when-not case is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_structural_memberB
Frame members from standard profiles along sketch segments, mitred at the corners (weldment).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| size | Yes | Size from sw_weldment_profiles, e.g. '20 x 20 x 2'. | |
| sketch | Yes | Layout sketch (usually 3D) whose segments become members. | |
| profile | Yes | 'square tube', 'pipe', 'angle iron', 'rectangular tube', ... | |
| rotation | No | Profile rotation about the member axis, degrees. | |
| standard | No | iso |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false, so the agent knows it mutates non-destructively. The description adds useful geometry behavior (segments become members, mitred at corners), but omits what document type is required, whether a weldment feature folder is created, and any cut-list side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with no filler, and the key resource (frame members) is front-loaded. It may be slightly over-compressed for a seven-parameter feature-creation tool, but every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich schema but no output schema and only minimal annotations, the description is adequate to identify the operation but thin on how the feature is created (sketch must be pre-built, members derive from segments, weldment document context). It leaves meaningful behavioral gaps for a modeling mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so the schema already documents doc, name, size, sketch, profile, and rotation. The description only echoes 'standard profiles' and 'sketch segments', adding no format or constraint detail (e.g. valid profile names, rotation effects) beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: creates frame members from standard profiles along sketch segments, mitred at corners, in a weldment context. This is clearly distinct from profile listing (sw_weldment_profiles) or cut list generation, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, and no named alternatives. The parenthetical '(weldment)' hints at the context, but an agent must infer that a layout sketch and a valid profile/size pair from sw_weldment_profiles are required before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_sweepB
Sweep along a path: tubes and pipes, frame rails, wiring, handles, springs.
| Name | Required | Description | Default |
|---|---|---|---|
| cut | No | Remove material along the path. | |
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| path | Yes | Path sketch (2D/3D) or helix, e.g. '3DSketch1'. | |
| guides | No | Optional guide curves. | |
| profile | No | Closed profile sketch crossing the path start. | |
| twist_angle | No | Twist along the path, degrees. | |
| wall_thickness | No | Hollow tube wall (mm). | |
| circle_diameter | No | Sweep a circle instead of a profile. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false, which says this mutates but does not destroy. The description adds nothing beyond the name: it doesn't say that a solid feature is added to the feature tree, what happens with cut=true versus a boss, or what failure conditions exist (non-intersecting profile, open path). For a 9-parameter modeling mutation, that is a significant behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence fragment with no filler; the operative verb and scope come first and the examples are compact. It is efficient, though the terseness leaves no room for any guidance, which the other dimensions already penalize.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With nine parameters, only hint-level annotations, and no output schema, the description should explain what the call produces (a named feature, tied to doc, with optional name) and the profile-versus-circle_diameter trade-off. The rich schema partly compensates for parameter knowledge, but the result and failure semantics an agent needs before invoking a modeling operation are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, including the interplay of profile vs. circle_diameter, wall_thickness, and cut. The description contributes no additional parameter semantics, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Sweep along a path') and grounds it with concrete example geometry (tubes, pipes, frame rails, wiring, handles, springs). An agent can distinguish this from sw_extrude or sw_revolve, though it never explicitly contrasts with the closest siblings sw_loft and sw_helix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The example list implies when the tool applies (constant cross-section geometry following a curve), but there is no explicit when-to-use vs. when-to-use-loft-or-helix guidance and no stated prerequisites such as 'the profile sketch must cross the path start'. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_thickenA
Turn a surface into a solid of given thickness (thin skins, shells from surface lofts).
| Name | Required | Description | Default |
|---|---|---|---|
| cut | No | ||
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| side | No | side1 | |
| surface | Yes | Surface feature name (e.g. a surface loft). | |
| thickness | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately reflects the tool's function (solidification of surfaces). Since the annotations explicitly state that the tool is neither read-only nor destructive, the description doesn't need to add safety context, achieving a standard score. It does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a highly effective single sentence. It is concise, uses appropriate technical language, and front-loads the core function of the tool without any unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex CAD operation, this definition is quite complete. It tells the agent precisely what transformation to expect (surface to solid) and the context of use (thin skins/shells). While parameter details for optional flags are missing, the core intent is captured perfectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description primarily focuses on the two required parameters, 'surface' and 'thickness,' giving them clear contextual meaning. Since schema coverage is only 50%, the description only needs to define the core transformation; it cannot effectively explain the semantics of the secondary optional parameters like 'cut' or 'side' without exceeding conciseness limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Turn a surface into a solid') and the primary input ('surface') and output ('solid of given thickness'). The parenthetical clarification helps define the scope within CAD, specifically referencing 'thin skins' and 'shells'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning specific geometries like 'surface lofts' and 'thin skins,' suggesting when this tool is more appropriate than simple extrusion. However, it does not explicitly state when *not* to use it or compare it against other specific siblings (e.g., `sw_extrude`) to create clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_threadB
A real modelled helical thread (printable bolts, nuts, caps) using the SolidWorks Thread feature.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| name | No | Optional name for the new feature. | |
| size | No | 'M8' or 'M8x1'; omit to use the cylinder diameter + pitch. | |
| pitch | No | Pitch when size is omitted. | |
| length | No | Thread length; default the whole face. | |
| method | No | cut | |
| internal | No | True for a threaded hole (tap), false for a shaft (die). | |
| face_point | Yes | A point on the cylindrical face (shaft or hole). | |
| start_point | No | Near the end where the thread starts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is not read-only and not destructive, so the safety profile is partly covered. The description adds that the result is a real modelled thread created with the SolidWorks Thread feature, but it does not disclose that it adds a feature to the document, modifies the body, or what happens on non-cylindrical faces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted words. It is appropriately sized for a short tool description, though it is a fragment rather than a full action statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter feature-creation tool with several thread-related siblings, the description is too thin: it does not explain selection relative to sw_cosmetic_thread, does not clarify the internal/external or cut/extrude modes, and does not describe the mutation behavior. The rich schema and annotations help, but they do not compensate for the missing routing guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (89%), so the schema already documents nearly all parameters. The description adds no parameter-specific meaning beyond the general use case. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and method: a real modelled helical thread using the SolidWorks Thread feature. It also gives concrete use cases (printable bolts, nuts, caps), which helps distinguish it from a purely cosmetic thread. The only gap is that it does not explicitly name the sibling alternative it contrasts with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'printable bolts, nuts, caps' implies intended use cases, and 'real modelled' hints at when to prefer this over a cosmetic thread. However, it does not explicitly say when not to use it or name alternatives such as sw_cosmetic_thread or sw_helix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_undoC
Undo the last operation(s).
| Name | Required | Description | Default |
|---|---|---|---|
| doc | No | Document title or path. Defaults to the active document. | |
| steps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so safety is covered; the description adds only that multiple operations can be reverted, matching the 'steps' parameter. It does not say whether undo is document-scoped, session-scoped, bounded by an undo history, or what happens when there is nothing to undo. With annotations carrying the safety profile, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero padding – nothing to trim. The terseness reflects under-specification rather than wasteful writing, which is penalised in the other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-mutating editing tool with no output schema and a partially documented schema, one sentence leaves key questions unanswered: the granularity of an 'operation' (feature, sketch edit, property change), behavior when the stack is empty, and whether the result is reported. More explanation is warranted here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'doc' is documented in the schema, but 'steps' has no description and its 1–20 bound and default of 1 appear only as raw constraints. The description's '(s)' hints that multiple steps are possible but never explains the cap, default, or whether undo can span documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Undo') plus resource ('the last operation(s)'), so the agent knows exactly what action is taken. It does not differentiate from neighbouring tools like sw_replay_journal or sw_delete_feature, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use undo versus alternatives such as sw_delete_feature, sw_replay_journal, or sw_set_suppression, and no stated preconditions (e.g., an open document with a non-empty undo stack). The agent must infer all routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sw_weldment_profilesCRead-only
Weldment profile library: standards, profile types and sizes.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | e.g. 'square tube' to list its sizes. | |
| standard | No | 'iso', 'ansi', 'DIN', ... | iso |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing further — it doesn't say whether results are a static bundled library vs. user profiles, or what the default 'iso' scope yields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded phrase with zero filler. However, its brevity is under-specification rather than precision — there is room for one routing sentence without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description is the only place to communicate return shape — whether listing standards, profile type names, or sizes for a given profile — and it does none of that. For a two-mode lookup tool (browse standards vs. list sizes for a profile), that gap matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented ('square tube' example, 'iso'/'ansi'/'DIN'). The description's mention of standards and profile types loosely mirrors the parameters but adds no syntax or behavioral detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource ('weldment profile library') and its facets (standards, profile types, sizes), but contains no verb — the agent must infer it lists/retrieves rather than creates or edits profiles. The resource is identifiable, yet the operation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no routing. Given siblings like sw_structural_member (which consumes weldment profiles) and sw_cut_list, the description never says this tool is the lookup step that precedes them, nor what to do without a profile name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
94 tool updates
v1.0.0- First observed
sw_activate_configuration - First observed
sw_add_configuration - First observed
sw_add_drawing_view - First observed
sw_add_equation - First observed
sw_add_mate - First observed
sw_assembly_mass - First observed
sw_batch_export - First observed
sw_bill_of_materials - First observed
sw_chamfer - First observed
sw_check_requirements - First observed
sw_circular_pattern - First observed
sw_clear_appearance - First observed
sw_close - First observed
sw_collapse - First observed
sw_combine - First observed
sw_connect - First observed
sw_cosmetic_thread - First observed
sw_create_3d_sketch - First observed
sw_create_axis - First observed
sw_create_drawing - First observed
sw_create_plane - First observed
sw_create_sketch - First observed
sw_curve_pattern - First observed
sw_cut_extrude - First observed
sw_cut_list - First observed
sw_delete_body - First observed
sw_delete_configuration - First observed
sw_delete_equation - First observed
sw_delete_feature - First observed
sw_draft - First observed
sw_explode - First observed
sw_export - First observed
sw_export_flat_pattern - First observed
sw_extrude - First observed
sw_fillet - First observed
sw_flat_pattern - First observed
sw_generate_fastener - First observed
sw_generate_fuselage - First observed
sw_generate_part - First observed
sw_generate_propeller - First observed
sw_generate_wing - First observed
sw_get_properties - First observed
sw_health - First observed
sw_helix - First observed
sw_hole - First observed
sw_hole_wizard - First observed
sw_insert_component - First observed
sw_insert_fastener - First observed
sw_interference - First observed
sw_journal - First observed
sw_linear_pattern - First observed
sw_list_bodies - First observed
sw_list_components - First observed
sw_list_configurations - First observed
sw_list_dimensions - First observed
sw_list_entities - First observed
sw_list_equations - First observed
sw_list_features - First observed
sw_loft - First observed
sw_mass_properties - First observed
sw_measure - First observed
sw_mirror - First observed
sw_move_copy_body - First observed
sw_new_document - First observed
sw_open - First observed
sw_planar_surface - First observed
sw_print_check - First observed
sw_rebuild - First observed
sw_rename_dimension - First observed
sw_replay_journal - First observed
sw_revolve - First observed
sw_rib - First observed
sw_save - First observed
sw_scale - First observed
sw_screenshot - First observed
sw_set_appearance - First observed
sw_set_dimension - First observed
sw_set_material - First observed
sw_set_properties - First observed
sw_set_suppression - First observed
sw_set_variables - First observed
sw_sheet_metal_base - First observed
sw_shell - First observed
sw_sketch_info - First observed
sw_sketch_pattern - First observed
sw_spring - First observed
sw_static_study - First observed
sw_status - First observed
sw_structural_member - First observed
sw_sweep - First observed
sw_thicken - First observed
sw_thread - First observed
sw_undo - First observed
sw_weldment_profiles
TDQS
Scored across 94 tools
Most tools have clearly distinct purposes, and descriptions often cross-reference related tools, such as sw_hole vs sw_hole_wizard or sw_thread vs sw_cosmetic_thread. A few convenience tools overlap with lower-level workflows, especially sw_generate_part vs the specific generators and sw_spring vs sw_helix plus sw_sweep, but these are largely resolvable from the descriptions.
All tools share the sw_ prefix and snake_case, with predictable verb_noun naming such as sw_create_sketch, sw_list_features, sw_set_dimension, and sw_delete_body. Noun-phrase tools like sw_bill_of_materials and sw_cut_list are still consistent with the server's naming style.
94 tools is far beyond a manageable surface for an agent, even for a broad CAD domain. The set is effectively a large feature catalogue, and many tools could be grouped or made discoverable through higher-level operations.
The surface covers sketches, features, assemblies, drawings, sheet metal, weldments, configurations, equations, simulation, and export with strong lifecycle coverage. Gaps remain around assembly component manipulation and mate management, such as listing/editing/deleting mates and moving or rotating components directly.
Maintenance
Related MCP Connectors
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
Exact-dimension geometry for AI agents: free STEP/STL files, dimension sheets, mating fit data.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to control a running SOLIDWORKS session through its COM API, with tools for sketching, feature creation, assemblies, and visual feedback via screenshots.22Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build, measure, verify, and correct parametric SolidWorks parts and assemblies locally via the COM API, supporting operations like sketching, extruding, modeling, dimensioning, material assignment, export, and assembly mating.MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to drive an already-running SOLIDWORKS session over its COM API, so it can build sketches, solid features, reference geometry, assemblies, mates, and engineering drawings, then inspect the result through topology listings, mass properties, measurements, and screenshots returned as images.1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents such as Claude to drive SolidWorks through its COM API using natural language, creating parts and assemblies, sketching geometry, and adding features without clicking menus. Also supports running arbitrary API scripts and verifying results through model reports, rendered views, interference checks, and exports.1MIT