SolidworksMCP-python
A Windows/SolidWorks MCP server for AI-assisted CAD automation, exposing 154 tools that let an MCP client create, inspect, modify, document, export, and batch-automate SolidWorks parts, assemblies, and drawings.
Model lifecycle: open, create, load, save, save-as, close, and pack-and-go parts/assemblies/drawings.
Sketching: create sketches and add lines, circles, rectangles, arcs, splines, centerlines, polygons, ellipses, constraints, dimensions, patterns, mirror, and offset.
Part/assembly modeling: extrude, revolve, cut-extrude, fillet, sweep, loft, insert components, add mates, set dimensions, and check interference.
Drawings: create drawing views, section/detail views, dimensions, notes, annotations, title blocks, sheet formats, auto-dimensioning, standards/compliance checks, and drawing analysis/reports.
Engineering analysis: mass properties, material properties, geometry analysis, and model/feature inspection.
Export/conversion: STEP, IGES, STL, PDF, DWG, images, batch export, and format conversion.
Automation: generate VBA code, record macros, batch-process files, manage design tables, execute workflows, create/apply templates, and optimize performance.
File/property management: get/set file properties, list features/configurations, manage file operations, and batch file operations.
Optional MCP client setup for Claude Desktop, Claude Code, VS Code, Cursor, and LM Studio, with mock mode and optional SolidWorks-as-Code session logging.
Integrates GitHub Copilot for goal clarification and family classification in the CAD assistant workflow, enabling AI-assisted design intent interpretation.
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., "@SolidworksMCP-pythoncreate a 3D model of a bracket with mounting holes"
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 CAD Assistant & MCP Server
Python MCP server for SolidWorks automation with 154 tools, plus an optional agent/prompt-testing layer for AI-assisted workflows.
See it work
Make a 100 x 50 x 10 mm AISI 1020 mounting plate with four M5 clearance holes, 10 mm in from each edge, and draw it fully dimensioned. Stack two of them 10 mm apart, check the result, and draw the assembly with a BOM.

The 58 tool calls an agent made from that prompt, run against SolidWorks 2026 through the same MCP tools a client calls, and recorded (sped up five times). Each result is checked against a hand calculation: the plate's volume and mass, the 10 mm gap and the BOM quantity. This is a replay of the calls, not a recorded model session.
Note: the demo is not perfect, and is not the most efficient way to get this result. The run pauses after each call so it can be read, and the calls are chosen to show what the tools can do: every sketch dimension is added one at a time, and the mate distance is stepped down only so the plates are seen coming together.
The walkthrough in the docs has the agent's plan and every call with its arguments. Run it yourself with the README demo; the calls are also in plate_stack_calls.json.
Sketch (24 calls):
create_sketchon Top; fouradd_linefor the 100 x 50 outline;add_circlefor each Ø5.5 hole;add_sketch_dimensionfor the 100, the 50, one Ø5.5 and each hole 10 mm from two edges;add_sketch_constraintmaking the other three holes equal;exit_sketchCheck and extrude:
check_sketch_fully_defined,create_extrusion10 mm (+49 049.7 mm³ read back)Material and check:
list_model_dimensions(finds the Ø5.5 by value),set_materialAISI 1020,verify_model(volume, mass 0.3875 kg, size, 1 feature, 1 body)Plate drawing:
generate_drawing_packagePS-01 (A3, four views, every model dimension laid out with no overlaps, notes, title block, PDF),auto_center_marksGD&T:
add_datum_tagA, B and C, thenadd_gtol⊕ Ø0.2 Ⓜ A|B|C on the Ø5.5Assembly:
insert_componenttwice,list_components,add_mateFront and Right coincident and Top planes 60 mm apart,set_dimensionstepping that distance down to 20 mm (10 calls),verify_model(2 parts, 3 mates, no interference; the stack measures 30 mm, so the gap is 10 mm)Assembly drawing:
set_custom_propertyMaterial,generate_drawing_packagePS-02 withinclude_bom(the BOM above the isometric: Demo Plate, QTY 2), then the same datums and position frame
Related MCP server: solidworks-mcp
Overview
Tried it? Tell us what worked and what didn't in a feedback issue. Reports from real setups decide what gets fixed next.
This project focuses on practical SolidWorks automation with an AI-friendly loop:
describe intent
generate a plan
execute MCP tools
inspect results
iterate
It includes:
core MCP runtime for SolidWorks tool execution
COM/VBA routing and adapter safety wrappers
tool coverage across modeling, sketching, drawing, analysis, export, automation, templates, and macros
optional agent orchestration/testing utilities under
src/solidworks_mcp/agents/
Demos
Each GIF is a live test driving SolidWorks 2026 through the MCP tools, with the call and its result captioned beneath. Click one to see what it checks, a prompt that asks for it, and its tool calls.
See every demo in the docs: what each one shows, its prompt, every tool call with its arguments (all 58 for the demo at the top), and how to run them yourself.
Supported Today
Windows + SolidWorks COM automation for the main CAD lifecycle.
Tested on SolidWorks 2026. Earlier versions may work but are untested; if you try one, please open an issue with what worked.
Modeling, sketching, drawing, analysis, export, automation, templates, and macro tools.
Not Yet / Simulated
Mock adapter output is simulated and should not be treated as engineering truth.
Live 3D viewport streaming in a UI.
Checkpoint-level interference validation.
Simple simulation and fluid workflows
Simple Topology Optimization via SimulationXpress etc.
Install
You need Windows 10 or 11 and SolidWorks (opened at least once). In PowerShell, install uv, then open a new PowerShell window and run setup:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uvx solidworks-mcp-python setupuv fetches Python 3.13 and the server from PyPI by itself; nothing to clone. The guided setup then:
finds your SolidWorks version and the MCP clients on your PC: Claude Desktop, Claude Code, VS Code, Cursor and LM Studio;
lets you pick which clients to connect;
starts the server once to check that it lists its tools (in mock mode, so SolidWorks isn't touched);
adds a
solidworksentry to each client you picked, then tells you what to restart.
Nothing needs a login or an API key, and the server runs only on your PC. Setup changes only the solidworks entry in each client's config. It backs the file up first and never shows or changes your other servers. Other entries that start this server the old way (run-mcp.ps1 and the like) are offered for removal, so tools don't load twice.
To check it worked: open SolidWorks, restart your client, and ask "What model is open in SolidWorks?"
The package is solidworks-mcp-python. uvx solidworks-mcp installs a different project. To work on the server itself, install from a clone. More fixes are in Troubleshooting.
Connect your client
Run setup again whenever you want to add a client:
uvx solidworks-mcp-python setupOption | What it does |
| Configure one client without the list. Repeat it for several ( |
| Show what would change, and change nothing. |
| Don't ask: configure every client found. |
| Take the |
| Remove older entries for this server without asking. |
| Configure mock mode, which answers without SolidWorks (for trying the tools). |
To set up a client by hand instead, each one runs uvx solidworks-mcp-python. If a client can't find uvx, use its full path, from (Get-Command uvx).Source.
Add this to claude_desktop_config.json, alongside anything already in it. Depending on how Claude Desktop was installed, the file is in one of:
%LOCALAPPDATA%\Claude-Data\claude_<id>\(current releases)%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\%APPDATA%\Claude\
{
"mcpServers": {
"solidworks": {
"command": "uvx",
"args": ["solidworks-mcp-python"]
}
}
}Quit Claude Desktop from the system tray (closing the window isn't enough) and reopen it. Settings > Developer should show solidworks as running.
claude mcp add --scope user solidworks -- uvx solidworks-mcp-pythonRun /mcp in a new session to check that solidworks is connected.
Add this to %APPDATA%\Code\User\mcp.json:
{
"servers": {
"solidworks": {
"type": "stdio",
"command": "uvx",
"args": ["solidworks-mcp-python"]
}
}
}Run MCP: List Servers from the Command Palette and start solidworks. Its output should end with Discovered 154 tools (the count grows as tools are added).
Add this to %USERPROFILE%\.lmstudio\mcp.json:
{
"mcpServers": {
"solidworks": {
"command": "uvx",
"args": ["solidworks-mcp-python"]
}
}
}Restart LM Studio and enable solidworks in the Program tab.
For mock mode, which needs no SolidWorks, use "args": ["solidworks-mcp-python", "--mock"]. Linux and WSL work for the docs, the tests and mock mode, but not for driving SolidWorks.
Set these in your client's env block for the server, or in the shell before starting it by hand. Every SOLIDWORKS_MCP_<FIELD> maps to the config field of the same name.
SolidWorks-as-Code session logging (off by default). Logs every adapter tool call to a local SQLite database, so a session can be replayed or exported as a runnable Python script (see docs/getting-started/solidworks-as-code.md).
Variable | Default | Meaning |
|
| Turn logging on. |
| (generated) | Session name to log under. If unset while logging is on, a |
|
| Override the database file. |
$env:SOLIDWORKS_MCP_SOC_LOGGING_ENABLED = "true"
$env:SOLIDWORKS_MCP_SOC_SESSION_ID = "my-bracket"
.\.venv\Scripts\solidworks-mcp.exe
# ...work in your MCP client...
.\.venv\Scripts\python.exe -m solidworks_mcp.agents.soc_exporter my-bracket my_bracket.pyIt works only with the circuit-breaker adapter wrapper (the default for real SolidWorks); the mock adapter does not log.
API docs index auto-refresh (on by default). The API-lookup tools (lookup_api_interface, lookup_api_method, find_related_api_members) and search_solidworks_api_help read a JSON index built by discover_solidworks_docs. When the index is older than the threshold, the next lookup rebuilds it.
Variable | Default | Meaning |
|
| Rebuild a stale index automatically. No-op without SolidWorks + win32com; a failed rebuild keeps serving the existing index. |
|
| Age after which the index counts as stale. |
Contributing
install.ps1 gives you an editable install, so code changes take effect the next time a client starts the server. For the development tools, install the extras:
.\.venv\Scripts\python.exe -m pip install -e ".[dev,test,docs]".\dev-commands.ps1 lists the common workflows:
dev-install: install or update the local dev environmentdev-test: run the standard test suite (the CI-safe subset)dev-test-full: run the full suite, including smoke and integration pathsdev-lintanddev-format: lint checks and formattingdev-docs-build,dev-docs-strictanddev-docs-audit: build the docs, build them failing on warnings, or write an audit report to.generated/docs
To mirror GitHub Actions CI locally (Ubuntu, the conda env from solidworks_mcp.yml, and make test), run .\scripts\run-ci-local.ps1. The first run builds the image; add -NoBuild to re-run tests without rebuilding.
Docs
Main docs site: https://andrewbartels1.github.io/SolidworksMCP-python/
Home/overview: docs/index.md
Key docs sections:
Getting Started: docs/getting-started
MCP Server Guide: docs/user-guide
Tool Catalog: docs/user-guide/tool-catalog
Agents and Skills: docs/agents
Planning/Roadmap: docs/planning
Direct links:
License
MIT License. See LICENSE.
Available Tools
154 toolsactivate_documentA
Switch which open document is the active one.
Matches the argument against open documents by title, full path, or
file name (case-insensitive), calls ActivateDoc3, and reads the
active document back to confirm the switch took.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Which document to activate. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral load. It discloses matching against title, full path, or file name, case-insensitive comparison, the underlying ActivateDoc3 call, and a read-back verification step, but omits failure modes such as no match or multiple matches.
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 well-structured sentences with the purpose front-loaded. The implementation detail in the second sentence directly supports correct invocation and no words are 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?
An output schema exists, so return values need not be explained. The description covers matching and confirmation but does not describe error behavior when no document matches or multiple documents match. Adequate but not exhaustive.
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 baseline is 3. The description adds case-insensitive matching and the accepted identifier forms, going slightly beyond the schema's 'Window title, full path, or bare file name'.
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 'Switch' plus resource 'open document' and target state 'active one', which distinguishes it from siblings like open_model, load_part, or list_open_documents. An agent can tell what the tool does without opening the schema.
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 alternatives named (e.g., list_open_documents or open_model), and no prerequisites. The description explains the mechanism but not the selection context versus sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_annotationB
Add an annotation such as a note, balloon, or surface symbol.
Places annotation text in a drawing with optional font size, leader attachment, and title-block style metadata fields.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not mention side effects, such as modifying the drawing, or requirements like having an open drawing. The phrase 'places annotation text in a drawing' implies a drawing context but is not explicit.
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 sentences efficiently front-load the purpose with examples. No redundant 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?
Given the nested input object with 12 parameters and an output schema, the description is adequate but thin. It does not explain the nested structure or relationship between positional parameters, though the schema fills in 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 100%, so the schema already documents each parameter. The description adds a high-level grouping (font size, leader, title-block fields) but no additional 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 clearly states it adds annotations like notes, balloons, or surface symbols, and mentions optional fields. However, it does not differentiate from sibling tools like add_note, which may cause ambiguity for an agent.
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 is provided on when to use this tool versus alternatives such as add_note or add_dimension. The description lacks any context about prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_arcB
Add an arc to the current sketch.
Creates a circular arc defined by center point, start point, and end point. Arcs are essential for creating rounded corners, curved transitions, and complex curved profiles in mechanical designs.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It fails to disclose preconditions (e.g., must have an active sketch), side effects, or error conditions. The description only states basic functionality without behavioral nuance.
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 brief with two sentences. The first sentence states the action, the second adds context. It is appropriately sized but includes some generic text ('essential for...') that is not strictly necessary.
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 mentions adding to the current sketch but omits important context such as the need for an active sketch, or what happens if no sketch exists. With an output schema present (as indicated), return values are not needed, but preconditions 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 description coverage is 100%, with all parameters fully described. The description adds no new semantic meaning beyond restating that the arc is defined by center, start, and end points, which aligns with 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 clearly states the verb 'add' and the resource 'arc to the current sketch', and defines the arc by center, start, and end points. It differentiates from siblings like add_line, add_circle, add_rectangle, and add_spline by specifying it creates circular arcs for curved profiles.
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 for rounded corners and curved transitions but does not explicitly state when to use versus alternatives like add_fillet or add_spline. No exclusion or when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_centerlineA
Add a centerline to the current sketch.
Creates a construction/reference line that serves as a centerline for symmetrical features, revolution axes, or construction geometry. Centerlines are non-geometric entities used for reference only.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that centerlines are non-geometric entities used for reference only, which is helpful. However, it does not describe behavioral traits like whether it modifies the existing sketch, if it requires an open sketch, or what happens on failure. The output schema exists but its content is not summarized.
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 concise with two sentences, front-loading the action. It avoids unnecessary words, but could include a brief note about prerequisites or returned values without becoming verbose. Still, it earns a 4 for being efficient and clear.
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 complexity of the input schema (multiple coordinate parameters) and the presence of an output schema, the description provides the core purpose and nature of the tool. However, it lacks context about the surrounding sketch environment, such as needing an active sketch or how the centerline interacts with other sketch geometry. This gap prevents a higher score.
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 the baseline is 3. The description does not add meaning beyond the schema; it does not explain how parameters like coordinates or the construction flag affect the centerline. The schema already describes each field adequately.
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 'Add a centerline to the current sketch' with a specific verb and resource. It also explains that centerlines are construction/reference lines for symmetrical features or revolution axes, distinguishing it from regular lines (add_line) and other sketch 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?
The description mentions usage as a centerline for symmetrical features and revolution axes, providing some context. However, it does not explicitly say when to use this tool versus alternatives like add_line or add_sketch_constraint, nor does it mention prerequisites (e.g., an active sketch).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_chamferB
Add an equal-distance chamfer to selected edges of the current model.
Chamfers the specified named edges with the given distance. Edge names use the SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty to chamfer all edges if the adapter supports it.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Distance and edge names. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It mentions adapter-support variability and the empty edge_names fallback, but omits that this mutates the model, requires an active document/selection, and how failures are handled; the detailed selection behavior lives only in the 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?
The purpose is front-loaded in the first sentence, and the whole description is two short paragraphs. The sentence 'Chamfers the specified named edges with the given distance' is largely redundant with the opening sentence, preventing a 5.
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?
An output schema exists, so return values need not be explained, and the input schema exhaustively covers edge selection mechanics. The description gives enough to identify the operation, though it could mention the fillet alternative; given the schema richness, 4 is appropriate.
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 baseline is 3. The description repeats the SolidWorks edge-name convention and empty-edge_names behavior already documented in rich detail by the schema, adding no new 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?
States a specific verb and resource: 'Add an equal-distance chamfer to selected edges of the current model.' It does not name or distinguish the obvious sibling add_fillet, 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 guidance on when to choose chamfer over add_fillet, nor any when-not-to-use condition. Only parameter-level advice ('leave edge_names empty to chamfer all edges') is given, which does not address tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_circleB
Add a circle to the current sketch.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the action, but does not reveal any consequences, required sketch state, or error 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?
Single sentence, front-loaded with action and resource. Every word earns its place; no 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 a simple circle creation tool with an output schema, the description is largely sufficient. It could mention coordinate system or units, but the schema already provides mm units.
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% with detailed parameter descriptions in the input schema. The tool description adds no additional parameter semantics, so baseline score of 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?
Description clearly states the tool adds a circle to the current sketch, with specific verb and resource. It distinguishes from sibling tools such as add_rectangle or add_line.
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 this tool versus alternatives (e.g., add_ellipse, add_arc). No mention of prerequisites like needing an active sketch or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_datum_tagB
Add a datum feature symbol (A, B, C, ...) on a drawing edge.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``label``, a point on the edge it marks (``attach_x_mm``/``attach_y_mm``) and where the tag goes (``x_mm``/``y_mm``), all on the sheet in mm. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Add' implies a mutation on a drawing, but the description does not disclose permission requirements, duplicate-label behavior, reversibility, or error 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 filler, clearly identifying the action, symbol type, label example, and drawing context.
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 presence of a complete schema and output schema means parameters and return values need less explanation. However, for a mutation tool with no annotations, the description is still thin on operational context and when-to-use 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 100%, so the nested input fields are already well documented. The description reinforces the datum letter and drawing-edge placement but adds no syntax or format 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?
The description gives a clear verb+resource: 'Add a datum feature symbol' on a drawing edge. It conveys the specific drawing-annotation purpose and label format, but it does not explicitly distinguish itself from nearby siblings such as add_gtol or add_note.
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 states the placement context ('on a drawing edge'), but provides no guidance on when to use this tool versus related drawing annotation tools, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_dimensionA
Add a dimension to the current drawing.
Creates dimensional annotations on drawing views including linear, radial, angular, and diameter dimensions. Essential for manufacturing specifications and quality control documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions 'current drawing' but fails to disclose prerequisites (e.g., active drawing view), side effects, or whether it can overwrite existing dimensions. Adequate but lacks depth.
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 efficient sentences with no fluff. Action verb first, examples immediately, purpose in last sentence. Front-loaded and scannable.
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?
Output schema exists, so return value explanation is unnecessary. Description covers purpose and types, but lacks prerequisites (e.g., active drawing view needed) and coordinate system context. Minor 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?
Input schema has 100% coverage with descriptions for all parameters. The description adds no new semantic value beyond listing dimension types, which are already in the schema. Baseline score 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 clearly states 'Add a dimension to the current drawing' with specific verb and resource, and lists types (linear, radial, angular, diameter), distinguishing it from sibling tools like auto_dimension_view or add_annotation.
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 for adding dimensions to drawings but does not explicitly state when to use versus alternatives (e.g., auto_dimension_view for automated placement, set_dimension for modifying existing). No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_drawing_viewA
Add, update, or remove a drawing view in an existing drawing.
Supports configuring the target drawing, view type, parent view, scale, and placement coordinates for common drawing view workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It mentions supported configurations but lacks details on operation behavior (e.g., prerequisites for update/remove) or return values. Adds some context but not exhaustive.
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 sentences, front-loaded with main purpose, then supporting details. No wasted words.
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?
Tool handles three operations with many parameters and has output schema, but description omits details on operation parameter, valid values, or how to identify views for update/remove. Somewhat incomplete given 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 100%, so baseline 3. Description lists key parameter groups but adds no meaning beyond schema. Does not explain relationships or constraints.
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 adds, updates, or removes drawing views, specifying the verb and resource. It distinguishes from siblings like create_section_view by covering general view management.
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 this tool versus alternatives like create_drawing_view or create_section_view. The description only states what it does, not use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_ellipseA
Add an ellipse to the current sketch.
Creates an elliptical entity with specified center and major/minor axes. Ellipses are useful for creating oval holes, ergonomic profiles, and complex curved features in mechanical and industrial design.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It discloses the action (add to current sketch) but omits details like error handling, return value, or behavior when sketch is not active. 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?
Three sentences: action, entity description, use cases. Front-loaded with purpose, no wasted words. Each sentence adds value.
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 output schema present but not described, and no parameter details, the description is adequate for a simple tool but lacks return format and input structure. Could be more 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 provides vague description for input_data. Description adds meaning by mentioning center and axes, but does not explain how to structure the input object. Partially compensates for schema weakness.
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 verb 'Add' and resource 'ellipse', specifying it creates an elliptical entity with center and axes. It distinguishes from sibling sketch tools like add_circle by naming ellipse-specific attributes.
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 for oval shapes but lacks explicit when-to-use guidance, prerequisites (e.g., active sketch), or exclusions compared to other sketch tools. No mention of alternatives or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_filletA
Add a fillet (rounded edge) to selected edges of the current model.
Rounds the specified named edges with the given radius. Edge names use the SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty to fillet all edges if the adapter supports it.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Radius and edge names. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add useful behavior context — the adapter-capability caveat and the fallback to filleting all edges — but it never states that this mutates the model irreversibly, whether it requires an open document, or how failure surfaces.
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 paragraphs, front-loaded with the operation and followed by the edge-naming note; nothing is padding. The sentence about leaving edge_names empty is somewhat redundant with the far more detailed schema 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?
With an output schema present and full schema-level parameter documentation, the description supplies enough to call the tool correctly. The main remaining gap is mutation/reversibility semantics, which matter for an unannotated modeling operation.
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 nested edge_names field already documents naming conventions, coordinate hints, and face selection in detail. The description's mention of the 'Edge<1>' convention and the empty-list case repeats what the schema already provides, 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?
States a specific verb and resource (add a fillet to selected edges of the current model) plus what a fillet is for clarity. It does not differentiate itself from the sibling add_chamfer, which is the natural competing operation, 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?
It says edge_names may be left empty to fillet all edges 'if the adapter supports it', which is conditional usage context, but there is no guidance on when to choose this tool over add_chamfer or when filleting is inappropriate. The rich selection-strategy guidance (face: vs coordinate vs live selection) lives in the schema rather than the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_gtol
Add a GD&T feature control frame, e.g. position Ø0.2 (M) to A|B|C.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``characteristic`` (position, flatness, perpendicularity, ...), ``tolerance``, ``diameter_zone``, ``material_condition``, up to three ``datums``, and what it is on: a drawing dimension (``dimension_view`` + ``dimension_name``; the frame sits under its text - the usual place for a hole's position tolerance), or ``x_mm``/``y_mm`` on the sheet with an optional leader to the edge at ``attach_x_mm``/``attach_y_mm``. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
add_lineC
Add a line to the current sketch.
Adds a line segment between two points in the active sketch. Lines are fundamental sketch entities used for creating profiles, construction geometry, and complex shapes.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of behavioral disclosure. It states that a line is added but does not mention side effects, prerequisites (e.g., an active sketch), or important flags like 'construction' from the input 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?
The description is concise with two front-loaded sentences. It efficiently conveys the core purpose without unnecessary elaboration.
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 adequate for a simple tool, given that an output schema exists and the input schema is detailed. However, it could be improved by mentioning that the line is added to the active sketch and clarifying the effect on sketch 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 description coverage is 100%, so the schema itself documents the parameters adequately. The description adds no additional meaning beyond what the schema provides, meeting baseline expectations.
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 adds a line to the current sketch and describes it as a line segment between two points. It distinguishes from siblings like add_circle or add_rectangle by specifying 'line' but does not explicitly differentiate from other sketch 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?
The description lacks any guidance on when to use this tool versus alternatives such as add_arc or add_spline. No prerequisites or contextual exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_mateA
Mate two components in the active assembly.
Positions components relative to one another — coincident planes to stack or align them, concentric to line up axes, distance to hold a gap.
Entities are selected by feature name, so only each component's reference planes and axes can be mated. Mating to a specific face or edge needs entity names this adapter cannot enumerate.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Components, entities and mate type. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses a genuinely important limitation: entities are selected by feature name, so only reference planes/axes can be mated and specific faces/edges cannot be enumerated by this adapter. That pre-empts a likely failure mode. It omits what happens on failure or any permission/rebuild side effects, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short paragraphs, front-loaded with the core action, then mate-type semantics, then the entity-selection caveat. No sentence is wasted and the most important constraint sits in its own paragraph.
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?
An output schema exists, so return values needn't be explained, and the description covers the key invocation constraint (entity naming). For a mutation tool with zero annotations it could say more about defaults or failure behavior, but it is complete enough to call the tool 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 description coverage is 100% and every field carries its own description plus defaults, so the schema already does the heavy lifting. The description adds conceptual meaning for coincident/concentric/distance but no syntax or value guidance beyond the schema, 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?
Opens with a specific verb+resource and scope ('Mate two components in the active assembly'), then enumerates the positioning behaviors (coincident, concentric, distance). An agent can distinguish this from sibling generators like generate_vba_assembly_mates without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the conditions for the mate types (stack/align planes, line up axes, hold a gap) and gives a clear constraint on which entities are selectable. It stops short of naming a sibling alternative or stating explicit when-not-to-use guidance, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_noteC
Add a note or annotation to the current drawing.
Creates text annotations, callouts, and notes on drawings for specifications, instructions, and additional manufacturing information. Essential for comprehensive technical documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors but only says 'Add a note'. It does not mention prerequisites like an active drawing, idempotency, or side effects. The phrase 'current drawing' is present but not explained.
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?
Description is two sentences with front-loaded action. It efficiently covers core purpose and types of notes, though 'note or annotation' is slightly redundant.
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 existence of an output schema and full parameter descriptions, the description is adequate but lacks details on leader attachment behavior or positioning context. It is complete enough for basic understanding but not comprehensive.
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 baseline is 3. The description adds no extra parameter-level detail beyond what the schema already provides, so it meets but does not exceed expectations.
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 it adds a note or annotation to the current drawing and lists use cases like text annotations and callouts. However, it does not differentiate from sibling tool 'add_annotation', which may overlap in functionality.
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 explicit guidance on when to use this tool versus alternatives like 'add_annotation' or 'add_dimension'. It only implies general use for technical documentation, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_polygonB
Add a regular polygon to the current sketch.
Creates a regular polygon with specified number of sides, center point, and circumscribed radius. Polygons are useful for creating hexagonal nuts, octagonal features, and other multi-sided geometric shapes.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the creation of a regular polygon with sides, center, and radius but does not disclose prerequisites (e.g., active sketch), error conditions, or side effects (e.g., overlapping geometry). The generic input schema 'input_data' leaves critical behavioral details unspecified.
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 concise with three short sentences. The first sentence immediately states the core action, making it front-loaded. No unnecessary words or verbose explanations are present.
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 adds a sketch entity, essential context is missing: the need for an active sketch, coordinate system for center point, and any constraints or behavior when the polygon is placed. The output schema exists but is not described, and the return value is not mentioned. The description leaves significant gaps for proper tool 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?
The input schema has one generic parameter 'input_data' with a vague description. The tool description partially compensates by naming 'number of sides, center point, and circumscribed radius,' but it does not specify the exact structure, types, or key names expected. With schema description coverage effectively very low, the description inadequately defines 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 clearly states the verb and resource: 'Add a regular polygon to the current sketch.' It distinguishes from sibling tools like add_line or add_circle by specifying polygon creation. The added examples (hexagonal nuts, octagonal features) reinforce the tool's purpose.
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 use when a regular polygon is needed but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites like having an active sketch. No exclusions or conditional contexts are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_rectangleB
Add a rectangle to the current sketch.
Creates a rectangular profile defined by two opposite corner points, automatically generating four connected line segments forming a closed rectangle suitable for extrusion or other 3D operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes that four line segments are automatically generated, forming a closed rectangle suitable for extrusion. However, lacks details about sketch activation requirements or error conditions. No annotations provided, so description carries burden but offers some useful 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?
Two concise paragraphs with key information front-loaded. No 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?
Lacks explicit mention of sketch activation requirement. Output schema exists, so return value documentation is not needed, but parameter aliases could be better explained.
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 baseline is 3. Description adds little beyond schema; does not clarify the alias parameter groups (x1,y1 vs corner1_x,corner1_y) or when to use each.
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 adds a rectangle to the current sketch, specifying it creates a closed profile from two opposite corner points. It distinguishes from sibling sketch tools like add_line or add_circle.
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 this tool over alternatives like add_polygon or add_centerline. No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_sketch_constraintA
Add a geometric constraint/relation between sketch entities.
Creates geometric relationships between sketch entities such as parallel, perpendicular, tangent, coincident, etc. Essential for creating fully defined, parametric sketches that maintain design intent.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the function without noting potential failures, prerequisites (e.g., active sketch), or whether it modifies existing constraints. This is insufficient for a mutation 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 concise sentences with no redundancy. The first sentence immediately states the core purpose, followed by examples and context. Every sentence adds value.
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 does not explain return values (though output schema exists), prerequisites (e.g., active sketch), or error conditions. For a geometric constraint tool in a CAD context, more context is expected for safe usage.
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%, already documenting all parameters. The description adds no new semantic details beyond listing relation types, which the schema already includes. Baseline score of 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 states the tool adds geometric constraints/relations between sketch entities, with specific examples (parallel, perpendicular, etc.). It distinguishes from sibling tools like add_sketch_dimension and sketch creation tools by focusing on constraints.
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 mentions it is essential for fully defined parametric sketches, which implies when to use. However, it does not explicitly state when not to use or mention alternatives, such as add_sketch_dimension for dimensions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_sketch_dimensionA
Add a dimension to sketch entities.
Creates dimensional constraints that control the size of sketch entities. Dimensions are essential for creating precise, parametric designs that can be easily modified and maintain manufacturing tolerances.
In live SolidWorks automation, sketch dimensions can otherwise trigger the interactive
Modify approval dialog. The adapter suppresses the relevant sketch-input preferences
for the automation session and uses the dedicated radial/diameter APIs for circles and
arcs so this tool remains non-interactive.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details the non-interactive behavior, suppression of sketch-input preferences, and use of dedicated APIs for circles/arcs. This provides significant insight beyond just 'add dimension'.
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 three paragraphs; the first is direct, the second adds motivational context, and the third explains technical behavior. Each paragraph adds value, though the second is somewhat generic. Overall efficient and 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?
Given the presence of an output schema (context indicates true) and the tool's complexity, the description adequately covers the core behavior and non-interactive nature. It could mention prerequisites (e.g., active sketch) but is sufficient for an AI 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?
Schema coverage is 100% with descriptions for all parameters. The description does not add independent parameter meaning beyond what the schema provides, 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 states the tool adds dimensions to sketch entities, creating dimensional constraints for precise parametric designs. It distinguishes from sibling tools like get_dimension, set_dimension, and add_dimension (drawing-dimension).
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 that the tool is non-interactive in automation by suppressing the Modify dialog, implying it should be used in automated workflows. However, it does not explicitly state when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_splineA
Add a spline curve to the current sketch.
Creates a smooth, free-form spline curve that passes through or near the specified control points. Splines are ideal for creating organic shapes, complex profiles, and smooth transitions in industrial design.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions the spline 'passes through or near' control points but does not state prerequisites (e.g., active sketch), side effects (e.g., sketch modification), or whether the operation is destructive. This is insufficient transparency.
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 two sentences: a clear first sentence stating the action, and a second sentence providing use-case context. No redundant or irrelevant 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?
Given the tool's complexity (nested objects, one parameter) and the presence of an output schema, the description covers purpose and usage adequately. It implicitly requires a current sketch but does not explicitly state prerequisites. Overall, reasonable completeness.
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 a description for the 'points' parameter. The tool's description adds that the spline 'passes through or near' the points, which provides additional behavioral meaning beyond the schema's 'List of spline control points with x, y coordinates.' Baseline 3 is appropriate with minor improvement.
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 'Add a spline curve to the current sketch' with a specific verb and resource. It distinguishes splines from other sketch tools (e.g., add_line, add_circle) by highlighting free-form curves for organic shapes, which is unique among 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 description provides clear context by stating splines are 'ideal for creating organic shapes, complex profiles, and smooth transitions.' However, it lacks explicit when-not-to-use guidance or direct comparison with alternative tools like add_line or add_arc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_drawing_annotationsC
Analyze drawing annotations and notes quality.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose behavioral traits such as whether the tool reads or modifies data, or what impact it has on the drawing state.
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?
Single sentence, no fluff, but could be slightly more structured. Adequately concise.
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?
Missing critical context such as whether a drawing must be open, what the output contains, or how to interpret results. The presence of an output schema is noted but not described.
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 extra meaning beyond the input schema, which covers all parameters. Baseline 3 is appropriate since schema coverage is 100%.
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 purpose with a specific verb 'analyze' and resource 'drawing annotations and notes quality'. It distinguishes from sibling tools like 'analyze_drawing_comprehensive' by focusing on annotations specifically.
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 this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or 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.
analyze_drawing_comprehensiveC
Handle analyze drawing comprehensive.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read/write nature, side effects, authentication needs, or performance impact. The analysis likely reads data, but this is not confirmed.
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 vague sentence that does not earn its place; it adds no information beyond the name. True conciseness should provide meaningful insight in minimal words.
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 complex nested input schema and the large set of sibling analysis tools, the description is severely incomplete. It lacks details on output, use cases, and differentiation from similar tools.
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% (all parameters have descriptions in the schema). The tool description adds no value beyond the schema, but per the rubric the baseline is 3 when coverage is high.
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 'Handle analyze drawing comprehensive' is a vague restatement of the tool name. It does not specify a concrete verb or resource, and fails to differentiate from sibling tools like analyze_drawing_dimensions or generate_drawing_report.
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 this tool versus the many similar sibling tools (e.g., analyze_drawing_views, check_drawing_standards). The description does not mention prerequisites, context, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_drawing_dimensionsB
Analyze dimensions in a SolidWorks drawing for consistency and completeness.
This tool performs detailed dimensional analysis including precision, tolerances, and completeness checking.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It indicates the tool performs analysis (likely read-only) but does not explicitly state whether it modifies anything, requires an open drawing, or has 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?
The description is two sentences, front-loaded with the core action, and every word adds value. No redundancy or 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?
Given the presence of an output schema, the description does not need to explain return values. However, it omits prerequisites (e.g., drawing must be open) and does not indicate if the tool is safe/read-only, which is important for a file-based tool with no annotations.
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 input schema has 100% description coverage, with each parameter already well-documented (e.g., check_precision: 'Check dimension precision consistency'). The description adds no further semantic value beyond restating the same concepts.
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 specifies the action ('Analyze dimensions') and resource ('SolidWorks drawing'), and mentions the scope ('consistency and completeness'). However, it does not explicitly distinguish this from sibling tools like 'analyze_drawing_comprehensive' or 'analyze_drawing_annotations', which may overlap.
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 is provided on when to use this tool versus alternatives (e.g., broader analysis tools). The description implies it is for dimensional analysis but does not give exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_drawing_viewsC
Analyze drawing views arrangement and quality.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It merely states 'analyze', which suggests a read operation, but does not confirm safety, side effects, or what the output entails. The existence of an output schema is not mentioned, and the description is insufficient for a tool with potential complexity.
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, focused sentence with no unnecessary words. It is efficient and front-loaded, but could benefit from slightly more detail without sacrificing conciseness.
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 complexity implied by the sibling set and the analysis task, the description is too vague. It does not specify what 'arrangement and quality' entails or how to structure the input. An output schema exists, but the description should still provide enough context for correct usage.
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 100% coverage for the single parameter 'input_data', describing it as 'The input data value.' The description adds no further meaning or constraints. Baseline 3 is appropriate since the schema already documents the parameter adequately.
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 (analyze) and the resource (drawing views) with specific aspects (arrangement and quality). However, it does not differentiate from similar sibling tools like analyze_drawing_comprehensive or analyze_drawing_dimensions, which may cause confusion.
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 is provided on when to use this tool versus the many sibling tools. There is no mention of context, prerequisites, or exclusion criteria, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_geometryC
Handle analyze geometry.
This tool provides various geometry analysis capabilities like curvature analysis, draft analysis, thickness analysis, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose whether the tool modifies the model, what it returns, or any prerequisites. Since no annotations are provided, the description carries the full burden but fails to mention behavioral traits such as side effects or required model state.
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 short but the first sentence is redundant with the tool name. It conveys the core purpose but lacks specific details that would make it more useful. It could be more informative without being longer.
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 performs analysis, the absence of output description (despite having an output schema) and lack of context about when analysis is valid or what prerequisites exist make it incomplete. The description does not compensate for these 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 coverage is 100% with descriptions for each parameter. The tool description repeats the analysis types already in the schema, adding no new meaning. Without additional param details, 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 specifies the tool's function: performing geometry analysis like curvature, draft, and thickness. It clearly states the resource (geometry) and action (analyze), but does not explicitly differentiate it from sibling analysis tools like calculate_mass_properties, though the specific analysis types are listed.
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 is given on when to use this tool versus alternatives. Sibling tools include other analysis and modeling functions, but the description lacks any indication of when geometry analysis is appropriate or when to prefer 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.
analyze_macroC
Analyze a macro for complexity, dependencies, and optimization opportunities.
This tool provides insights into macro structure and performance to help with optimization and maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It mentions providing insights into structure and performance but does not disclose whether the tool is read-only, requires specific permissions, or has side effects. The behavioral traits are vague.
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 sentences, no wasted words, front-loaded with the core purpose. Efficient and well-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?
Given the complexity (nested input schema, output schema, many siblings), the description is too generic. It does not explain output contents, analysis types, or depth options, leaving significant gaps for an agent to use the tool 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 100% with parameter descriptions in the schema itself. The description adds no additional meaning beyond 'analyze a macro', missing context on how to specify the macro (e.g., file path vs. content). Baseline score applies due to high 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 clearly states the tool analyzes macros for complexity, dependencies, and optimization, with a verb 'Analyze' and resource 'macro'. It distinguishes from siblings like 'optimize_macro' by focusing on analysis rather than modification, but does not explicitly name 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?
No guidance on when to use this tool versus siblings such as 'optimize_macro' or 'execute_macro'. The description implies analysis precedes optimization but provides no explicit context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_templateB
Apply a template to an existing SolidWorks model.
This tool applies saved template settings including properties, dimensions, and formatting to the target model.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool applies settings including properties, dimensions, and formatting, but does not disclose behavioral details like what happens with overwrite_existing=false, error handling on invalid paths, or whether the model is modified in-place. Adequate but lacks depth.
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 concise with two sentences. The first sentence front-loads the core action. No unnecessary words 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?
Given the complexity (mutation tool, no annotations, output schema present but unknown), the description is incomplete. It does not explain the return value, prerequisites (e.g., model must be loaded), or the default behavior of the overwrite_existing parameter. Important context is 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 description coverage is 100%, each parameter is described. The tool description adds general context ('saved template settings') but does not add specific meaning beyond what the schema already provides. Baseline score of 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 states 'Apply a template to an existing SolidWorks model' and lists the types of settings applied (properties, dimensions, formatting). It distinguishes from siblings like create_template and batch_apply_template by focusing on applying to an existing single model.
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 alternatives (e.g., batch_apply_template for multiple models). It does not mention prerequisites like the model needing to be open or that a template must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arrange_dimensionsA
Move drawing dimensions so nothing overlaps, then check the real result.
Dimensions go outside their views in rows (first 8 mm from the
outline, rows 7 mm apart, columns 9 mm apart), shortest span nearest
the view, each on the side its extension lines start from. One with no
room on that side stays put and is listed in unplaced. After moving
them it re-reads every dimension's real text box and lines and checks
the whole sheet: no text on text, no line through text, no line across
another view or across its own view, nothing on a view or outside the
sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``view_name`` to move only one view's dimensions; omit for every view. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so well: it discloses spacing rules, side selection, the unplaced fallback, and the exact verification criteria after moving. It still does not say whether the move is undoable or what permissions/state are required, leaving a small gap for a mutation 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?
The action is front-loaded in the first sentence, followed by compact layout rules and the validation criteria. The spacing details are dense but relevant to predicting behavior; a little pruning of parenthetical measurements could tighten it further.
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-rearranging tool with an output schema, the description covers the operation, placement rules, the unplaced edge case, and post-move validation. It lacks prerequisites such as requiring an active drawing or existing dimensions, but no critical invocation information is 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 100%, so the single optional view_name parameter is already fully documented. The description reinforces its scope (one view versus every view) and confirms the overlap check remains sheet-wide, but adds no syntax or format 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?
The description states a specific verb and resource ('Move drawing dimensions') and adds a verification pass ('then check the real result'). It clearly distinguishes itself from insertion tools like auto_dimension_view by describing rearrangement of existing dimensions, though it never names a sibling 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 use case is implied by 'so nothing overlaps' and the post-move sheet checks, but there is no explicit guidance on when to call this versus check_drawing_standards, auto_dimension_view, or analyze_drawing_dimensions. 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.
auto_center_marksA
Auto-insert centre marks on circular features in a drawing view.
Runs SolidWorks' automatic centre-mark insertion for the named view. The API does not report how many marks it added, so the response gives the view's centre-mark count before and after and the delta. A run that added nothing is still a success — the view may have no un-marked holes.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The view and which feature types to mark. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it does real work: it discloses that the API reports no count, that the response returns before/after centre-mark counts and the delta, and that a zero-delta run is still a success rather than an error. It stops short of noting that this mutates drawing data (relevant given the undo sibling) or any permission/document-state requirement.
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?
Front-loaded with the action in the first sentence, then uses the remaining lines only for non-obvious behavior (count reporting, zero-delta success). No sentence is filler and the important caveat is stated rather than 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?
An output schema exists, so return-value documentation is technically redundant, but the explicit before/after/delta explanation is a useful disambiguation of a non-obvious result shape. Combined with clear mutation intent, the definition is nearly complete; only document-state or permission prerequisites are unstated.
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 nested view_name, mark_holes, mark_slots and mark_fillets fields are already documented, including defaults. The description adds no syntax, format, or default information beyond the 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?
States a specific verb and resource: 'Auto-insert centre marks on circular features in a drawing view' and reinforces it with the implementation note about SolidWorks' automatic insertion for the named view. This is clearly distinguishable from siblings like auto_dimension_view, add_annotation, or auto_dimension_view without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the operation itself (call it when a drawing view needs centre marks), but the description never states when to prefer this over manual annotation tools such as add_annotation, nor any prerequisite like an active drawing document being open. No explicit alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_dimension_viewC
Automatically dimension a drawing view.
Analyzes drawing view geometry and automatically adds common dimensions including overall sizes, hole diameters, radii, and critical features. Accelerates drawing completion and ensures comprehensive dimensioning coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the tool adds dimensions automatically but lacks details on safety (non-destructive?), potential over-dimensioning, or side effects. The behavioral impact is only vaguely described.
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 concise with two sentences. The first sentence front-loads the main purpose, and the second adds detail. No unnecessary words 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?
Given that there is an output schema (mentioned in context), the description need not explain return values. However, it does not mention prerequisites (e.g., active drawing view) or what exactly 'input_data' should be. The tool is complex, so more context about the input and output would improve completeness.
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 only parameter 'input_data' is an untyped object with no specific properties defined. The description does not clarify what this input should contain (e.g., view reference, options). The schema description is vague ('The input data value.'), and the tool description adds no further meaning.
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 that the tool automatically dimensions a drawing view by analyzing geometry and adding common dimensions. It mentions specific dimension types (overall sizes, hole diameters, radii). However, it does not explicitly differentiate from similar sibling tools like 'add_dimension', which is for manual dimensioning.
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 is provided on when to use this tool vs alternatives, such as manual dimensioning or other automatic dimensioning tools. There is no mention of prerequisites, limitations, or best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
automation_start_macro_recordingC
Start recording a macro in SolidWorks.
Begins macro recording to capture user actions and generate reusable automation scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description should disclose behavioral traits such as side effects (e.g., UI changes), permissions required, or that recording will capture subsequent user actions. The description only mentions capturing actions and generating scripts, which is minimal.
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 concise with two sentences, front-loading the main purpose. However, it could be more structured by adding key behavioral details without adding length.
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 output schema exists, return values are not needed, but the tool has a nested input object with many parameters. The description does not explain how to use these parameters or that recording must be stopped later (e.g., via 'automation_stop_macro_recording').
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 baseline is 3. The description does not add meaning beyond the schema; it does not mention any parameters or their purposes.
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 explicitly states the tool starts macro recording in SolidWorks to capture user actions and generate scripts. However, it does not differentiate from the sibling tool 'start_macro_recording', which likely serves the same purpose.
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 is provided on when to use this tool versus alternatives like 'start_macro_recording' or when recording is appropriate. The description lacks context on prerequisites or usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
automation_stop_macro_recordingA
Stop recording the current macro.
This tool stops the active macro recording and saves the recorded actions as a VBA macro.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool stops and saves but does not cover edge cases like no active recording or error handling. No annotations exist to compensate.
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 two concise sentences, front-loading the core action, with no unnecessary details.
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 an output schema, the description omits what the tool returns and how to structure input_data, leaving gaps for an agent to understand full usage.
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 only parameter input_data has a generic schema description, and the tool description adds no extra meaning beyond 'input data value', leaving its purpose unclear.
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 stops recording the current macro and saves actions as VBA, distinguishing it from siblings like start_macro_recording or execute_macro.
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 after starting a recording but does not explicitly state when to use it, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_apply_templateA
Apply template to multiple models in batch.
This tool processes multiple SolidWorks files and applies the same template configuration to all matching files.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states that the tool applies the same template configuration to all matching files, but omits key details like whether it overwrites existing settings, requires permissions, or if the backup option (in schema) is automatic. More context on mutation behavior 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?
The description is two sentences long, front-loaded with the primary action, and contains no redundant information. Every sentence 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?
Given the existence of an output schema and high schema coverage, the description conveys the core purpose but lacks details about the batch process behavior, such as what happens to existing configurations or error handling. For a batch operation, more context would benefit the AI 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?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond the schema; it only mentions 'template configuration' without elaborating on the parameters. The nested input_data structure is not explained further.
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 applies a template to multiple models in batch, specifying it processes SolidWorks files. This distinguishes it from the sibling tool 'apply_template' which likely operates on single files, providing a clear verb+resource+scope.
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 batch usage but does not explicitly contrast with 'apply_template' or provide when-to-use/when-not-to-use guidance. The context of 'batch' suggests multiple files, but no direct comparison or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_execute_macrosB
Handle batch execute macros.
This tool allows running multiple macros in sequence or parallel for complex automated workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It only mentions execution order (sequence or parallel) but fails to disclose other behavioral traits such as error handling, file modifications, or prerequisites. The description is too minimal.
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 two sentences long, front-loaded with the tool's core function. The first sentence is somewhat redundant but not harmful. Overall, it is concise and avoids unnecessary elaboration.
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 complexity (nested input, output schema exists) and no annotations, the description is adequate but minimal. It explains the batch execution concept but does not detail the workflow context or error behavior. The output schema may cover return values, so completeness is sufficient.
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 baseline is 3. The description does not add any meaning beyond the schema for the parameters like macro_list, stop_on_error, or execution_order. It merely states the overall capability.
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 purpose: 'running multiple macros in sequence or parallel for complex automated workflows.' It uses specific verbs ('run') and a resource ('multiple macros'), and it distinguishes itself from the sibling 'execute_macro' by specifying batch execution.
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 explicit guidance on when to use this tool versus alternatives like 'execute_macro' or other macro tools. It only implies use for 'complex automated workflows' without any exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_exportA
Batch export multiple SolidWorks files to a target format.
Processes entire directories of SolidWorks files and converts them to specified target formats. Essential for project migrations, supplier deliverables, and large-scale format conversions.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it processes directories and converts files, but does not disclose whether it modifies originals, handles errors, or requires permissions. Basic behavioral traits are implied but not fully detailed.
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 three sentences, front-loaded with the core action. It is efficient but could be slightly tighter by removing 'Essential for...' which is not strictly necessary.
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 complexity (batch operation with nested parameters) and presence of an output schema, the description adequately covers the main purpose. However, it lacks details on output behavior, error handling, and directory structure preservation, 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 coverage is 100%, so baseline is 3. The description mentions directories and target format but adds no specific parameter details beyond what the schema already provides (e.g., recursive, format_type, file_patterns).
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 does batch export of multiple SolidWorks files to a target format, mentioning processing entire directories. This distinguishes it from single-file export tools like export_step or export_pdf, as it emphasizes batch and directory-level 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 description provides usage context: project migrations, supplier deliverables, and large-scale conversions. It implies use when handling multiple files, but does not explicitly state when not to use or compare to alternatives like batch_process_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_file_operationsB
Run a file operation across multiple files as a batch workflow.
Intended for repetitive file management tasks such as copying, moving, renaming, or deleting groups of SolidWorks documents.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description states the tool performs file operations but fails to disclose behavioral traits like destructiveness, reversibility, permissions, or error handling. For a mutation tool handling delete/rename, this is a significant 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 sentences, front-loaded with the core action and purpose. Every sentence adds value without redundancy 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?
Despite an output schema, the description lacks essential context for a batch operation tool: no mention of file selection, error behavior, prerequisites, or scope limitations. Leaves the agent guessing about execution 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?
Input schema has 100% description coverage for all properties. The main description adds no additional parameter meaning beyond listing example operations, meeting the baseline of 3.
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?
Description clearly states the tool runs file operations across multiple files as a batch workflow, listing specific operations (copy, move, rename, delete) and target documents (SolidWorks). This distinguishes it from siblings like batch_export or batch_process_files.
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?
Description mentions intended use for repetitive file management tasks and gives examples, but lacks explicit guidance on when not to use or alternatives. Usage is implied rather than clearly bounded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_process_filesC
Handle batch process files.
This tool processes multiple files in a directory, performing operations like rebuild, save as, export, or property updates.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions types of operations but does not disclose potential side effects, authorization needs, error behavior, or result format. Minimal transparency.
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 sentences; first is generic but second adds specifics. Efficient use of words, but could be more front-loaded with key details like file types and supported operations.
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?
Complex tool with one nested parameter containing multiple fields. No mention of output, error handling, or expected behavior per operation. Output schema exists but description doesn't leverage it. Incomplete for agent 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 coverage is 100% with parameter descriptions. Description lists operation types but adds no meaning beyond what 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?
Description clearly states it processes multiple files in a directory with operations like rebuild, save as, export, or property updates. This distinguishes it from sibling tools like batch_export, but could be more specific about SolidWorks file 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?
No explicit guidance when to use this tool vs alternatives like batch_export or batch_file_operations. Implied by name and description, but no contrasts or preconditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_mass_propertiesB
Get mass properties of the current SolidWorks model.
Calculates and returns comprehensive mass properties for the active model including volume, surface area, mass, center of mass, and moments of inertia. Essential for engineering analysis, weight calculations, and structural design.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It claims to 'calculate and return' mass properties but does not disclose whether the tool modifies the model, requires an active document, or any error conditions. The read-only nature is implied but not explicit.
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 concise with two sentences, front-loaded with the main purpose. It efficiently states what the tool does and why it's useful, though it could be more precise about inputs and the specific output 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?
Given that the tool has a nested input parameter and an output schema, the description provides a reasonable overview of outputs. However, it lacks details on the 'current model' requirement, the input structure, and differentiation from the sibling 'get_mass_properties'.
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 input schema has 100% documentation coverage on all properties, so the baseline is 3. The description adds no additional meaning to the parameters; it merely lists output properties. No parameter names or semantics are elaborated 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 clearly states 'Get mass properties of the current SolidWorks model' and lists the specific properties computed (volume, surface area, mass, center of mass, moments of inertia). However, it does not differentiate from the sibling tool 'get_mass_properties' which has a very similar purpose.
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 mentions it is 'essential for engineering analysis, weight calculations, and structural design,' providing some context. However, it lacks explicit guidance on when to use this tool versus alternatives, such as the similarly named sibling 'get_mass_properties', and does not state any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_drawing_complianceC
Check drawing compliance with company standards.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. The minimal text does not reveal if the tool modifies files, requires a model to be open, what the output contains, or any side effects. This is insufficient for trustful agent invocation.
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 excessively concise (one sentence) at the expense of informativeness. It fails to provide essential details that would justify its length. A few more sentences could significantly improve clarity without making it verbose.
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 nested input schema and presence of an output schema, the description is too sparse. It does not explain what compliance checks are performed, expected inputs format, or output structure. With no annotations, the description must compensate but does not.
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 baseline is 3. The description adds no additional meaning beyond the schema; it does not explain parameter roles or provide examples. However, the schema already documents parameters adequately, so no deduction.
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 'Check drawing compliance with company standards' indicates a verb and resource but lacks specificity. It doesn't mention which standards or what aspects of compliance are checked, and fails to distinguish from sibling tools like 'check_drawing_standards' and 'analyze_drawing_comprehensive'.
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 is provided on when to use this tool versus alternatives. The description does not specify prerequisites, context, or exclusions, leaving the agent without decision-making support among similar drawing analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_drawing_standardsB
Check the current drawing against drafting standards.
Validates drawing compliance with industry drafting standards including ANSI Y14.5, ISO 128, and DIN standards. Identifies non-compliance issues and provides recommendations for improvement.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only says it validates and provides recommendations. It does not disclose whether the tool modifies the drawing, requires certain permissions, or has any 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?
The description is two paragraphs but contains redundancy (the first sentence restates the name) and could be more concise while still covering key details.
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 does not explain the output format (e.g., list of issues, pass/fail) despite an output schema existing, leaving the agent uncertain about what to expect after calling 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 only parameter 'input_data' has a vague schema description ('The input data value'), and the tool description does not clarify what content or format is expected, only mentioning the 'current drawing' in context.
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 'Check the current drawing against drafting standards' and lists specific standards (ANSI, ISO, DIN), providing a specific verb and resource that distinguishes it from general validation 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?
The description implies it is used for compliance checking but does not explicitly differentiate from sibling tools like 'check_drawing_compliance' or 'validate_drawing_completeness', nor does it state 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.
check_interferenceA
Check for interference between components in an assembly.
Analyzes specified components for geometric interference (overlapping volumes) and provides detailed interference detection results. Critical for assembly validation and identifying design conflicts before manufacturing.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it provides detailed interference detection results, but since no annotations exist, it should also mention read-only nature or any side effects. It does not cover performance or modification aspects, leaving some ambiguity.
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 concise with two short sentences. The first sentence states the action, and the second provides context. No unnecessary words.
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 nested object parameters and presence of an output schema, the description covers the purpose and importance. It is nearly complete, though could mention the output schema briefly. Still, it provides sufficient context 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?
Schema description coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond what the schema already provides for each 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?
Clearly states the tool checks for geometric interference between components in an assembly, a specific and distinct action among many siblings. The description makes it immediately evident what the tool does.
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 mentions it is critical for assembly validation and design conflict identification, providing context for when to use. However, it does not explicitly state when not to use or compare with alternatives like analyze_geometry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_sketch_fully_definedB
Check whether a sketch is fully defined.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | Optional sketch selector. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the check action but does not mention whether it is read-only (though implied), what happens if the sketch does not exist, or any potential 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?
The description is a single sentence with no superfluous words. It is concise and front-loaded with the essential 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?
Given the tool's simplicity (one optional parameter, likely boolean output), the description is mostly adequate. However, it omits explicit mention of return value or error scenarios, though the presence of an output schema mitigates this. Some context like requiring an active sketch is only in the schema, not the 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 coverage is 100% with the parameter description already detailed in the input schema (e.g., 'Optional sketch name. If omitted, checks the active or last sketch.'). The tool description adds no additional parameter information, but the schema suffices, yielding a baseline score of 3.
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 'Check whether a sketch is fully defined' uses a specific verb and resource, clearly stating the tool's function. However, it does not differentiate from sibling tools like 'check_drawing_compliance' or 'check_interference', but the context of sketches is unique enough.
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 usage guidance is provided. The description lacks information on when to use this tool versus alternatives, prerequisites (e.g., sketch must exist), or conditions under which it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_feature_treeA
Classify the active model into a feature family from model-info and tree data.
This is a read-before-write helper for delegation. It summarizes whether the current document looks like a direct-MCP solid, sheet metal workflow, advanced VBA-backed part, assembly, drawing, or an insufficient-evidence case.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description indicates the tool is a 'read-before-write helper', strongly implying no side effects. It describes the inputs (model-info and tree data) and output (classification). Missing details on error handling, but overall clear behavioral intent.
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 concise sentences. The first states the core action, the second elaborates on the output categories and context. Every sentence adds value with no 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?
With a known output schema and 100% parameter coverage, the description adequately covers purpose, inputs, and output categories. The 'read-before-write' context is valuable. Missing a brief note on the output format, but the output schema likely covers that.
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 the description need not elaborate on parameters. It mentions using 'model-info and tree data', which aligns with the parameters, but adds no additional semantic nuance 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 uses the specific verb 'classify' and clearly identifies the resource as the 'active model' and output as a 'feature family'. It lists the possible classification categories, distinguishing this tool from all sibling tools, none of which perform classification.
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 explicitly states 'This is a read-before-write helper for delegation', giving clear guidance on when to use it (before writing, for delegation). As the only classification tool, no alternative is needed, and the context is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_modelA
Close the current SolidWorks model.
Closes the currently active SolidWorks document with an option to save changes before closing. This is essential for proper model lifecycle management and preventing data loss.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It doesn't specify what happens when save=false with unsaved changes (e.g., discard or prompt), nor if it closes just the document or the application.
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 concise with two sentences, front-loaded with the action. Every sentence adds value.
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 mostly complete for a simple tool, but missing behavioral details about unsaved changes when save=false. However, an output schema exists (not shown) so return value explanation is not 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?
The schema covers 100% of parameters, so baseline 3. The description adds no new meaning beyond stating the save option, which is already in 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 clearly states the tool closes the active SolidWorks model, with a specific verb and resource. It distinguishes from sibling tools like open_model and save_file.
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 for model lifecycle management and data loss prevention, but does not explicitly state when to use versus alternatives like saving and then closing separately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_drawing_versionsC
Compare different versions of drawing files.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does not specify whether the tool is read-only or modifies files, what side effects exist, or what the comparison output format is. This lack of transparency is a significant 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?
The description is a single concise sentence without wasted words. However, it is too brief to provide adequate guidance, so it balances conciseness with 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?
Despite having an output schema and nested objects, the description does not explain the return value or the expected input structure. Given the tool's complexity (comparing versions), the description leaves too many gaps for an agent to use it effectively.
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 input schema has 100% description coverage, but the parameter 'input_data' is described generically as 'The input data value.' The tool description does not add meaning about what data should be provided (e.g., version identifiers, file paths). Thus, it fails to compensate for the generic 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 'Compare different versions of drawing files' clearly states the action (compare) and the resource (drawing file versions). It distinguishes itself from sibling tools, none of which focus on version comparison.
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 alternatives, nor any prerequisites or context for use. It is a standalone statement without any usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_templatesB
Compare two templates and generate difference report.
This tool analyzes differences between templates to help understand variations in formatting and properties.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states it compares and generates a report, but does not mention destructive potential, permissions, side effects, or output format. The report generation is vague.
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 sentences with the core action clear. The second sentence is somewhat redundant ('analyzes differences' rephrases 'compare'), but overall concise.
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 an output schema (not shown), the description lacks details about the output report, file format, or how templates are referenced. It does not explain the difference between comparison types or when to use this tool versus its 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 100% with brief descriptions for each sub-parameter. The tool description adds no additional meaning or context beyond what the schema already provides. No explanation of parameter interactions.
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 compares two templates and generates a difference report. It specifies the resource (templates) and action (compare, generate report). Among siblings, there is no other template comparison tool, so it distinguishes well.
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 is provided on when to use this tool versus alternatives, such as compare_drawing_versions. It does not mention prerequisites, context, or 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.
convert_file_formatB
Convert a SolidWorks file from one format to another.
Supports exporting source files to target formats such as STEP, IGES, STL, PDF, or other adapter-supported conversion outputs.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only mentions 'exporting source files' but omits details like side effects (e.g., file overwriting), permission requirements, or whether the operation is a read or write. This is insufficient for safe agent decision-making.
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 sentences, front-loaded with purpose ('Convert a SolidWorks file from one format to another'), no filler. Efficient and easy to parse.
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 output schema existing, the description lacks context about required sub-parameters (source_file, target_format) and optional ones like units and quality. For a tool with nested parameters and no annotations, this is insufficiently 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 coverage is 100% with descriptions for all parameters, so description adds no extra meaning beyond schema. Baseline of 3 is appropriate as the schema already documents each parameter adequately.
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?
Description clearly states 'Convert a SolidWorks file from one format to another' and lists supported formats (STEP, IGES, STL, PDF). This distinguishes it from sibling export tools that target a single format, making the purpose specific and 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?
No guidance on when to use this tool versus sibling export tools like export_step or export_iges. The description does not specify prerequisites or scenarios where this generalized conversion is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_assemblyB
Create a new SolidWorks assembly document.
Creates a new SolidWorks assembly document from template (a .asmdot path) or,
without one, the default assembly template. The new assembly becomes the active
document and is ready for component insertion, mating, and assembly-level operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses two side effects: the document becomes the active document, and an unspecified default template is used when none is passed. It says nothing about whether anything is written to disk, whether name is a filename/path, what happens on an invalid template path, or whether the call fails when the template is missing.
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 with the core action front-loaded. The final clause about component insertion and mating is the weakest part but still conveys the post-creation state, so it broadly 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?
An output schema exists so return values need not be described, and the schema is fully documented. However, the tool takes a nested input object with a `components` field that the description entirely ignores, leaving the agent unsure whether to supply components at creation time or call insert_component afterward.
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 already explains that name is the assembly name and template is an .asmdot path defaulting to the SolidWorks default, so the description adds no new parameter detail. Notably it never addresses the `components` array, and its "ready for component insertion" phrasing creates ambiguity about whether components are inserted at creation or afterwards.
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?
Opens with a specific verb + resource ("Create a new SolidWorks assembly document"), which cleanly separates it from create_part, create_drawing, and load_assembly among the siblings. It does not name those siblings explicitly, so the differentiation is inferable 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 description implies the usage flow ("ready for component insertion, mating, and assembly-level operations") and explains the template-or-default choice, but never states when an agent should call this versus load_assembly (open existing) or create_part. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_axisB
Create a reference axis along a principal direction.
Builds an axis from the intersection of two built-in planes: x from Top + Front, y from Front + Right, z from Top + Right.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The principal direction ('x', 'y' or 'z'). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does add real value by disclosing the construction method ('intersection of two built-in planes'), but it omits the mutation profile of a creation tool, side effects, and any document/permission prerequisites, leaving notable 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?
The core action is front-loaded in the first sentence, with a compact second sentence supporting it. The plane-intersection detail earns its place, though the parenthetical mapping could be tighter.
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?
An output schema exists, so return values need no explanation, and the single parameter is fully covered by the schema. What remains missing is usage context and prerequisites for a document-mutating creation tool, so it is adequate but not 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 documents 'reference' as 'x', 'y' or 'z' with case-insensitivity and +/- stripping. The description adds the geometric derivation for each direction, which is context but not parameter clarification beyond the 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?
States a specific verb and resource ('Create a reference axis') plus the scope ('along a principal direction'), which is enough to distinguish it from create_reference_plane and create_reference_point in the sibling list. However, it never names those siblings explicitly, so differentiation is inferred 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?
There is no when-to-use or when-not-to-use guidance, no statement of prerequisites (e.g. an open document is required), and no routing to alternatives like create_reference_plane. The description only explains what the tool does, not when an agent should pick it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_cut_extrudeA
Cut material from a sketch profile in the active model.
Creates a Cut-Extrude feature (Insert > Cut > Extrude). Use this after exit_sketch when you want to remove material — e.g. to create windows, holes, slots, or any through/blind cut in an existing solid body.
Sketch selection is never a silent guess: pass sketch_name
explicitly whenever you're not certain which sketch this should act
on (e.g. more than one sketch could be unconsumed, or other tool
calls ran in between). If omitted, only the sketch most recently
created/exited in this same session is used, and only when it still
exists in the model — there is no further fallback. Any ambiguity or
mismatch is reported back as an error naming the sketch(es) actually
found in the model, rather than cutting the wrong profile.
Direction: a one-way cut (Blind or ThroughAll) goes along the sketch
plane's normal. From a sketch on a face, or on a plane that touches
the body only on one side (e.g. a Top Plane sketch under a block
extruded up from it), that can point away from the material. The
tool then cuts the other way and returns
cut_extrude.direction_flipped: true, so you don't need to guess
reverse_direction. For a sketch on a plane through the middle of
the body, use ThroughAllBoth (or ThroughAll with
both_directions) to cut both sides.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Depth, direction, draft, and optional sketch_name parameters. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and mostly succeeds: it discloses the automatic direction-flip behavior and the direction_flipped reply flag, the sketch fallback rule and its error-reporting behavior, and the both-directions cut semantics. It omits preconditions such as requiring an active part document with an existing solid body, or what state a failed cut leaves behind.
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?
Purpose is front-loaded in the first sentence, followed by usage, sketch-selection, and direction sections that each earn their place. The direction and sketch paragraphs are long and partly restate the schema's sketch_name text, so it is efficient rather than tight.
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 annotations and a nested schema, the description covers the tricky parts an agent would otherwise get wrong: direction ambiguity, sketch resolution, and through-all variants. An output schema exists so return values needn't be detailed, and the mentions of direction_flipped are appropriate. Missing preconditions (active document, existing solid body) keep it from 5.
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 baseline is 3, but the description genuinely adds meaning: it explains why sketch_name should be passed explicitly, what happens when it is omitted, and how reverse_direction/end_condition/both_directions interact (including that reverse_direction is usually unnecessary). That is real guidance beyond the field-level descriptions.
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 ('Cut material from a sketch profile', 'Creates a Cut-Extrude feature') and anchors it to the SolidWorks UI path (Insert > Cut > Extrude). The contrast with adding material ('remove material') implicitly separates it from the sibling create_extrusion, so an agent can pick it without opening a schema.
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 clear when-to-use context: after exit_sketch, to remove material, with concrete examples (windows, holes, slots, through/blind cuts). It also gives an explicit when-to-pass-sketch_name rule. It does not explicitly name create_extrusion as the alternative when the goal is to add rather than remove material, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_detail_viewA
Create a detail view of a specific area.
Generates magnified detail views of specific regions to show fine features, tight tolerances, and intricate geometry that requires enhanced visibility for manufacturing and inspection.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It describes the intended outcome (magnified view) but does not detail side effects, error behavior, or requirements (e.g., existing drawing or view). The description 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 extremely concise with two sentences. It proceeds in natural order: noun phrase of purpose, then elaboration. Every sentence adds value without extraneous content.
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 output schema exists and schema coverage is 100%, the description is sufficient for a straightforward creation tool. However, it could be improved with usage guidelines or behavioral notes. Still, it's largely complete for the tool's 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 description coverage is 100%, and the description does not add meaning beyond the parameter names and types. The parameter descriptions in the schema already explain each field (e.g., center_x, radius). Baseline 3 is appropriate since no additional semantic context is provided.
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 purpose: 'Create a detail view of a specific area' and explains it generates magnified detail views for manufacturing and inspection. This verb+resource combination distinguishes it from sibling tools like create_drawing_view or create_section_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?
The description implies usage for creating detail views of specific areas, but lacks explicit guidance on when to use this vs alternatives like create_section_view or add_drawing_view. No when-not-to-use or prerequisite conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_drawingB
Create a new SolidWorks drawing document.
This tool creates a new drawing document from template (a .drwdot path) or,
without one, the default drawing template. The new drawing will become the active
document.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It does disclose two genuinely useful behaviors: the template fallback to the SolidWorks default, and the side effect that the new drawing becomes the active document. It does not say what happens to the previously active document, whether an existing name collides or errors, where the file is written, or whether it is saved to disk at 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?
Two tight sentences, front-loaded with the core action, and no filler. Minor redundancy between 'Create a new SolidWorks drawing document' and 'This tool creates a new drawing document from...' but it is not wasteful enough to penalize further.
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?
An output schema exists and parameter documentation is complete, so return values and inputs are covered. What remains thin is the surrounding context for a creation tool with zero annotations: session prerequisites, file-location/save semantics, and behavior on name collisions are all 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 each nested property is already documented; the description only restates the template semantics. It adds nothing about model_path or sheet_format, and nothing about what 'name' actually controls (document title vs. filename). Baseline 3 applies when the schema does the explaining.
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 ('Create a new SolidWorks drawing document') and clarifies it is a whole document, not a view, which meaningfully separates it from siblings like create_drawing_view, add_drawing_view and create_technical_drawing. It never names those siblings explicitly, so the differentiation is inferential 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 text explains how the template parameter resolves but never says when to reach for this tool versus create_part/create_assembly/create_technical_drawing, nor any prerequisites (SolidWorks session running, existing document state). An agent must infer the usage scenario from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_drawing_viewB
Create a drawing view of a SolidWorks model.
Creates technical drawing views including orthographic projections, isometric views, section views, and detail views from 3D models. Essential for generating production drawings and technical documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states what the tool does ('creates') but does not mention prerequisites (e.g., an open drawing), side effects, permissions, or error 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 description is concise with two sentences, front-loading the main action. It could be slightly more structured but avoids unnecessary 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?
While an output schema exists (not shown), the description lacks information about prerequisites (e.g., a drawing document must be active), orientation specifics beyond the parameter list, and potential issues like view placement overlaps. This leaves gaps for a tool with many parameters and nested objects.
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 input schema covers all parameters with descriptions (100% coverage). The description adds value by enumerating view types, which aligns with the view_type parameter, but does not provide additional semantic context beyond what the schema already offers.
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 it creates drawing views and lists types like orthographic, isometric, section, and detail. This distinguishes it from general modeling tools, but it does not explicitly differentiate from specialized siblings like create_section_view or create_detail_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?
The description implies usage for generating production drawings, but it does not specify when not to use it or explicitly mention alternative tools. Given many sibling tools for specific view types, this omission reduces clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_extrusionC
Create an extrusion feature from the active sketch.
Creates a 3D extrusion feature (boss or cut) from the currently active 2D sketch. Supports advanced options like draft angles, thin features, bidirectional extrusion, and various end conditions for professional modeling workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states it creates an extrusion with advanced options. It does not disclose behaviors such as whether it modifies existing geometry, error conditions if no sketch is active, or if the operation is reversible. With no annotations, more transparency 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?
The description is brief with two sentences, front-loading the main purpose. It could be slightly more concise but is well-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?
Given the complexity and many parameters, the description is adequate but lacks explanation of the overall workflow, prerequisites, and return value despite an output schema existing.
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 the schema already documents all parameters. The description only lists parameter categories without adding new meaning beyond what the schema 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 clearly states the tool creates an extrusion feature from an active sketch, specifying both boss and cut options. However, it does not distinguish itself from the sibling tool create_cut_extrude, which could cause confusion.
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 is provided on when to use this tool vs alternatives (e.g., create_cut_extrude). It does not mention prerequisites like having an active sketch or when to choose boss vs cut.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_loftA
Loft a solid between two or more profile sketches.
Creates a lofted boss/protrusion (Insert > Boss/Base > Loft) blending the listed profile sketches in order. Each profile must be a closed contour. Optional guide curves shape the transition between profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Profile names, optional guide curves, and tangency/merge options. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that each profile must be a closed contour and that guide curves are optional, but does not explain other behavioral aspects like error handling, effect of merge_result, or what happens with invalid inputs. Some important details are missing.
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 three sentences, front-loaded with the main purpose. It is concise, but the inclusion of the menu path 'Insert > Boss/Base > Loft' is somewhat redundant for an AI agent. Overall efficient with no 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 complexity of a loft operation and the nested schema with five parameters, the description covers the main purpose and the closed-contour constraint but omits details about other parameters like merge_result, start_tangent, and end_tangent. The output schema is present (not shown) but does not compensate for these 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 coverage is 100%, so baseline is 3. The description adds value by stating 'Each profile must be a closed contour', which is a constraint not in the schema, and clarifies that guide curves shape the transition. However, it does not elaborate on other parameters like merge_result or tangent conditions.
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 'Loft a solid between two or more profile sketches' and 'Creates a lofted boss/protrusion', using a specific verb and resource. It distinguishes from sibling tools like create_extrusion, create_revolve, etc., by emphasizing multiple profiles and optional guide curves.
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 for blending profiles but provides no explicit guidance on when to use this tool versus alternatives (e.g., when not to use it). It does not mention exclusions or provide comparisons to sibling tools like create_extrusion or create_sweep.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_macro_libraryA
Create a library of organized macros for team sharing and reuse.
This tool sets up a structured macro library with categorization, documentation, and version control.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool creates a structured library with categorization and version control, but does not disclose side effects (e.g., overwriting existing libraries), required permissions, or whether the operation is reversible. The description offers moderate behavioral insight but misses important details.
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 concise: two sentences that front-load the core purpose and then elaborate on features. Every sentence adds value without 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?
The tool has one parameter with a loose schema and an output schema (not shown). The description explains what the tool does but does not clarify how the input_data should be structured or how the output is used. Given the tool's potential complexity (creating a library with version control), the description could provide more guidance on input formatting or examples, leaving a notable completeness 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?
The input schema has one parameter 'input_data' with a generic description 'The input data value.' and allows additional properties. The tool description adds context about categorization, documentation, and version control, implying what the input might contain, but does not specify the expected structure or provide examples. Since schema coverage is 100% (though vague), the description adds marginal value.
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 creates a 'library of organized macros for team sharing and reuse' and elaborates on features like categorization, documentation, and version control. This distinctly specifies the verb (create) and resource (macro library), effectively differentiating it from sibling tools like execute_macro or optimize_macro.
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 for team sharing and reuse but lacks explicit guidance on when to use this tool versus alternatives like start_macro_recording or batch_execute_macros. It does not state prerequisites, conditions, or exclusions, leaving room for interpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_partA
Create a new SolidWorks part document.
Creates a new SolidWorks part document from template (a .prtdot path) or,
without one, the default part template. The new part becomes the active document
and is ready for modeling operations such as sketch creation and feature addition.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It usefully states that the new part becomes the active document and is ready for modeling, and that template omission falls back to the SolidWorks default, but it does not describe persistence behavior, naming conflicts, permissions, or error 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 description is short and front-loaded with the core action. It has slight redundancy between the first sentence and the opening of the second sentence, but no significant 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 simple document-creation tool with a rich schema and an output schema, the description covers the essential behavior: template source, default fallback, and that the created part becomes active. It could do more on file persistence and failure modes, but the key invocation context is 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 description coverage is 100%, so the schema already documents name, units, material, and template. The description adds some context for the template parameter, including the .prtdot format and default fallback, but it does not explain the other nested parameters beyond what the schema 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: 'Create a new SolidWorks part document.' It also clarifies that the part can come from a template or the default template, which distinguishes it from sibling creation tools like create_assembly and create_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?
The description implies this tool is for starting a new part document, especially before modeling operations such as sketching and feature addition. However, it does not explicitly compare against alternatives such as load_part, open_model, or create_assembly, so routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_reference_planeA
Create a reference plane offset from an existing plane or planar face.
Adds a new plane to the feature tree, parallel to and offset from the
named reference. The returned plane name can be passed straight to
create_sketch to sketch anywhere other than the six built-in
planes.
Angled planes are not supported by this tool: an angled plane needs a
second reference (an axis or edge) to rotate about, which this
signature cannot take. Use offset for parallel planes. An
offset of zero is rejected — a plane coincident with its
reference is not useful.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Reference name, offset, angle and flip. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose key behavior: it adds a feature to the tree, its returned name feeds create_sketch, angled planes error, and zero offset is rejected. It does not cover failure modes, permissions, or mutation reversibility, but for a feature-creation tool with an output schema the coverage is strong.
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?
Front-loaded with the core action, then downstream usage, then explicit exclusions. Every sentence earns its place by adding a constraint or a routing hint rather than restating the 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?
An output schema exists so return values need not be explained, and the description covers purpose, downstream integration, and both limitations. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the nested parameters (reference, offset, angle, flip) are already documented in the schema, including the same zero-offset and angled-plane caveats. The description therefore duplicates rather than adds; baseline 3 is correct.
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 ('Create a reference plane offset from an existing plane or planar face') and distinguishes itself from siblings like create_axis and create_reference_point by its offset-from-reference behavior. The agent can tell what it produces and from what input without opening the schema.
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 names the alternative ('Use offset for parallel planes') and the excluded case ('Angled planes are not supported... needs a second reference this tool cannot take'), plus a hard precondition (offset of zero is rejected). It also ties the output to a downstream tool (create_sketch). This is as close to when/when-not/alternatives as a tool description gets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_reference_pointA
Create a reference point on the active part.
Two modes:
along_curve— a point on the edge under(x, y, z)mm, placeddistancemm from the edge start, or atpercent(0–100) of its length. Give exactly one ofdistance/percent.face_center— a point at the centroid of the face under(x, y, z)mm.
The coordinate must lie on the target edge/face; SolidWorks resolves
it with a coordinate pick. InsertReferencePoint always returns a
feature, so success is confirmed by the feature tree growing.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Mode, coordinate, and the along-curve parameter. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden and does materially: it discloses that the coordinate is resolved by a SolidWorks coordinate pick and that InsertReferencePoint always returns a feature, so success is confirmed by the feature tree growing. It stops short of covering failure modes or required document state.
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?
Front-loaded with the core action, then cleanly organized by mode; every sentence earns its place. The closing note about InsertReferencePoint is slightly at odds with the existence of an output schema but still conveys useful success-signal context.
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 nested-object tool with an output schema present, the description covers mode semantics, coordinate requirements and the success signal. Minor gaps remain around preconditions (active document/part must be loaded) and failure 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 already 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema: the mutual exclusivity of distance/percent and the rule that the coordinate must lie on the referenced edge/face.
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 reference point on the active part') and then unpacks it into the two distinct modes (along_curve, face_center), which cleanly differentiates it from siblings like create_reference_plane and create_axis.
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 clear mode-selection rules and an explicit constraint ('Give exactly one of distance / percent') plus the requirement that the coordinate lie on the target edge/face. It lacks an explicit statement of when to prefer this tool over create_reference_plane/create_axis, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_revolveB
Create a revolve feature from the active sketch.
Creates a 3D revolve feature by rotating the active 2D sketch profile around a specified axis of revolution. Supports full and partial revolves, thin features, and bidirectional revolution for comprehensive rotational modeling.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It describes basic functionality but does not disclose side effects, prerequisites, error handling, or whether the operation is destructive or reversible. The presence of additionalProperties: true on the input object is not explained.
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 sentences with a clear front-loaded action statement followed by a concise list of supported capabilities. Every word adds value; no redundancy or 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?
Given the tool's complexity (multiple parameters, output schema present), the description covers core capabilities well. It mentions key features (thin, bidirectional) but omits prerequisites like requirement for an active sketch and axis entity. Still informative enough for basic understanding.
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 has 100% description coverage, so baseline is 3. The description adds overarching context about revolution but does not elaborate on individual parameters beyond what the schema already provides. No new meaning added for parameters like direction, merge_result, or thin_thickness.
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?
Description clearly states the tool creates a revolve feature from an active sketch, using a specific verb and resource. It distinguishes from other feature creation tools like extrusion or sweep by naming the operation and detailing supported variations (full/partial, thin features, bidirectional).
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 explicit guidance on when to use revolve versus alternatives like extrusion or sweep. Only implicit context that it requires an active sketch. Lacks comparison to sibling tools or conditions under which revolve is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_section_viewC
Create a section view of the current drawing.
Generates section views that show internal features by cutting through the part along a specified section line. Essential for revealing hidden geometry, internal structures, and complex assemblies.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It states the tool generates a section view but omits whether it modifies the drawing, requires an active document, or has side effects. The behavioral transparency is minimal.
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 consists of three sentences. The first is concise, but the second and third are somewhat redundant and could be merged. It is adequately sized but not tightly written.
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 lacks completeness. It does not mention prerequisites (e.g., an active drawing), the effect on the document, or return values (though output schema exists). Given the complexity of the tool, important context is 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 100%, and the description adds no parameter-level details beyond the schema. The baseline of 3 is appropriate as the description does not enhance understanding of the parameters.
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 'Create a section view of the current drawing', specifying the verb and resource. It explains the purpose (revealing hidden geometry) but does not explicitly differentiate from sibling tools like create_drawing_view or create_detail_view beyond the tool name.
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 is provided on when to use this tool versus alternatives such as create_detail_view or create_drawing_view. The description does not mention preconditions (e.g., an active drawing) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sketchA
Create a new sketch on the specified plane.
Creates a new sketch on a reference plane and enters sketch edit mode. This is the first step for creating any 2D geometry that will be used for 3D features like extrusions, revolves, or sweeps.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions entering sketch edit mode but does not disclose if it auto-exits any existing sketch or other 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?
Two concise sentences with clear purpose and usage context. No unnecessary 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 simple tool with one parameter and an output schema, the description is mostly complete. It could mention what the tool returns or error conditions.
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 parameter descriptions are clear. The description does not add significant meaning beyond what the schema 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 clearly states it creates a sketch on a specified plane and enters edit mode. It distinguishes from sibling tools like add_line or add_circle which operate within a sketch.
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 it's the first step before adding 2D geometry, but does not explicitly state when not to use it or mention alternatives like using an existing sketch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sweepA
Sweep the active profile sketch along a named path sketch.
Creates a swept boss/protrusion (Insert > Boss/Base > Sweep). Requires
two sketches in the active part: a closed profile sketch and an open
path sketch named by path. The profile is inferred as the sketch
that is not the path (in the usual "draw profile, draw path, sweep"
flow this is unambiguous). Optionally applies a constant twist along
the path.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Path name and twist/merge options. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states that the tool creates a swept boss (a mutation) but does not disclose error conditions, effect on existing geometry, or undo behavior. The mention of optional twist is helpful but insufficient.
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 five sentences, front-loaded with the main action. Every sentence provides necessary information without 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?
Given the output schema exists, return values need not be explained. The description covers core requirements (two sketches, active part) but could expand on error cases or when the inference might fail.
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 the baseline is 3. The description adds context about the path being a named sketch and profile inference, which adds value beyond the schema descriptions.
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 creates a swept boss/protrusion by sweeping a profile sketch along a path. It uses specific verbs and resources, and the context of siblings like 'create_loft' and 'create_extrusion' distinguishes it well.
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 requires two sketches (closed profile and open path) and explains how the profile is inferred. It doesn't list alternatives or when not to use, but the prerequisites are clearly communicated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_technical_drawingB
Create a technical drawing from a SolidWorks part or assembly.
Supports selecting a template, output path, sheet format, scale, and optional auto- population of standard views for documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions creation from a part/assembly and supported options but fails to state whether the model file is required, what happens if not provided, or any error conditions. The behavior regarding active document vs. explicit file is unclear.
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 consists of two concise sentences, with the main action front-loaded. No unnecessary words or repetitions. Efficiently communicates core 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?
Given the complexity of nested parameters and presence of an output schema, the description is adequate but lacks important context, such as how the model_file parameter interacts with the active document. Also, no comparison with sibling tools like 'create_drawing' is provided.
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 descriptions for each sub-parameter. The description adds a high-level summary of selectable parameters (template, output path, etc.), but does not provide deeper semantic context beyond what the schema already conveys.
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 creates a technical drawing from a SolidWorks part or assembly, listing supported options. However, it does not explicitly differentiate from the sibling 'create_drawing', which may have overlapping functionality, causing potential confusion.
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 like 'create_drawing', 'create_drawing_view', or other drawing-related tools. The description does not specify prerequisites (e.g., model must be open) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_templateC
Create a SolidWorks template file.
This tool creates templates for parts, assemblies, or drawings with standardized settings, materials, and configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral details. It mentions 'standardized settings, materials, and configurations' but does not cover side effects like overwriting, permissions, or error 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?
Two sentences with no fluff. The first sentence gives the primary purpose, the second elaborates on content. Efficient but lacks structure for a complex nested 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 tool with a nested input object and many parameters, the description is too minimal. It does not explain the usage of input_data or how parameters relate, and relies on schema descriptions for completeness.
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% (all parameters have descriptions), so baseline is 3. The description adds context about what the template includes, matching parameters like include_materials, but does not explain individual parameters in 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?
The description clearly states it creates a SolidWorks template file, with verb and resource specified. However, it does not explicitly differentiate from sibling tools like extract_template or apply_template, which are similar 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?
No guidance is provided on when to use this tool vs alternatives, nor any prerequisites or context for usage. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_featureA
Delete a feature or sketch from the active model.
Deleting a parent feature also removes everything that depends on it — SolidWorks' normal cascade — so the response lists every feature that went, not just the one named.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The feature to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose a critical behavioral trait: deleting a parent feature cascades to all dependents. It also notes that the response lists every removed feature. However, it omits whether the deletion is reversible (e.g., via undo), which is important for a destructive 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?
Two tightly written sentences, front-loaded with the core action and followed by the cascade consequence. Every sentence earns its place with no wasted wording.
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 presence of an output schema, the description needn't explain return values, though it helpfully notes the response lists all deleted features. It covers the essential cascade behavior but could be more complete by mentioning undoability or prerequisites for a destructive tool with no annotations.
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 parameter is well documented with examples. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline of 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 ('Delete') and resource ('feature or sketch from the active model'), making it clearly distinct from siblings like suppress_feature or rename_feature. It stops short of explicitly naming alternatives or contrasting behaviors, so it's clear but not maximally differentiating.
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 this tool versus alternatives such as suppress_feature, which also removes a feature from view but does not delete it. The description simply says what it does without helping the agent choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_solidworks_docsA
Discover and index SolidWorks COM and VBA documentation.
Creates a searchable index of all available COM objects, methods, properties, and VBA libraries for the installed SolidWorks version. Useful for building context for intelligent MCP tool selection and documentation queries.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | The input data value. Defaults to None. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the tool creates a searchable index of documentation, implying a read-only operation. However, it fails to explicitly state that the tool does not modify any SolidWorks files or require special permissions. The behavioral traits are partially disclosed but could be more precise.
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 short (two sentences) and front-loads the core action. It is efficient and contains no redundant information. However, the second sentence could be integrated into the first to reduce length slightly, but it is not overly verbose.
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 a moderate complexity: one parameter with three sub-fields and an output schema (not shown in description, but context signals indicate existence). The description covers the main purpose and output (searchable index) without detailing return values—but that gap is mitigated by the output schema. Given the available structured information, the description is sufficiently complete for an agent to decide when to use 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?
Schema description coverage is 100%, and each parameter in the input schema (year, output_dir, include_vba) already has clear descriptions. The tool description does not add any extra meaning or usage hints beyond what the schema provides. Therefore, it meets the baseline but does not exceed it.
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 strong action verbs ('Discover and index') and specifies the resource ('SolidWorks COM and VBA documentation'). It clearly states the outcome ('creates a searchable index') and the utility ('building context for intelligent MCP tool selection'). This distinguishes it well from sibling tools that focus on modeling, drawing, or export operations.
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 context: 'Useful for building context for intelligent MCP tool selection and documentation queries.' This indicates when an agent would invoke this tool. However, it does not explicitly state when not to use it or suggest alternative tools for other needs. Given the sibling list includes many other tool categories, the implied usage is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_macroA
Run a binary SolidWorks macro (.swp, or legacy .swb).
Calls ISldWorks::RunMacro2 on macro_path (or macro_file).
Only binary macros run: VBA source (.vb, .bas, plain text) is
rejected as invalid_input before anything reaches SolidWorks.
The macro must not be interactive (no MsgBox or user forms).
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral detail: the underlying RunMacro2 call, that VBA source is rejected with an 'invalid_input' error before reaching SolidWorks, and that MsgBox/user forms will fail. It omits that the macro can mutate or destroy the open model and doesn't describe blocking/timeout behavior, which matters for arbitrary-code execution.
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?
Four short sentences, front-loaded with the core action and the file-format constraint. Nothing is redundant or padded; each sentence adds a distinct 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?
The output schema covers return values, so that gap is acceptable. However, for a tool that executes arbitrary user code with zero annotations, the description should warn about side effects on the active document and clarify how repeat_count/parameters interact; those omissions leave an agent under-informed before invoking it.
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 macro_path, macro_file, repeat_count, and the rest. The description only restates the .swp/.swb format constraint and says nothing about the meaning of repeat_count, pause_between_runs, execution_mode, or parameters — several of which remain vague in the schema itself.
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 ('Run a binary SolidWorks macro') and pins the accepted formats (.swp, legacy .swb), which implicitly separates it from siblings like generate_vba_code or analyze_macro. It never names an alternative tool explicitly, so sibling differentiation is inferred 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 preconditions are clear — input must be a compiled binary macro and must be non-interactive — but there is no guidance on when to choose this over batch_execute_macros, execute_workflow, or generate_vba_code. Usage is implied by the input constraints rather than spelled out as a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_workflowC
Handle execute workflow.
This tool executes a series of automated steps in sequence, with support for parallel execution and error handling.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It mentions parallel execution and error handling support, which hints at behavior, but does not disclose side effects, permissions, or limitations. Minimal behavioral context beyond the 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?
The description is short but the first sentence 'Handle execute workflow' is redundant and adds no value. The second sentence is useful. Overall, it is concise but could be improved by removing the first 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?
Despite having an output schema (indicated by context), the description does not explain return values or how to effectively use the tool. For a complex tool with nested parameters and multiple execution modes, more detail 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 100%, so the schema already documents all parameters well. The description does not add additional meaning to any parameter beyond what is in the schema, earning a baseline score of 3.
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 it executes a series of automated steps in sequence, which clearly identifies the verb and resource. Among siblings which are mostly specific CAD operations, this tool stands out as a generic workflow executor, but it does not explicitly differentiate itself from 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?
No guidance is provided on when to use this tool versus alternatives or when not to use it. The description lacks any contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exit_sketchA
Exit sketch editing mode.
Exits the current sketch editing mode and returns to the 3D modeling environment. This is required after completing sketch geometry before creating 3D features like extrusions, revolves, or sweeps.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Example: ```python # Complete sketch workflow await create_sketch({"plane": "Top"}) await add_circle({"center_x": 0, "center_y": 0, "radius": 5})
result = await exit_sketch()
if result["status"] == "success":
print("Sketch completed, ready for 3D operations")
# Now ready for extrude, revolve, etc.
```
Note:
- Must be called after sketch geometry creation
- Required before executing 3D modeling operations
- Automatically validates sketch geometry
- Previous sketch remains selectable for feature creation| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses that it exits editing mode, validates geometry, and makes the sketch selectable for features. Could mention if there are side effects like discarding unsaved changes, but overall clear.
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 well-structured with a clear opening, an example, and notes. It is slightly long due to the example, but each part adds value. No wasted words.
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 no output schema, the description explains return type and shows example result usage. It also notes that sketch remains selectable. This is complete for a simple exit action.
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 are no parameters, and schema coverage is 100%. The description does not need to add meaning beyond schema. 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?
The description clearly states 'Exit sketch editing mode' with a specific verb-resource pairing. It distinguishes from siblings by explaining that it returns to the 3D environment and is required before 3D features like extrusions, which no other sibling tool does.
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 explicitly states when to use: 'Must be called after sketch geometry creation' and 'Required before executing 3D modeling operations.' It also implies alternatives by noting it's necessary before other tools like create_extrusion,create_revolve, etc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_dwgB
Export the current drawing to DWG format.
Converts SolidWorks drawings to DWG (Drawing) format, the native AutoCAD file format widely used in architecture, engineering, and construction industries for 2D technical drawings.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the core function. It does not disclose whether the drawing must be saved, if files are overwritten, or any other behavioral traits (e.g., limitations, dependencies).
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 concise sentences front-loaded with the primary action, followed by contextual industry information. Every sentence adds value without 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?
Given the presence of an output schema and full parameter descriptions, the description is adequate but lacks guidance on usage context (e.g., when export is successful, what happens if drawing is not open). Does not cover prerequisites or error scenarios.
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 baseline is 3. The description adds no additional meaning beyond what the schema provides (file_path, format_type, options). The description does not elaborate on how to use parameters.
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 exports the current drawing to DWG format, specifying the verb and resource. It distinguishes from sibling tools like export_step or export_pdf by targeting DWG format specifically.
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 this tool versus other export tools (e.g., export_pdf, export_image, batch_export). The description does not mention prerequisites, alternatives, or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_flat_patternA
Export the active sheet-metal part's flat pattern to DXF or DWG.
Exports the flat-pattern geometry only (no bend lines or sketches),
for laser or waterjet cutting. A part without a sheet-metal body is
refused (not_found) and nothing is written.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | ``file_path`` ending in ``.dxf`` or ``.dwg``. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the refusal semantics ('a part without a sheet-metal body is refused (``not_found``) and nothing is written') and precisely what geometry is included. It leaves overwrite behavior for an existing target file and any permission requirements unstated.
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 short sentences, front-loaded with the action, followed by the geometry scope and then the failure mode. Nothing is redundant and the parenthetical exclusion is load-bearing rather than 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?
An output schema exists, so return values need no explanation, and the description covers the key edge case (no sheet-metal body) plus the content scope. For a mutation-style export, it is nearly complete; only overwrite/conflict behavior on an existing file is 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 100% and the nested input_data/file_path is already documented as an output path ending in .dxf or .dwg. The description's 'to DXF or DWG' corroborates but adds no new meaning (no casing, overwrite, 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 a specific verb and resource: export the active sheet-metal part's flat pattern to DXF or DWG. The scope is narrowed further by 'flat-pattern geometry only (no bend lines or sketches)'. It does not explicitly distinguish itself from the sibling export_dwg, which an agent could easily confuse with this tool given the overlapping DWG format.
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 laser or waterjet cutting' gives a clear downstream use case that implies when this tool applies, and the no-bend-lines note implicitly excludes jobs needing forming data. There is no explicit statement of when to prefer this over export_dwg or export_step, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_igesA
Export the current model to IGES format.
Exports SolidWorks models to IGES (Initial Graphics Exchange Specification) format, a legacy neutral CAD format still widely used for surface modeling and older CAD system compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full burden for disclosing behavioral traits. It only states the basic action (export) and format context but omits prerequisites (e.g., requiring an open model), side effects (e.g., file overwrite), or return behavior.
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 two sentences long, front-loaded with the core purpose, and adds meaningful context without any wasted words.
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 presence of an output schema (not shown) and detailed input schema, the description gives adequate context. However, it lacks details on behavior (e.g., what happens on success/failure) that would be useful for a complete tool understanding.
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 the schema already documents all parameters. The description adds no additional meaning beyond what is in the schema, meeting the baseline but not exceeding it.
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 'Export the current model to IGES format' with a specific verb and resource. It distinguishes from siblings like export_step by explicitly naming IGES and explaining its purpose.
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 context by calling IGES a 'legacy neutral CAD format still widely used for surface modeling and older CAD system compatibility,' giving implicit guidance on when to use it. However, it does not explicitly state when not to use it or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_imageA
Export images of the current model.
Captures high-quality rendered images of SolidWorks models from various view orientations for documentation, presentations, marketing materials, and web publication.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only mentions 'high-quality rendered images' and usage contexts, but fails to disclose whether the operation modifies the model, requires specific permissions, or what happens to existing files. Lacks transparency about side effects or prerequisites.
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 extremely concise, consisting of two short sentences. The first sentence front-loads the core purpose, and the second adds context. No unnecessary words 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?
Given the presence of an output schema (not shown) and many optional parameters, the description provides minimal context. It mentions the tool's purpose and use cases but does not indicate prerequisites (e.g., model must be open) or default behavior. Adequate but could be improved.
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 baseline is 3. The tool description does not add additional meaning beyond what the input schema already provides for individual parameters. It does not explain which parameters are important or how they interact.
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 ('Export images') and the target resource ('current model'), specifying it's for SolidWorks models and high-quality rendered images. It distinguishes from sibling export tools (e.g., export_step, export_pdf) by focusing on image formats and visual documentation uses.
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 use cases (documentation, presentations, marketing, web publication) but does not explicitly state when to use this tool over alternatives like export_pdf or other image-related tools. No 'when not to use' guidance or sibling comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_pdfA
Export the current model or drawing to PDF format.
Creates PDF documents from SolidWorks drawings, assemblies, or parts for documentation, sharing, review, and archival purposes. Essential for design review and manufacturing documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool creates PDFs from various model types, but does not disclose potential side effects, permissions needed, or behavior regarding overwriting files or model open state.
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 two sentences long, front-loading the core function in the first sentence with additional context in the second. No unnecessary words 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?
The description explains the tool's purpose and value but omits prerequisites (e.g., model must be open), limitations, or behavior with multiple inputs. An output schema exists, so return value details are not 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 description coverage is 100% (input_data described with its properties). The description adds no parameter-specific information beyond the schema, meeting the baseline expectation.
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 specifies the exact action ('export'), resource ('current model or drawing'), and output format ('PDF'). It clearly distinguishes from sibling export tools (e.g., export_step, export_image) by focusing solely on PDF.
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 PDF exports are 'essential for design review and manufacturing documentation,' implying a use case, but does not explicitly guide when to use this tool vs. other export formats or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_stepB
Export the current model to STEP format.
Exports SolidWorks models to STEP (Standard for the Exchange of Product Data) format, the preferred neutral CAD format for interoperability between different CAD systems and manufacturers.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the export action and format, omitting side effects (e.g., does it modify the model? Does it require an open model? What happens if the output file exists?). This is insufficient for a mutation 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 concise sentences that front-load the key action. No fluff or redundancy. Every sentence 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?
Given the presence of an output schema (so return values are covered) and the simplicity of the tool, the description adequately covers the purpose. However, it misses prerequisites like requiring an open model or file path validity. Still, it is mostly complete for a straightforward export 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%, so baseline is 3. The description adds no additional meaning beyond the schema; it mentions STEP but the schema already lists format options. No extra value for parameters.
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 it exports the current model to STEP format, using a specific verb ('export') and resource ('current model to STEP'). It mentions STEP as a neutral CAD format, which provides context but does not explicitly differentiate from sibling export tools like export_iges or export_stl.
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 for interoperability with STEP format but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or exclusions, leaving the agent to infer context from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_stlC
Export the current model to STL format.
Exports SolidWorks models to STL (Stereolithography) format, the standard file format for 3D printing, rapid prototyping, and additive manufacturing applications.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only mentions exporting to STL for 3D printing. It does not state whether the model must be open, if existing files are overwritten, or any side effects, leaving significant 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?
The description is short with two sentences; the first clearly states the action, and the second provides context. While the second sentence is somewhat redundant, the overall structure is efficient. Front-loading is good.
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 nested schema and existence of an output schema, the description fails to mention prerequisites (e.g., active model), the role of options, or what the output contains. The format_type ambiguity further undermines completeness.
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 the baseline is 3, but the description adds no parameter-level meaning beyond the schema. Worse, it says 'export to STL' while format_type accepts other formats, creating misleading information that diminishes parameter clarity.
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 exports to STL format and explains what STL is, making the purpose specific. However, it does not clarify whether 'current model' means the currently open document or if the file_path is for a new file, and the tool's name and description imply STL-only export, while the schema includes other formats.
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 does not provide explicit guidance on when to use this tool versus siblings like export_step or export_image, nor does it specify criteria like file type or context. The contradiction with the schema (STL-only vs multiple formats) further confuses usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_templateB
Extract template from existing SolidWorks model.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description does not disclose behavioral traits beyond the basic action, such as whether the original model is modified or any 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?
The description is very concise (one sentence) with no wasted words, but it could be slightly longer to add useful context without losing conciseness.
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 an output schema and a nested input parameter, the description does not explain return values, error conditions, or prerequisites, making it incomplete for a CAD 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 input schema has 100% coverage with descriptions for all parameters, so the description adds no extra meaning beyond the schema. 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 states the action ('Extract template') and the resource ('existing SolidWorks model'), distinguishing it from sibling tools like 'create_template' and 'apply_template'.
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 this tool versus alternatives, no prerequisites or contextual usage instructions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_drawing_packageA
Create a complete A3 drawing of a part or assembly in one call.
A3 ISO frame with a filled title block (title, drawing number, material,
weight, drawn by/date, revision); front, plan, side and isometric views
in cells sized to fill the sheet at one standard scale (never stepped
down); model dimensions shown once and laid out in rows; bold view-name
captions; a NOTES block; nothing overlapping, checked on the read-back
geometry. Saves <drawing_number>.SLDDRW and a PDF.
The DWG NO. and TITLE are shrunk to fit their title-block boxes. For
smaller title-block text, pass title_block_text_height_mm (e.g.
3); a field that cannot fit even at 2 mm is reported as an
overlap, with that hint.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``model_path`` plus optional title-block fields, ``notes`` and output folder. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does a strong job: it discloses that the tool saves a .SLDDRW and PDF, enforces sheet layout without overlap, checks read-back geometry, and reports unfittable title-block text as an overlap with a hint. It omits some mutation side effects from the main text, such as the default write_model_properties behavior, but overall provides substantial 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 front-loaded with the core action and then organized into useful detail paragraphs. It is dense but every sentence adds relevant information about output contents, layout guarantees, and title-block text handling; minor tightening could improve it but it is not bloated.
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 complex drawing-generation tool, and the description covers the key output, layout rules, saved files, and failure hints. Because an output schema exists and the input schema is fully documented, the description does not need to explain return values or every parameter, but it could have mentioned assembly BOM behavior or model-property writes to be 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 100%, so the baseline is 3, but the description adds meaningful semantics beyond the schema for title_block_text_height_mm and the DWG NO./TITLE shrink-to-fit behavior. It does not elaborate on every parameter, but given the rich schema, this is appropriate added value.
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: 'Create a complete A3 drawing of a part or assembly in one call.' It further scopes the tool by listing the exact package contents (ISO frame, title block, views, dimensions, notes), which clearly distinguishes it from lower-level drawing siblings like create_drawing_view or add_note.
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 'in one call' and the detailed package description imply this is for generating a complete A3 drawing rather than individual view operations. However, it never explicitly names alternatives or states when not to use this tool, so the usage guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_drawing_reportC
Generate comprehensive drawing analysis report.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description alone must convey behavioral traits. It only says 'generate report' without indicating whether the operation is read-only, modifies the model, or has side effects. The description fails to disclose important behavioral information.
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 concise at one sentence, but it is too brief to be informative. It lacks necessary detail to be fully useful, bordering on under-specification rather than efficient communication.
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 part of a complex domain (CAD drawing analysis) with many sibling tools, but the description provides minimal context about inputs, outputs, or analysis scope. Even with an output schema existing, the description fails to make the tool's role clear.
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 description coverage is 100% (one parameter described), so baseline is 3. However, the schema description 'The input data value.' is vague, and the tool description adds no additional meaning to the parameter, leaving its semantics unclear.
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 verb 'Generate' and resource 'drawing analysis report', giving a general sense of what the tool does. However, it does not differentiate from sibling tools like analyze_drawing_comprehensive or check_drawing_compliance, which could be interpreted as similar.
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 alternatives, nor any prerequisites or conditions for use. It is completely missing any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_assembly_insertB
Generate VBA code for assembly component insertion.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully disclose behavior. It only states 'Generate VBA code' without specifying if the tool is read-only, requires permissions, or has side effects. It does not clarify that it generates code without modifying files.
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?
Single sentence, front-loaded with purpose, no wasted words. Efficiently communicates the core functionality.
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 complexity (nested input object) and the presence of an output schema, the description is minimally acceptable. It does not elaborate on the returned VBA code format but relies on the output schema for details. The description could be slightly richer for a tool with many 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 100%, and the description adds no extra meaning beyond the schema. The input parameters are well-documented in the schema itself, so the description is adequate but does not enhance understanding.
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 'Generate VBA code for assembly component insertion.' It uses a specific verb ('Generate') and resource ('VBA code for assembly component insertion'), distinctly differentiating it from sibling tools like 'generate_vba_extrusion' or 'generate_vba_assembly_mates'.
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 this tool versus alternatives. It does not mention prerequisites, conditions, or when not to use it. Given many similar 'generate_vba_*' siblings, explicit guidance is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_assembly_matesC
Generate VBA code for assembly mate creation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description provides no behavioral details such as prerequisites, side effects, or whether it requires an open assembly. The description carries the full burden but fails to disclose these aspects.
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 very short (one sentence) and front-loaded with the clear purpose. Every word serves a purpose, though it could be expanded slightly without losing conciseness.
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 presence of an output schema and nested objects, the description should explain what the output contains and how to structure input data. The current description is too minimal for a tool among many similar VBA generation 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?
Although schema coverage is 100%, the only parameter, input_data, is described generically as 'The input data value.' The tool description does not clarify what data is expected or how it should be structured, adding little 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 clearly states the tool generates VBA code for assembly mate creation, using a specific verb and resource. However, it does not differentiate this tool from similar siblings like generate_vba_assembly_insert.
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 this tool versus other VBA generation tools (e.g., generate_vba_extrusion, generate_vba_assembly_insert). The description implies its purpose but lacks context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_batch_exportB
Generate VBA code for batch file export operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations available. The description does not disclose behavioral traits such as side effects, authorization needs, or that the tool only generates code without executing it.
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?
Single sentence, concise and front-loaded. Slightly under-specified but not verbose.
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 an output schema, the description lacks information about the generated code's format, error handling, or any behavioral context. For a code generation tool with a complex nested input, more detail 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 100% as all properties have descriptions. The tool description adds no additional meaning beyond the schema, so baseline score of 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 states the tool generates VBA code for batch file export operations, with a specific verb and resource. It distinguishes from siblings like batch_export and other generate_vba_* 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?
No guidance on when to use this tool versus alternatives like batch_export or other generate_vba_* tools. No prerequisites or context for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_codeB
Generate VBA code for SolidWorks automation.
Analyzes operation description and generates appropriate VBA code with SolidWorks API calls, error handling, and documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It states the tool generates code with API calls, error handling, and documentation, but does not disclose whether the code is returned as a string, saved to a file, or executed. Behavioral details like side effects or return format are missing.
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 concise with two sentences: the first states the main purpose, and the second adds relevant detail. It is front-loaded and contains no superfluous words.
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?
While the description covers the basic function, it lacks information about the output format (despite an output schema existing) and does not address constraints or expected input scope. For a code generation tool with nested input, more context would be beneficial.
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 all parameters are documented in the schema. The tool description does not add any extra semantics beyond what the schema already provides, resulting in a baseline score of 3.
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 generates VBA code for SolidWorks automation and mentions analyzing operation descriptions. However, it does not explicitly differentiate from the many generate_vba_* siblings that target specific operations, which slightly reduces clarity.
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 usage guidelines are provided. The description does not specify when to use this general generator versus the more specific siblings, nor does it mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_drawing_dimensionsC
Generate VBA code for creating drawing dimensions.
Creates macro for various dimension types in drawings.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose key behavioral traits. It only states the tool generates code, but does not explain output format, side effects, or required permissions. The nature of 'creating a macro' is vague.
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 sentences are adequate in length but could be more structured and informative. It is not overly verbose, but the brevity sacrifices clarity.
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 an output schema, the description is extremely sparse. It fails to specify supported dimension types, input format, code structure, or any constraints. An agent would have insufficient information to use the tool 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?
The only parameter 'input_data' is described as 'The input data value.' with additionalProperties allowed. This adds no meaningful semantics beyond the schema. The description does not clarify what data should be provided.
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 generates VBA code for creating drawing dimensions, which distinguishes it from direct dimension addition tools like 'add_dimension'. However, it lacks specificity about what 'various dimension types' includes.
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 is provided on when to use this tool versus alternatives such as 'add_dimension' or 'generate_vba_code'. No prerequisites or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_drawing_viewsC
Generate VBA code for drawing view creation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, placing the burden on the description. It fails to disclose whether the tool is read-only, destructive, or has side effects. The description conveys only the purpose, not behavioral traits.
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. While concise, it could be slightly expanded without losing conciseness, hence 4.
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 an output schema, the description does not explain return values or behavior. With many siblings and nested parameters, the description is too sparse to guide effective use.
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 parameters are documented in the schema. However, the description adds no value beyond the schema, only repeating the concept of generating code. 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 states 'Generate VBA code for drawing view creation,' using a specific verb and resource. It differentiates from siblings like generate_vba_extrusion or create_drawing_view by focusing on VBA code generation for drawing views.
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 this tool versus alternatives such as create_drawing_view or add_drawing_view. The description omits any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_extrusionC
Generate VBA code for complex extrusion operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only gives high-level purpose, no disclosure of side effects (e.g., no actual extrusion performed, only code generation) or 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?
Single sentence, no waste. Could benefit from slightly more structure but 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?
Complex tool with nested input object and many parameters; description too brief. Lacks mention of output (VBA code), prerequisites, or parameter relationships. Output schema exists but description doesn't leverage it.
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 has 100% coverage with individual parameter descriptions. Description adds no extra meaning, but baseline 3 appropriate since schema is detailed.
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?
Description states it generates VBA code for extrusion operations, distinguishing from create_extrusion and other generate_vba_* tools. However, 'complex' is vague and doesn't clarify scope.
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 this tool versus create_extrusion or other code generation tools. Missing context for when to generate VBA vs execute directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_file_operationsC
Generate VBA code for file management operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only states it generates code, but omits side effects (e.g., file creation, permissions), output format, or whether the code is returned or saved. This is insufficient for an agent to understand the tool's full impact.
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 sentence with no wasted words. It is efficiently positioned but could benefit from a bit more detail to enhance usefulness without sacrificing brevity.
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's complexity (free-form object input with no constraints) and presence of an output schema, the description fails to explain what the input_data should contain or how to structure it. This leaves a significant gap for an agent to use the tool 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 description coverage is 100% for the single parameter, so baseline is 3. The parameter description ('The input data value.') adds minimal meaning, but the rule allows baseline 3 even without additional param info from the description. The description does not compensate for the vagueness in 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 clearly specifies the action ('Generate VBA code') and the domain ('file management operations'). It distinguishes from the broader sibling 'generate_vba_code' and other VBA generation tools, though it could be more specific about what 'file management operations' entails.
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 is provided on when to use this tool versus alternatives. There is no mention of scenarios, exclusions, or comparisons to sibling tools like 'generate_vba_code' or 'generate_vba_extrusion'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_macro_recorderC
Generate VBA code using macro recording patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It only states the purpose; no mention of side effects, idempotency, safety, or what the output represents. The presence of an output schema is not leveraged in the description.
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 sentence, efficient in length, but it lacks key information. Conciseness should not come at the cost of completeness; here it is under-specified.
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 generic input, no behavioral annotation, and numerous sibling tools, the description is insufficient for an agent to understand how to invoke this tool correctly. The output schema exists but is not described, and the description does not cover expected 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?
The sole parameter 'input_data' is described in the schema as 'The input data value,' which is vague. The description adds no further meaning, leaving the agent unclear on what data to provide. Schema coverage is 100% but the schema's own description is poor, and the tool description does not compensate.
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 it generates VBA code using macro recording patterns, distinguishing it from general VBA generation (generate_vba_code) or recording (automation_start_macro_recording). However, 'macro recording patterns' is somewhat vague.
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 this tool versus siblings like generate_vba_code, automation_start_macro_recording, or other VBA generation tools. The description provides no context or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_part_modelingC
Generate VBA code for complex part modeling operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavior. It only states that it generates VBA code, omitting details about input format, output structure, side effects (e.g., file creation), or required permissions. This is insufficient for safe invocation.
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 sentence, which is concise. However, it sacrifices crucial details for brevity. It is front-loaded but not sufficiently informative, missing the opportunity to clarify scope or usage.
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 existence of many similar sibling tools and a flexible input schema (generic object), the description is incomplete. It lacks context about what constitutes 'complex part modeling operations,' how the input should be structured, and what the output schema contains, despite an output schema being 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 100% (one parameter), satisfying the baseline. However, the parameter description is just 'The input data value,' which adds no meaning. The tool description does not elaborate on what the input should contain, so it adds marginal value 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 states it generates VBA code for 'complex part modeling operations,' which is a clear verb-resource pair. However, it does not differentiate from sibling tools like 'generate_vba_extrusion' or 'generate_vba_code,' which also generate VBA code for specific operations.
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 is provided on when to use this tool versus alternatives such as other generate_vba_* tools or when specific operations like extrusions or revolves are needed. The description lacks any context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_vba_revolveC
Generate VBA code for complex revolve operations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states the tool generates code, lacking details on side effects (e.g., file creation), output format, or whether it is destructive. The brevity leaves agents uninformed about important behavioral traits.
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 extremely concise (one sentence) but lacks substance. It is front-loaded but too sparse to be fully informative. Every sentence should earn its place; here, more descriptive detail is needed.
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 nested input schema and lack of annotations, the description is insufficient. It does not explain what 'complex revolve operations' entails, how the generated VBA is used, or the tool's role among many VBA generation tools. The presence of an output schema does not compensate for missing context.
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 input schema has 100% coverage with each property described. The tool description adds no additional meaning to parameters beyond what the schema already provides. Baseline 3 is appropriate given the high 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 clearly states the tool generates VBA code for revolve operations, distinguishing it from other generate_vba_* siblings focused on different features. However, 'complex revolve operations' is somewhat vague, and it could be more specific, such as mentioning it creates a revolve feature VBA macro.
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 is provided on when to use this tool versus alternatives like generate_vba_extrusion or create_revolve. The description does not specify prerequisites, when not to use it, or contrast with similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_propertiesA
Read the active document's custom properties.
Read-only. File-level properties (the default) are what drawing title
blocks and BOMs usually link to; pass configuration for
configuration-specific ones.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``configuration``; file-level properties when omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does state read-only and active-document scope. It does not cover failure modes, permissions, or what happens when no document is active, so it 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?
Two short sentences, front-loaded with the core action and followed by the key read-only and parameter context. 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 simple read tool with an output schema, the description covers the essential scope and parameter behavior. Edge-case behavior is omitted but not critical for correct 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 coverage is 100%, so the schema already documents the configuration parameter. The description reinforces the default-vs-configuration distinction but adds little syntax or format 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?
States a specific verb and resource ("Read ... custom properties") and scopes it to the active document. The read-only framing also distinguishes it from the sibling set_custom_property.
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 default file-level behavior and when to pass configuration for configuration-specific properties. It does not explicitly name alternatives such as get_file_properties, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dimensionB
Get the value of a dimension from the current model.
Retrieves the current value of a named dimension from the active SolidWorks model. Dimensions can be from sketches, features, or global dimensions. Useful for parametric modeling and design validation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must compensate. It indicates the operation is a read from the active model but does not disclose whether it is destructive, requires specific permissions, or handles errors (e.g., dimension not found). The return format is not described, though an output schema 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?
The description is two sentences, front-loaded with the core purpose, and every sentence adds value. No unnecessary words 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?
Given the simplicity of the tool and the existence of an output schema (not shown), the description covers the basic purpose and applicability. However, it lacks mention of prerequisites (e.g., open model), error handling, or whether it works offline. For a read tool, this is adequate but not comprehensive.
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% with detailed examples for 'name' and 'dimension_name'. The description adds context about dimensions coming from sketches, features, or global dimensions, but this does not significantly enhance understanding beyond the schema. 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 states the tool retrieves a dimension value from the current model, specifying it can be from sketches, features, or global dimensions. It distinguishes implicitly from sibling 'set_dimension' by indicating a read operation, but no explicit differentiation from other getters.
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 mentions 'useful for parametric modeling and design validation', giving context, but does not explicitly state when to use this tool versus alternatives like 'set_dimension' or 'add_dimension'. No exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_propertiesA
Get properties of the current SolidWorks file.
Retrieves comprehensive metadata and properties of the currently active SolidWorks document. Provides essential file information for document management, version control, and project organization.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Example: ```python result = await get_file_properties()
if result["status"] == "success":
props = result["properties"]
# Basic file info
file_info = props["file_info"]
print(f"File: {file_info['file_name']}")
print(f"Size: {file_info['file_size']}")
print(f"Type: {file_info['file_type']}")
# Technical properties
tech = props["technical_properties"]
print(f"Material: {tech['material']}")
print(f"Units: {tech['units']}")
# Document info
doc = props["document_info"]
print(f"Author: {doc['author']}")
print(f"Description: {doc['description']}")
```
Note:
- Requires an active SolidWorks document
- Properties may vary based on document type
- Some properties may be empty if not set
- Technical properties depend on document configuration| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a read-only operation ('Get properties') but does not explicitly state it is non-destructive. It mentions document requirement and property variation but lacks a clear side-effect statement.
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 fairly long with a large Python example. The first sentence is concise, but the repetition of 'Retrieves comprehensive metadata' adds some redundancy. The structure is good with a clear example.
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 zero-parameter tool, the description covers purpose, requirements, caveats, and provides a comprehensive example of expected output. It is complete given the tool's simplicity.
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?
No parameters exist, so schema coverage is 100%. The description adds value by including a detailed example of the output structure, which helps understand the return format 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 clearly states the tool's purpose: 'Get properties of the current SolidWorks file.' It elaborates with 'Retrieves comprehensive metadata and properties...' and distinguishes from siblings by focusing on file properties rather than geometry or features.
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 includes a 'Note' section with requirements ('Requires an active SolidWorks document') and caveats ('Properties may vary based on document type'). It provides clear context but does not explicitly mention when 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.
get_mass_propertiesD
Backward-compatible alias for calculate_mass_properties.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | The input data value. Defaults to None. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior. It merely indicates it is an alias, but does not describe the actual behavior of mass property calculation, such as read-only nature, permissions, or side effects. The agent cannot infer any behavioral traits.
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 very concise (one sentence), which is efficient but lacks essential information. It is not overly verbose, but could be expanded to cover important details without becoming bloated.
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 context of many sibling tools and a non-trivial input schema, the description is extremely incomplete. It fails to explain what mass properties are, how the tool differs from calculate_mass_properties, or any other contextual information needed for correct 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?
The input schema has 100% description coverage, with clear defaults and descriptions for the single parameter. The description adds no additional meaning 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 only states it is a backward-compatible alias for calculate_mass_properties, but does not explicitly state what the tool does (e.g., calculate mass properties of a model). This leaves the purpose vague and reliant on the user knowing the other tool.
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 is provided on when to use get_mass_properties versus calculate_mass_properties or any other tool. The alias nature implies the other tool is preferred, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_materialA
Read the material assigned to the active part.
Read-only. Parts only (wrong_document_type otherwise).
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``configuration``; the active one when omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that the operation is read-only and restricted to parts, but it does not cover other behavioral details such as active-document requirements or error behavior beyond wrong_document_type.
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 no wasted text. The core action is front-loaded, followed by the read-only and parts-only constraints.
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, the input schema is fully documented, and an output schema exists. The description covers the key behavioral constraints, though it could say slightly more about the active-part requirement or 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 single optional configuration parameter is already documented in the schema. The description adds no parameter-specific meaning beyond what the schema provides, making the baseline 3 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 and resource: reading the material assigned to the active part. It is clear what the tool does, but it does not explicitly distinguish itself from related siblings such as get_material_properties or list_available_materials.
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 clear usage context: it operates on the active part and is parts-only, with wrong_document_type otherwise. It does not name alternatives or explain when to prefer this over related material tools, so it falls 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.
get_material_propertiesA
Get material properties of the current model.
This tool retrieves the material properties assigned to the model including density, elastic modulus, yield strength, etc.
Returns: dict[str, Any]: A dictionary containing the resulting values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must handle transparency. It correctly identifies this as a read operation that retrieves data without side effects. It specifies the return type as a dictionary. Could mention that it requires an active model, but overall adequate.
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?
Extremely concise: two sentences plus a returns note. Every sentence adds value. Information is front-loaded with the tool's 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?
Given no parameters and an output schema, the description is fairly complete. It lists example properties. However, it does not mention prerequisites like the model being open or having material assigned. For a simple getter, this is 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?
No parameters exist, so baseline is 4. The description does not need to add parameter info. It provides context about what properties are returned, adding value 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 clearly states it retrieves material properties of the current model, listing examples like density, elastic modulus, yield strength. This distinguishes it from siblings like get_mass_properties which focus on 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?
No guidance on when to use this tool versus alternatives such as get_mass_properties or analyze_geometry. Does not mention prerequisites like having an open model or that the model must have material assigned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_model_infoA
Get metadata for the active SolidWorks document.
Returns a compact summary of the current model context that is useful for read-before- write LLM flows (document type, active configuration, and feature count).
Returns: dict[str, Any]: A dictionary containing the resulting values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description clearly implies a read-only operation by naming 'get metadata' and 'read-before-write'. It also states the return type and gives examples of content. No side effects are expected, and the description is transparent enough for an agent.
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 extremely concise, comprising two short sentences and a returns clause. Every sentence adds value: the first states purpose, the second gives context and examples, and the returns line specifies type. No wasted words.
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 zero-parameter tool with an output schema, the description is complete. It explains the purpose, the type of information returned, and the intended use case. The output schema provides further structure, so the description need not detail every field.
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 zero parameters, the description does not need to add parameter meaning. The schema coverage is 100% vacuously, and the description adds value by explaining the return context. Baseline 4 is appropriate per guidelines.
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 it retrieves metadata for the active SolidWorks document, listing specific attributes (document type, configuration, feature count). It distinguishes itself from siblings like get_mass_properties or list_features by focusing on a compact summary useful for read-before-write flows.
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 indicates it is for read-before-write flows, providing clear context for when to use. However, it does not explicitly state when not to use or suggest alternatives, though the intended use is clear given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_selected_entitiesA
Report the faces/edges/vertices currently selected in the live SolidWorks UI.
Use this to find out exactly what the user has clicked on in SolidWorks before applying a feature (e.g. "chamfer the face I selected") instead of guessing from coordinates or a screenshot. Each entry includes enough geometry (bounding box, center, area/length, normal where applicable) to identify which face/edge is which, and the center coordinates can be fed straight into add_chamfer/add_fillet's "face:x,y,z" or coordinate edge_names syntax.
Returns:
dict[str, Any]: entities (list of selection descriptors) and
count on success.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that it reads the live UI selection, describes the geometry fields returned (bounding box, center, area/length, normal), and explains how the output feeds downstream tools. It stops short of stating read-only/no-side-effect guarantees or behavior when nothing is selected.
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, front-loaded with the core action, followed by usage rationale and return detail. No filler; every sentence adds actionable 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?
An output schema exists, yet the description still summarizes the return shape (entities list and count) and the per-entry geometry, plus how to consume the coordinates. Nothing an agent needs to call and use this tool is 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?
The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond confirming it operates on the current UI selection, which it does implicitly.
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 ('Report the faces/edges/vertices currently selected in the live SolidWorks UI'), which is immediately distinguishable from siblings like select_face_edges and measure_entities. An agent knows exactly what this returns without opening the schema.
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 context ('before applying a feature') with a concrete example ('chamfer the face I selected') and an explicit alternative it replaces ('instead of guessing from coordinates or a screenshot'). It lacks an explicit when-not-to-use clause, keeping it just below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insert_bom_tableB
Insert a bill-of-materials table for an assembly view on the active drawing.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``view_name`` (a view of an assembly), optional ``template_path``, ``bom_type`` and table position ``x_mm``/``y_mm`` (the sheet's BOM anchor when omitted). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden for a mutating operation. It states the table is placed on the active drawing, but says nothing about whether the drawing must be open/active, failure modes for non-assembly views, interaction with existing BOM tables, or reversibility.
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 key scoping information (assembly view, active drawing) is front-loaded. Nothing is redundant relative to the schema or annotations.
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?
An output schema exists and the parameter schema is fully documented, so the remaining need is behavioral context. For a drawing-mutating tool with zero annotations, the description is only minimally complete: prerequisites and side effects are left unstated.
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 nested schema explains view_name, template_path, bom_type, and the x_mm/y_mm anchor defaults in detail. The description adds only the loose phrase "for an assembly view" and does not explain bom_type or template behavior beyond the schema, 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 pairs a specific verb ("Insert") with a specific resource ("bill-of-materials table") and scopes it to "an assembly view on the active drawing." That is enough to distinguish it from the many drawing-annotation and view-creation siblings, though it names no sibling 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 reader can infer it requires an active drawing containing an assembly view. There is no explicit when-to-use/when-not statement, no mention of what to do if no assembly view exists, and no alternative tool named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insert_componentA
Insert a part or sub-assembly into the active assembly.
Call create_assembly first. Position is in millimetres from the
assembly origin.
The component file must contain solid geometry — SolidWorks silently refuses to insert an empty part, so a missing or empty component surfaces as an error rather than a fabricated success.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | File path and position. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so well. It discloses the critical failure mode that an empty component causes a silent refusal and surfaces as an error rather than a fabricated success, and it clarifies the coordinate system and prerequisite state.
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 front-loaded with the core action, followed by the prerequisite, coordinate convention, and a critical warning. Every sentence earns its place and there is no redundant restatement of 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?
An output schema exists, so return values need not be explained. The description supplies the key prerequisite, positional convention, and failure-mode warning, making it complete for an agent to invoke the tool correctly within the SolidWorks workflow.
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 baseline is 3. The description adds meaning beyond the schema by clarifying that position is measured from the assembly origin and by imposing a content constraint on file_path: the component file must contain solid geometry.
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 precise verb and resource: 'Insert a part or sub-assembly into the active assembly.' It clearly distinguishes the operation from sibling tools like create_assembly, load_assembly, and add_mate by specifying that it inserts geometry into an existing active assembly.
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 an explicit prerequisite: 'Call create_assembly first.' However, it does not name alternatives or state when not to use this tool, so it falls short of a full 5 on when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insert_model_dimensionsA
Bring the model's dimensions into the active drawing's views.
Imports the model's "marked for drawing" dimensions view by view, each
dimension shown once on the sheet (a repeat in a later view is
deleted). Pictorial views (isometric, dimetric, trimetric) are skipped
unless named. Falls back to SolidWorks AutoDimension only when nothing
could be imported. SolidWorks places imported dimensions inside the
views, so run arrange_dimensions afterwards.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``view_name`` for one view and ``include_hole_wizard``; omit for every view. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden and does well: it discloses deduplication (a repeat in a later view is deleted), that pictorial views are skipped unless named, the fallback trigger, and that SolidWorks places dimensions inside views requiring a follow-up arrange. It omits whether the operation touches the model or is reversible, but drawing-insertion behavior is well covered.
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?
Front-loaded with the core action, then supporting behavior in a compact paragraph sequence. Every sentence conveys a distinct behavioral fact; slightly longer than minimal but 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?
An output schema exists so return values need not be described, and the description covers selection scope, dedup semantics, view-type exclusions, fallback, and the required follow-up arrange step. An agent has enough to invoke it correctly; only permission/undo context 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 100% and the nested input_data already documents view_name (with a pointer to list_drawing_views) and include_hole_wizard. The description only adds the implied effect of naming a view ('skipped unless named'); the hole wizard option is left entirely to the schema, 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?
States a specific verb and resource ('Bring the model's dimensions into the active drawing's views') and immediately narrows scope with the 'marked for drawing' qualifier. This clearly separates it from add_dimension, auto_dimension_view, and add_drawing_view 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?
Explains the fallback condition (AutoDimension only when nothing could be imported) which implicitly positions it against auto_dimension_view, and gives an explicit downstream step ('run arrange_dimensions afterwards'). It stops short of naming a sibling as the alternative or stating 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.
list_available_materialsA
List materials in the installed SolidWorks material libraries.
Read-only; parses every .sldmat library SolidWorks is configured
to use. Filter with search (name or classification substring, e.g.
"steel" or "6061") and pass the exact name to
set_material.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``search`` to filter; omit for every material. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden, and it does disclose key traits: read-only, and that it parses every .sldmat library SolidWorks is configured to use (scope/side effects). It omits cost/performance expectations for scanning all libraries, but covers the essential safety 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?
Three short lines, front-loaded with the action and scope, then the read-only note, then the filtering/handoff guidance. 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?
An output schema exists, so return values needn't be explained, and the description covers scope, safety, and filtering adequately for a one-optional-param list tool. Minor gap on what 'classification' values look like or whether results are grouped by library.
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 documents 'search' as a case-insensitive filter with the same 'steel'/'6061' examples. The description restates this rather than adding new semantics, 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?
States a specific verb and resource — listing materials in installed SolidWorks material libraries — and implicitly separates itself from get_material/set_material by noting its output feeds set_material. An agent can distinguish it from siblings without opening a schema.
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 usage path: filter with search, then pass the exact name to set_material. It names one alternative and the handoff condition, but does not contrast with get_material or say when not to use the search filter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsA
List the top-level components of the active assembly.
Returns: dict[str, Any]: Status and the component instance names.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'List' implies a safe read and it discloses the return shape (status plus component instance names), but it omits whether an active assembly is required, what happens when none is open, and whether nested components are excluded. Useful but incomplete for a mutation-free but state-dependent 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 lines, front-loaded with the core action and scope, with no filler. The 'dict[str, Any]' type annotation is mildly redundant given an output schema exists, but it costs little.
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 zero-parameter read tool with an output schema, the description covers the essentials: what is listed, the scope (top-level), the container (active assembly) and the return contents. The only real gap is the precondition/error case when no assembly is active.
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; baseline 4 applies. No parameter-level content is expected 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?
States a specific verb ('List') and resource ('top-level components of the active assembly'), with scope restricted to top-level items. It is distinguishable from siblings like list_features or list_configurations, though it never names an alternative 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 implied by 'active assembly', which hints that an assembly document must be open first, but there is no explicit when-to-use guidance, no when-not condition, and no pointer to a sibling for other listing needs (e.g., features or configurations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_configurationsA
List configuration names for the active SolidWorks document.
Returns all available configuration names so callers can select a stable target before invoking feature or export operations.
Returns: dict[str, Any]: A dictionary containing the resulting values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden for behavioral disclosure. It only states it returns a dictionary of configuration names, with no information about side effects, error conditions, or behavior when no document is active. This is insufficient for a zero-annotation tool, even if simple.
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 brief and front-loaded with the main action, but includes a return-type docstring that could be inferred from the schema. It is efficient but not extremely concise.
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's simplicity (zero parameters, output schema exists), the description explains why the list is useful (selecting a stable target). This is sufficient context for an agent to understand when to call it.
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, and the schema has 100% coverage. The description adds value by explaining the result's purpose, meeting the baseline for no-parameter tools.
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 action using a specific verb ('List') and resource ('configuration names for the active SolidWorks document'), distinguishing it from sibling tools that focus on features, sketches, or exports.
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 when to use the tool ('so callers can select a stable target before invoking feature or export operations'), but does not explicitly state when not to use it or mention alternative tools. The usage context is implied but not fully elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_drawing_viewsA
List the views on the active drawing.
Read-only. Use it to find an existing view's name before targeting it
(e.g. with auto_center_marks). Errors when the active document is
not a drawing.
Returns:
dict[str, Any]: status, views (view names, sheet formats
excluded) and count.
Example:
python await list_drawing_views()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the burden and does well: it declares read-only behavior, the error condition for non-drawing documents, and that sheet formats are excluded from the returned view names. Missing only details like behavior on a drawing with zero views.
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?
Front-loaded with purpose and read-only status, then usage, then returns. Well organized and short. The code example for a zero-argument call adds little and is the only slightly wasteful element.
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?
Zero parameters, an output schema exists, and the description still notes the meaningful return nuance (sheet formats excluded) plus the error precondition. An agent has everything needed to call it and interpret the result.
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 no parameters, so there is nothing to disambiguate; the description correctly presents a no-argument call including an example invocation. Baseline 4 applies for zero-parameter tools.
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 with scope: "List the views on the active drawing." An agent can immediately tell this is a read of drawing views rather than model dimensions or components. It does not explicitly distinguish itself from the nearby analyze_drawing_views, which is the one real ambiguity.
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 concrete intended use: find a view's name before targeting it, naming auto_center_marks as the downstream consumer. Also states the failure precondition (errors when the active document is not a drawing). No explicit when-not or comparison against analyze_drawing_views, so 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.
list_featuresA
List feature-tree entries for the active SolidWorks document.
Useful for read-before-write workflows where the agent must inspect existing model structure before adding or editing downstream features.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It implies a read-only listing on the active document, but does not state the document must be open, whether it errors when no document is active, or any size/pagination limits. With an output schema present, return values are covered elsewhere, but behavioral prerequisites remain unstated.
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 the core action and followed by the workflow rationale. No redundant restatement of the name or schema content; every clause 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?
Given a nested-parameter schema with full coverage and an output schema, the description is nearly complete for a read tool. It could go further by stating it is non-mutating and that an active document is required, but those gaps are 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 100%, with both nested sub-parameters (include_suppressed, max_assembly_depth) fully documented in the schema, including the default and the Part-vs-Assembly scope of max_assembly_depth. The description adds no parameter guidance 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?
States a specific verb and resource ('List feature-tree entries') scoped to 'the active SolidWorks document', which cleanly distinguishes it from siblings like list_components and classify_feature_tree. An agent can identify the operation without opening the schema.
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 clear context ('read-before-write workflows where the agent must inspect existing model structure before adding or editing downstream features'), which tells the agent when this tool is appropriate. It does not name alternatives or state exclusion conditions versus other inspection tools (e.g., classify_feature_tree, get_model_info).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_model_dimensionsA
List every dimension in the active part or assembly with its full name.
Read-only. Each entry's full_name (e.g. "D1@Sketch1") is the
name set_dimension / get_dimension accept, so this is how to
find and edit any driving dimension in an existing model. Pass
feature_name to list one feature's dimensions only.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``feature_name`` to list one feature only; omit for every dimension. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description carries the safety burden itself by declaring "Read-only" up front. It also discloses the key semantic of the return payload (full_name format like "D1@Sketch1") and that it scopes to the active document. It does not mention failure modes (no active document, non-driving/reference dimensions), which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action in the first sentence, then the read-only/safety note and the downstream-use hint. The final sentence about feature_name partially duplicates both the opening clause and the schema, so it is slightly less than maximally tight.
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?
An output schema exists, so return values need not be described; the description still usefully explains the one field that matters (full_name) and its downstream consumer. With zero annotations and a single optional parameter, an agent has enough to call it correctly, though document-state prerequisites are unstated.
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 the baseline is 3; the description goes beyond the schema by explaining what the returned full_name means and that it feeds set_dimension/get_dimension, which the schema cannot convey. The feature_name guidance largely restates the schema's own example and default, so it is additive but not exhaustive.
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 ("List every dimension in the active part or assembly") plus the scope qualifier and the shape of the output ("with its full name"). It is easy to separate from get_dimension/set_dimension, which operate on a single known dimension, and from list_features, which lists features not dimensions.
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 the agent: the full_name is "the name set_dimension / get_dimension accept, so this is how to find and edit any driving dimension" — a clear discover-then-edit workflow naming the alternatives. It also gives the narrowing condition for feature_name. It stops short of stating exclusions (e.g. when to call get_dimension directly because you already know the name), so not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_open_documentsA
List every SolidWorks document that is currently open.
Read-only — does not change which document is active. Use it to
discover what is open (an assembly plus its parts, a drawing plus its
model) before switching with activate_document.
Returns:
dict[str, Any]: status and documents — a list of
{title, path, type, is_active} entries, plus count.
Example:
python await list_open_documents()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does state 'Read-only — does not change which document is active,' addressing the key safety concern for a doc-state tool. It also sketches the returned shape, though it doesn't discuss ordering or behavior with zero open documents.
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?
Front-loaded with the purpose and safety note first, then the routing hint, then returns. The Returns and Example blocks are somewhat redundant for a zero-arg tool but are short and well-ordered.
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 zero-parameter read tool with an output schema present, the description supplies everything an agent needs: purpose, safety profile, routing to activate_document, and a preview of the return fields.
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?
Zero parameters, so the baseline of 4 applies; there is nothing for the description to clarify beyond an empty argument list.
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 ('List every SolidWorks document that is currently open'), which is unambiguous against siblings like list_components, list_features, or discover_solidworks_docs. No schema needs to be opened to know what it does.
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 frames the use case — discover what is open (assembly plus parts, drawing plus model) before switching with ``activate_document`` — and names the downstream sibling. It gives clear context but no when-not guidance or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_template_libraryB
List available templates from the template library.
This tool provides browsing and searching capabilities for the organization's template library.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions 'browsing and searching capabilities' but fails to disclose behavioral traits such as read-only nature, required permissions, or output structure.
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 concise, using two sentences without extraneous information. However, its brevity sacrifices needed 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?
Despite having an output schema and many sibling tools, the description lacks completeness. It does not cover how browsing/searching works, what parameters to pass, or how it fits with other template-related tools.
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 input schema has one generic object parameter 'input_data' with no structural details. The description does not explain what input_data should contain or how to use it, leaving the agent with no guidance.
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 verb 'List' and resource 'available templates from the template library', and mentions browsing and searching capabilities. It distinguishes from sibling tools like create_template and apply_template.
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 for browsing/searching templates but does not provide explicit when-to-use or when-not-to-use guidance or compare with alternative tools like extract_template or compare_templates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_assemblyA
Load (open) a SolidWorks assembly file.
Convenience wrapper that opens a .sldasm file and makes it the active document. Provides a simpler alternative to open_model for assemblies.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes core behavior (open and activate .sldasm file) but omits details like error handling or file state. Without annotations, a bit more depth would be beneficial, but the essential transparency is provided.
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 sentences, no filler. First sentence states purpose, second adds context and alternative. Perfectly front-loaded and 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 load tool with only one parameter and an output schema, the description is sufficient. It covers purpose, usage, and comparison to sibling.
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 schema already describes the single parameter. The description adds no extra meaning beyond 'Full path' which is already in 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 states it loads a SolidWorks assembly file and makes it active. It uses specific verb 'Load' and resource 'SolidWorks assembly file', and explicitly contrasts with sibling 'open_model'.
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 describes as a convenience wrapper for assemblies and singles out 'open_model' as an alternative, giving agents clear guidance on when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_partA
Load (open) a SolidWorks part file.
Convenience wrapper that opens a .sldprt file and makes it the active document. Provides a simpler alternative to open_model for parts.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool loads and makes the document active but does not disclose details such as whether it closes the current document, checks for existing open files, or returns any result. This is adequate but lacks depth.
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 consists of two concise sentences with no redundant information. It is efficiently structured and front-loaded with the core 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 a simple tool with one parameter and an existing output schema, the description adequately covers the basic functionality. It could benefit from mentioning expectations about document management, but overall it is complete enough given the context.
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 parameter file_path is described in the schema as 'Full path to the .sldprt file'. The description does not add further meaning beyond the schema. With 100% schema coverage, baseline is 3.
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 loads/opens a SolidWorks .sldprt file and makes it the active document. It distinguishes itself from the sibling tool open_model as a simpler alternative for parts, providing a specific verb and resource.
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 mentions it is a convenience wrapper for parts and an alternative to open_model, giving clear context for when to use it. However, it does not explicitly state when not to use it or discuss alternatives for other file types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_api_interfaceC
List every indexed member (methods + properties) of a COM interface.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only index lookup via 'List', but says nothing about preconditions (does an index file need to exist?), what happens when the interface name is unknown, or how the 'year'/'index_file' overrides change resolution. For a zero-annotation tool this is a significant 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 with zero filler; the enumeration scope is 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?
An output schema exists, so return values need not be explained, and the one-line purpose is accurate. However, with no annotations, an opaque top-level wrapper parameter, and no sibling routing, the definition is only minimally sufficient for an agent to call it 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 description coverage is reported at 0%, and the description adds no parameter meaning whatsoever. The top-level 'input_data' wrapper is entirely opaque in both schema and description, so the agent gets no help understanding that the interface name must be nested inside it (the nested fields themselves do carry brief descriptions, which softens but does not fix 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 gives a specific verb and resource: 'List every indexed member (methods + properties) of a COM interface.' The scope (interface-level enumeration, not a single member) distinguishes it implicitly from member-level siblings like lookup_api_method and find_related_api_members, though it never names them.
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 and no routing against the obvious alternatives (lookup_api_method, find_related_api_members, search_solidworks_api_help). The agent must infer from the tool name alone when interface-level enumeration is preferred over member lookup or help search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_api_methodA
Look up one SolidWorks API method or property by interface + name.
Confirms the member is indexed on that interface and returns its sibling members for context. The local index stores names only, so full signatures (parameters, return type) are not available here - use search_solidworks_api_help or help.solidworks.com for those.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does useful work: it discloses that the local index stores names only, that signatures are unavailable, and that sibling members are returned for context. It omits things like index freshness or error behavior on a miss, but the data-scope disclosure is genuinely valuable.
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 short sentences, front-loaded with what the tool does, then the return behavior, then the limitation and fallback. Efficient and well-ordered, though the middle clause about sibling members could be folded more tightly.
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?
An output schema exists, so return values needn't be described, and the description correctly focuses on the names-only limitation and the limitation's workaround. Complete for selection; only the sibling disambiguation is 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 description coverage registers 0% at the top level, but the description only restates 'by interface + name' and adds no syntax, format, or optionality guidance (year, index_file go unmentioned). The nested property descriptions carry the real detail, so baseline 3 is appropriate rather than penalizing further.
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 (Look up) and resource (one SolidWorks API method or property) scoped by interface + name. Clear enough to distinguish from search_solidworks_api_help, which it explicitly defers to for signatures, but it never contrasts itself with the closely related sibling find_related_api_members.
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 implies usage ('Confirms the member is indexed on that interface and returns its sibling members') and points to search_solidworks_api_help / help.solidworks.com when signatures are needed. However, it gives no explicit when-to-use vs the overlapping siblings lookup_api_interface and find_related_api_members, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_design_tableB
Create or manage design tables for parametric modeling.
Design tables allow you to create multiple configurations of a part or assembly by driving parameters from an Excel spreadsheet.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions that parameters are driven from Excel and that design tables can be created or managed, but it fails to disclose behavioral details such as whether operations are destructive, required permissions, or side effects like overwriting existing tables. The description is too vague for a mutation 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?
The description is two sentences long, efficiently conveying the core purpose without extraneous information. It is front-loaded with the key verb and resource, followed by a brief explanatory clause. 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?
Given the tool's complexity (1 required parameter that is a complex object with many options) and the existence of an output schema, the description lacks completeness. It does not explain what the tool returns, how the operations (create, update, import) work, or any additional context about the expected behavior. The description is insufficient for an agent to use the tool effectively without deeper knowledge from the 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?
Schema description coverage is 100%, so the baseline is 3. The description adds the context that design tables drive parameters from Excel, but it does not provide additional semantics for the parameters beyond what is already in the schema descriptions (e.g., 'Operation alias', 'Excel file path'). The description does not help the agent understand parameter relationships or typical usage.
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 verb 'Create or manage' and the resource 'design tables for parametric modeling'. It distinguishes this tool from its siblings, which are about sketches, extrusions, assemblies, etc., by focusing specifically on design tables and parametric configurations.
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 a use case (driving parameters from Excel for multiple configurations) but does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusions or prerequisites. There is no mention of when not to use it or comparisons to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_file_propertiesB
Read, update, copy, move, rename, or delete file-related properties.
Uses the requested operation and file paths to manage SolidWorks file metadata or related file lifecycle tasks through the active adapter.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions the tool can both read and mutate properties, implying destructive actions, but does not detail reversibility, permissions, or side effects. It also references an 'active adapter' without explanation.
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 extremely concise: two sentences with no fluff. It front-loads all key operations.
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 an output schema and nested parameters, the description does not explain usage scenarios, error conditions, or return behavior. For a multi-operation tool, more context would be beneficial.
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 the baseline is 3. The description adds minimal value beyond the schema, only stating that the tool uses the requested operation and file paths.
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 reads, updates, copies, moves, renames, or deletes file-related properties. It specifies the resource (SolidWorks file properties) and lists multiple verbs, making the purpose clear. However, it does not differentiate from sibling tools like get_file_properties or save_file.
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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
measure_entitiesA
Measure faces, edges or vertices with SolidWorks' Measure tool.
One face gives its area and perimeter; one edge its length (and radius and diameter for an arc); two entities give the distance and angle between them. Entity coordinates are in metres. Clears the selection afterwards.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | One or two entity specs. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description must carry the full behavioral load. It provides crucial operational context that is not in the schema: the coordinate system (metres) and the post-action (clears the selection).
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 efficient, front-loading the main purpose and then logically progressing to detail the measurement outcomes and coordinate system before ending with the system state change (clearing selection).
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 that entity specifications are highly technical, the description is maximally complete by defining the expected coordinate units and outlining the exact data returned based on input count (1 vs 2 entities).
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 100% schema coverage, the description serves primarily to reinforce the complex string format defined in the schema and clarify the derived data (e.g., that one edge yields length/radius).
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 specific function (measure entities) and enumerates the resources it acts upon (faces, edges, vertices). It distinguishes its operation by specifying the output for single vs. multiple 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?
It implies the usage context (needing a measurement) but does not explicitly guide the agent on when to use it over alternative dimension or analysis tools present in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mirror_featureA
Mirror solid bodies or features about a plane.
Selects the named sources and the mirror plane, then mirrors them. The mirror is verified by comparing model volume before and after: SolidWorks can report a feature even when it mirrored nothing, so a volume that did not grow is reported as an error rather than a false success.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Source names, mirror plane, and merge/mirror_bodies flags. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses a non-obvious failure mode (SolidWorks reporting a feature even when nothing was mirrored) and the volume-comparison verification that turns that into an error. It does not state whether the operation is destructive or requires an active document, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first line; the second paragraph is longer but its content (volume verification) is genuinely non-obvious and earns its space. Minor redundancy in restating the mirror step.
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 an output schema and no annotations, the description supplies the key behavioral caveat an agent needs (false-success guard) and the operating sequence. Auth/permission expectations and active-document requirements are unstated, a modest 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% and the nested parameters (features, mirror_plane, merge, mirror_bodies) are already richly documented in the schema, including the lofted-wing naming caveat. The description adds no parameter-level detail 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?
States a specific verb+resource ('Mirror solid bodies or features about a plane') and scopes it to solid bodies/features, which implicitly distinguishes it from sketch_mirror and pattern_circular. It does not name a sibling explicitly, 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 second sentence explains the operational sequence (select sources and plane, then mirror), which implies usage, and the mirror_bodies note hints at when a feature mirror fails. But there is no explicit when-to-use vs sketch_mirror/pattern_circular routing or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_modelA
Open a SolidWorks model (part, assembly, or drawing).
Opens an existing SolidWorks file and makes it the active document for further operations. Supports all standard SolidWorks file formats and provides detailed model information upon successful opening.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions making the document active and providing detailed model information, which adds some behavioral context. However, with no annotations, it lacks details on side effects (e.g., closing other documents), error handling, or permissions.
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 concise sentences, front-loaded with purpose. Every sentence contributes value without 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?
The description covers basic purpose but lacks details on output structure (despite existing output schema), error conditions, or prerequisites. Adequate for a simple tool but could be more 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 coverage is 100% with clear parameter description. The description adds marginal value by stating 'supports all standard SolidWorks file formats' but does not significantly enhance understanding 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 clearly states the action (Open) and the resource (SolidWorks model), specifying applicable types (part, assembly, drawing). It effectively distinguishes from sibling tools like create_* or close_model.
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 for opening existing files for further operations but does not explicitly differentiate from similar tools (e.g., load_part, load_assembly) or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_macroC
Optimize an existing macro for better performance and reliability.
This tool analyzes and suggests improvements to existing macro code.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Ambiguous whether it modifies the macro or just suggests improvements. No disclosure of side effects, permissions, or safety. No annotations to compensate.
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 sentences, no wasted words. Could benefit from more structure, but conciseness is good.
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?
Lacks details on input expectations, output (output schema exists but not described), and differentiation from similar tools. Incomplete for reliable agent use.
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?
Single generic 'input_data' param with vague schema description. The tool description adds no clarity on what data to provide (e.g., macro code or name).
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 states 'optimize an existing macro' with verb+resource. Differentiates from 'analyze_macro' by implying improvements, though not sharply.
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 versus alternatives like 'analyze_macro' or 'execute_macro'. Missing context for prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_performanceC
Optimize SolidWorks performance settings.
This tool analyzes the current SolidWorks configuration and suggests or applies performance optimizations.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It does not explain whether the tool automatically applies changes or only suggests them, what modifications are made, if any permissions are needed, or if the changes are reversible. The phrase 'suggests or applies' adds ambiguity rather than clarity.
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 concise at two sentences, front-loading the purpose. However, it sacrifices necessary detail; a slightly longer description with clearer behavioral context would still earn a 4 for 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 complexity of performance optimization in SolidWorks and the absence of annotations, the description is incomplete. It does not specify what types of optimizations are performed, how the tool interacts with the software, or what the output looks like (though an output schema exists). An agent would lack sufficient context to confidently use this 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 single parameter 'input_data' has a generic schema description ('The input data value.') and allows arbitrary properties. The description adds no information about what should be included in this input, such as configuration keys or optimization preferences. With high schema coverage but minimal meaning, the baseline of 3 is not justified.
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 analyzes and optimizes SolidWorks performance settings, using a specific verb ('optimize') and resource ('performance settings'). However, it ambiguously says 'suggests or applies', which reduces precision. Among many siblings, no other tool targets performance, so distinctiveness is adequate.
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 explicit guidance on when to use this tool versus alternatives. The description implies it is for performance optimization but does not state prerequisites, when not to use it, or mention any alternative tools. The sibling list contains no similar tools, but the description fails to provide clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pack_and_go_assemblyA
Copy a SolidWorks assembly and all its referenced parts to a self-contained folder.
Enumerates every component referenced by the active assembly, copies the
assembly and each part into target_dir, then rewrites the stored
component paths inside the copied assembly so it opens without any
dependency on the original file locations — equivalent to the SolidWorks
GUI Pack-and-Go operation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | The input data value. Defaults to None. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behavioral traits: enumerates components, copies files, rewrites paths, and eliminates original dependencies. Does not explicitly state that original files are unmodified, but with no annotations, coverage is good.
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?
Concise two-paragraph structure: first sentence states core purpose, second paragraph details mechanics. Front-loaded and no superfluous 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?
Given the tool's complexity and presence of an output schema (per context signals), the description sufficiently covers the operation's essentials. No need to detail return values per rules.
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 baseline 3 applies. Description does not add significant meaning beyond the schema's parameter descriptions, which already detail source_path, target_dir, export_preview, and overwrite.
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?
Description clearly states 'Copy a SolidWorks assembly and all its referenced parts to a self-contained folder' with specific verb and resource. Distinguishes from sibling tools which are about modeling, sketching, or drawing operations.
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?
Describes the operation as equivalent to SolidWorks Pack-and-Go, implying usage for creating self-contained copies. However, it does not mention when not to use or provide alternatives, though context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pattern_circularA
Pattern features around an axis.
Selects the named axis and features, then creates a circular pattern. The pattern is verified by comparing model volume before and after: SolidWorks can report a feature even when it patterned nothing, so a volume that did not grow is reported as an error rather than a false success.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Feature names, axis, count, angle, and equal_spacing. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers the most valuable disclosure here: the pattern is verified by comparing model volume before and after, and a pattern that didn't change volume is reported as an error rather than a false success. This is real behavioral context beyond anything in the structured fields. It does not cover permissions or whether the operation is reversible, leaving a minor 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?
Front-loaded with a one-line purpose, then a tight paragraph on execution and self-verification. Every sentence carries information; nothing is restated 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?
An output schema exists, so return values need not be described, and the description still adds the critical failure-mode behavior (volume-unchanged reported as error) that an agent must anticipate. With no annotations, it could say more about permissions or side effects, but coverage is otherwise solid for a single nested-object parameter.
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 axis, angle, count, features, and equal_spacing are already documented in the schema. The description only names 'axis' and 'features' and adds no syntax, format, or constraint detail beyond what the schema provides — 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 — patterning features around an axis — and clarifies it operates on named features selected with a named axis, which separates it from the sketch-level sketch_circular_pattern. It stops short of naming that sibling explicitly, so distinction requires inference from the word 'features'.
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 happens procedurally ('Selects the named axis and features, then creates a circular pattern') but gives no when-to-use conditions, prerequisites, or comparison against alternatives like sketch_circular_pattern. The agent gets no signal about when this tool is the right choice versus a sketch pattern or mirror.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rebuild_modelA
Force a rebuild of the active model and report what is wrong.
Use after programmatic edits (set_dimension, feature edits) to
confirm the model rebuilds cleanly. When features fail, the response
is an error whose data.errors names each failing feature with its
SolidWorks error code, the features/sketches it depends on, and a
concrete hint for fixing it. Warnings alone still succeed.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``top_level_only`` for assemblies; omit for a full rebuild. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that failures surface as an error containing data.errors with per-feature SolidWorks error codes, dependency chains, and a fix hint, and that warnings alone still succeed. It omits whether the call mutates geometry or requires an open/unsaved document, which leaves a gap for a write-like 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?
Three short paragraphs: purpose first, then the usage trigger, then the failure contract. Every sentence contributes new information and nothing is redundant with the 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?
An output schema exists, yet the description still front-loads the one thing an agent must know to react correctly: errors carry structured per-feature diagnostics while warnings do not fail the call. For a zero-required-parameter rebuild tool, nothing essential is 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 description coverage is 100% and the single parameter top_level_only is documented in the schema itself, so baseline 3 applies. The description adds nothing about the assembly-scope flag or the full-rebuild default, so it neither compensates nor detracts.
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 ('Force a rebuild of the active model') plus a secondary outcome ('report what is wrong'), which is far more informative than the bare name. It doesn't explicitly distinguish itself from the similarly-scoped sibling verify_model, so an agent still has 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?
Gives a concrete trigger: 'Use after programmatic edits (set_dimension, feature edits) to confirm the model rebuilds cleanly.' That is clear when-to-use guidance tied to named sibling operations. No explicit when-not or statement about preferring verify_model instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_featureA
Rename a feature on the feature tree.
SolidWorks silently refuses a rename onto a name another feature already uses, so the new name is read back and a mismatch is reported as an error rather than a quiet success. Renaming a feature to its current name is a no-op success.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The feature and its new name. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does a strong job disclosing failure semantics: silent rename refusal on name collisions, read-back verification, error on mismatch, and no-op success for same-name renames. It still omits prerequisites, side effects, and undo behavior, so it is not fully comprehensive.
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 tightly structured: purpose first, then two concise behavioral facts. Every sentence earns its place, and no redundant or filler text is present.
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 covers the core rename operation and its important error/no-op semantics, and an output schema exists so return-value details are not needed. It is complete enough to call correctly, though it could mention what happens when old_name does not match any feature.
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 nested old_name and new_name parameters are already documented in the schema. The description adds no syntax or format detail beyond the schema, which is the expected baseline when structured fields already carry the load.
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 opens with a specific verb and resource: 'Rename a feature on the feature tree.' That is clear and distinct from sibling operations like delete_feature or suppress_feature, but it does not explicitly name or differentiate against any alternative tool, so it falls short of the top score per the rubric.
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 delete_feature or suppress_feature, nor any stated prerequisites like needing an open document. The behavioral notes about duplicate names and no-op renames are useful but do not constitute usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_asB
Save the current model to a new location or format.
Saves the currently active SolidWorks document with a new filename, location, or file format. Supports multiple export formats for interoperability with other CAD systems and manufacturing workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It mentions 'save' (mutating) and 'supports multiple export formats' but omits details on whether the original document remains open, permission requirements, or error handling. Overwrite behavior is only in schema, not described.
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 sentences, front-loaded with key action, no redundancy. Efficiently conveys core 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?
Output schema exists (assumed covers return values), but description lacks differentiation from similar siblings (save_file), prerequisites, and postconditions. Adequate for a save operation with moderate 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 description coverage is 100%, so baseline is 3. The description adds context ('interoperability') but does not elaborate on format_type values or default behavior beyond what schema 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 clearly states the verb 'Save' and resource 'current model' with specific actions: new filename, location, or file format. This distinguishes it from siblings like save_file (overwrite) and export_* (specific format exports).
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 save_as vs siblings like save_file or export_step. The description implies usage for new location/format but lacks explicit when-not and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_assemblyA
Save the active SolidWorks assembly document.
Convenience wrapper that saves the currently active assembly. If no file_path is provided, saves to the existing location. Otherwise, saves as a new file.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | The input data value. Defaults to None. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It explains the save operation and the effect of the file_path parameter. It doesn't mention potential side effects like overwriting or error states, but the essential behavior is transparent.
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 two sentences long, front-loaded with purpose, and no extraneous information. Every sentence adds value.
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's simplicity (1 parameter, output schema exists, 100% schema coverage), the description fully covers the necessary context for an agent to use it 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 100%, so baseline 3. The description adds some context (saving to existing location vs. new file) but does not significantly extend beyond the schema's parameter descriptions.
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 verb 'save' and the resource 'active SolidWorks assembly document'. It distinguishes itself from sibling tools like save_file, save_as, and save_part by specifying it operates on the active assembly.
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 when to use it (active assembly) and the conditional behavior based on file_path (save to existing location vs. new file). It doesn't explicitly mention when not to use or compare to alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_body_as_partA
Extract one solid body from the active multibody part to a new file.
Runs SolidWorks' Save Bodies on a single named body, writing a
standalone part to file_path. The body is matched by name against
the active part's solid bodies; the response lists every solid body
found, so an unknown name reports the real options. Success is
confirmed by the file existing on disk afterwards.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The body name and target path. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that bodies are matched by name, that an unknown name yields a response listing the real options, and that success is verified by the file existing on disk. It omits overwrite behavior and any permissions/prerequisite disclosure, so it is strong but not exhaustive.
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 core action is front-loaded in the first sentence, and the following sentences each add distinct behavioral detail (name matching, response contents, success check). It is slightly verbose but every sentence 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?
For a nested-parameter tool with an output schema, the description need not explain return values, yet it still usefully notes the response lists found bodies. It covers the main behavioral edge (unknown name) and verification method, leaving only secondary concerns like overwrite and error conditions unstated.
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 the baseline is 3, but the description adds genuine meaning: body_name is matched against the active part's solid bodies, and file_path receives the extracted standalone part. This complements the schema rather than repeating it.
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: 'Extract one solid body from the active multibody part to a new file.' It names the underlying SolidWorks operation (Save Bodies) and the exact output (a standalone part at file_path), which distinguishes it from whole-document savers like save_part or save_as.
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 clear: it applies to the active multibody part and a 'single named body,' which implicitly excludes whole-part saves. However, it never explicitly names an alternative (e.g., save_part) or states when-not-to-use, so the routing is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_fileA
Save the current SolidWorks model.
Saves the currently active SolidWorks document to its existing file location. Essential for preserving work and maintaining document version control. Handles both modified and unmodified documents based on force_save setting.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool saves the active document and handles forced saves, but does not detail side effects like overwriting behavior, error handling, or requirements (e.g., document must be open). Lacks depth.
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 sentences that efficiently convey purpose, scope, and key parameter effect. No redundancy or fluff. Front-loaded with essential 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 simple save tool with an output schema present, the description covers main behavior. It could mention error conditions (e.g., no active document) or consequences of overwriting, but overall adequate given tool simplicity.
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 baseline is 3. The description adds context for force_save ('Handles both modified and unmodified documents based on force_save setting'), but does not elaborate on file_path beyond what schema says. Some added value but limited.
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 saves the current SolidWorks model/document. It specifies the verb 'save' and resource 'current SolidWorks model', and distinguishes from siblings like save_as by emphasizing saving to an existing file location.
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 for preserving work and version control, and mentions handling based on force_save. However, it does not explicitly state when to use this tool vs alternatives like save_as, save_part, or save_assembly, lacking exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_partB
Save the active SolidWorks part document.
Convenience wrapper that saves the currently active part. If no file_path is provided, saves to the existing location. Otherwise, saves as a new file.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | The input data value. Defaults to None. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the effect of file_path (existing vs new location) but does not disclose error behavior when overwrite is true and file exists, nor any potential data loss risks. The 'convenience wrapper' label is vague.
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 concise sentences. The purpose is front-loaded, and every sentence adds necessary detail. No 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?
Given the tool's simplicity and presence of output schema, the description covers essential behavior. However, it could mention that it only works for an active part and under what conditions it fails (e.g., no active part).
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 baseline is 3. The description adds value by explaining the behavior when file_path is omitted versus provided, but the overwrite parameter is not elaborated 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 clearly states the tool saves the active SolidWorks part document. It distinguishes from sibling save tools by specifying it operates on the 'active' part, though it does not explicitly contrast with alternatives like save_file or save_as.
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 when saving the active part, but lacks explicit guidance on when not to use it or how it compares to siblings (e.g., save_assembly). No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_to_template_libraryB
Save template to the organization's template library.
This tool manages a centralized template library with categorization and version control.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must convey behavioral traits. It mentions categorization and version control but does not disclose side effects like overwriting behavior, required permissions, or error states. Minimal transparency for a mutation 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 concise sentences efficiently convey the core function and additional features without unnecessary 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?
The presence of an output schema is noted, but the tool has a vague input parameter and lacks details about template format, library structure, or behavior under edge cases. Given the opaque parameter, the description is incomplete for reliable 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?
The single parameter 'input_data' has a vague schema description ('The input data value.') and the tool description adds only generic context about categorization and version control. The schema coverage is 100% but the descriptions are insufficient to fully understand the expected structure.
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 states the action: 'Save template to the organization's template library.' It also adds context about management, categorization, and version control, distinguishing it from siblings like 'save_file' and 'create_template.'
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 explicit guidance on when to use this tool versus alternatives. The name and description imply usage for saving templates to a library, but there are no when-not-to-use indications or mention of sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_solidworks_api_helpA
Search SolidWorks API help index and return coherent guidance.
This tool helps when the LLM gets stuck by mapping user intent to discovered COM members and practical MCP workflow guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | The input data value. Defaults to None. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description explains that it returns 'coherent guidance' and 'maps user intent to COM members and workflow guidance'. Lacks details on side effects, permissions, or limitations.
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 sentences, front-loaded with purpose, no wasted words.
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 output schema existence and full input schema coverage, the description is complete for a search tool. Minor gaps in transparency prevent a 5.
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 description does not need to add parameter details. It does not elaborate beyond the schema's own descriptions.
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 searches the SolidWorks API help index and returns guidance. It distinguishes from modeling and utility siblings by focusing on help retrieval.
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 explicit context: 'when the LLM gets stuck'. Implies when to use but does not list alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_face_edgesA
Select every edge of one face of the active part (multi-select).
Identify the face with exactly one of point (a point on it, mm),
side (top/bottom/front/back/right/left or
+X..-Z; top=+Y, front=+Z, right=+X as in SolidWorks' default
views - the furthest flat face facing that way) or plane (a
reference plane name - the body face lying on it). edge_type
narrows to linear or circular edges (e.g. hole rims).
The edges become the live SolidWorks selection, so the next
add_chamfer / add_fillet call with an empty edge_names
acts on exactly them. Anything that changes the selection in between
(including the user clicking in SolidWorks) changes what is used.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | Face identifier, edge filter and append flag. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the side effect of mutating global SolidWorks selection state and warns that anything else changing the selection (including a user click) invalidates the result. It does not state whether it requires an active/loaded document or how failures (no matching face) surface.
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?
Front-loaded with the action, then the face-identification contract, then the downstream effect - a logical order. Some of the side/plane wording duplicates the schema, so it is slightly longer than strictly necessary.
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?
Output schema exists, so return values need no explanation; the description covers face identification, the mutual-exclusivity constraint, filtering, and the stateful downstream contract with add_chamfer/add_fillet. An agent has everything needed to call it correctly in the workflow.
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 baseline would be 3, but the description adds the critical 'exactly one of point / side / plane' exclusivity rule that the schema does not express. It also clarifies side direction conventions (top=+Y, front=+Z, right=+X) and gives an edge_type example (hole rims), though much of this repeats the schema descriptions.
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 ('Select') plus precise resource ('every edge of one face of the active part') with an explicit multi-select qualifier. It is clearly distinct from select_feature, select_face_edges' siblings like get_selected_entities and select_feature, which query or select features rather than face edges.
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 explains the exact consumption pattern: the edges become the live SolidWorks selection so the next add_chamfer/add_fillet with an empty edge_names acts on them. It does not explicitly rule out alternatives (e.g. when to use select_feature or passing explicit edge_names instead), so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_featureA
Select a named feature, sketch, plane or component.
Replaces the current selection by default; pass append: true to
add to it (e.g. to select several features in turn). A name that
cannot be selected is an error, never a quiet success.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The feature name and append flag. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does so on the two highest-risk points: it silently destroys the existing selection unless append is set, and an unselectable name raises an error rather than succeeding quietly. It stops short of stating document/context requirements or whether the selection persists across operations.
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 selects, the default-vs-append rule, and the failure mode. The destructive default is front-loaded immediately after the purpose, before the optional modifier.
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?
An output schema exists, so return values need no explanation, and the sole nested parameter is fully documented in-schema. Selection replacement semantics and error behavior are covered; only preconditions (active document, valid selection context) are absent, which is a minor gap for a one-parameter 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%, with both feature_name and append documented in-schema including examples and the default. The description restates the append behavior but adds no syntax or format detail beyond the schema, 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?
Specific verb ("Select") plus enumerated resource types (feature, sketch, plane, component), which is clear and scoped. It does not distinguish itself from near-neighbors such as select_face_edges or get_selected_entities, so an agent must infer the boundary from the entity types alone.
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 the two modes of use (replace by default, append:true to accumulate) with a concrete example of selecting several features in turn. It gives no guidance on when to prefer the sibling select_face_edges for faces/edges, nor on prerequisites like an active document, so usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_custom_propertyA
Create or overwrite one text custom property on the active document.
Typical names: PartNo, Description, DrawnBy, Revision.
The value is read back after writing, so success means it was stored.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | ``name`` and ``value``, plus an optional ``configuration``. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add real behavioral detail: it discloses overwrite semantics, the text-only limitation, and that the value is read back so success is verifiable. It omits permission/error behavior and cross-configuration effects, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and scope, followed by concrete examples and the verification guarantee. 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?
Given an output schema exists and schema coverage is complete, the description covers the essentials an agent needs: operation, target, text-only scope, and success verification. A note on configuration scoping would make it 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 coverage is 100%, so name, value, and configuration are already documented. The description only echoes the typical name examples and says nothing about the optional configuration parameter or the $PRP link form beyond what the schema provides – baseline 3.
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 clear verb (create or overwrite) plus resource (one text custom property) and scope (the active document). An agent can easily distinguish this from the read-oriented sibling get_custom_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?
Gives clear context for going ahead: it writes/overwrites a text property on the active document. It never names the alternative get_custom_properties or states when not to use this tool, so exclusions are missing, but the intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_dimensionA
Set the value of a dimension in the current model.
This tool modifies the value of a named dimension and rebuilds the model. Use this to parametrically modify your model dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that the tool rebuilds the model, which is a behavioral consequence. Without annotations, it lacks details on prerequisites (e.g., model must be open) or 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?
The description is two sentences, concise and front-loaded with the core purpose. No extraneous 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?
Given the tool's simplicity and presence of output schema, the description is mostly complete. It lacks failure conditions or mention that a model must be active.
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 description adds no additional meaning beyond the schema. Baseline score of 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 states the action ('Set the value'), resource ('a dimension'), and context ('in the current model'). It differentiates from siblings like 'get_dimension' (read) and 'add_dimension' (add new).
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 explicitly recommends use for parametric modification. However, it does not state when not to use this tool or mention alternatives like 'add_dimension'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_materialA
Assign a library material to the active part.
The material drives mass properties (get_mass_properties) and what
a title block's Material field shows. The name must match the library
exactly; find it with list_available_materials. The material is
read back after assignment, so success means it really applied.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | ``material_name``, plus optional ``database`` and ``configuration``. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does well: it says the material drives mass properties and title block fields, requires an exact library match, and is read back after assignment so success means it applied. It does not cover failure modes or permission requirements, but it gives meaningful behavioral context for a mutation 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?
The description is compact and front-loaded: the core assignment action comes first, followed by consequences, naming requirement, and verification. Every sentence adds useful information without 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?
The tool has a nested input object and an output schema, so the description need not explain return values or optional parameter defaults. It covers the active-part scope, exact-name prerequisite, material effects, and verification, leaving only minor gaps around 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 description coverage is 100%, so the nested material_name, database, and configuration parameters are already documented. The description reinforces the exact-name requirement and points to list_available_materials, but adds little beyond what the schema already says.
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: assigning a library material to the active part. The scope ('active part') and effect ('mass properties', 'title block Material field') make it easy to distinguish from read siblings like get_material or list_available_materials.
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 gives the prerequisite that the material name must match the library exactly and routes the agent to list_available_materials to find it. It does not explicitly state when not to use this tool, but the write/assign context is clear enough against sibling read tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sheet_scaleB
Set the active drawing sheet's scale; views using the sheet scale follow.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | ``numerator`` and ``denominator``, e.g. 1 and 2 for 1:2. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one genuinely valuable behavioral trait: views using the sheet scale follow the change. It does not state that views with an overridden/custom scale are unaffected, whether the operation requires an active drawing document, or what happens when no sheet is active — all material for an unannotated mutation 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 front-loaded sentence with the primary action first and the side effect second. Nothing is redundant 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?
Return values are covered by the output schema and the parameter is fully specified, so the core is adequate. But for an unannotated mutation tool, the description omits preconditions (an active drawing sheet must exist), failure behavior, and the interaction with individually scaled views — the gaps an agent would most likely trip over.
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 parameter is fully documented in the schema (numerator/denominator with a 1:2 example and positivity constraints), so the high schema coverage sets the baseline at 3. The description adds no meaning beyond that — it never mentions numerator/denominator, the ratio representation, or what the null default implies.
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 the active drawing sheet's scale') and adds a scoping clause that clarifies what the scale applies to. An agent can tell this changes the sheet-level scale rather than an individual view, though it does not name a sibling (e.g., update_sheet_format or set_dimension) that a similar-sounding task might require.
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 stated prerequisites (an open document with an active drawing sheet), and no mention of the alternatives among the many drawing-related siblings such as update_sheet_format. Usage is only inferrable from the tool name and the propagated-effect clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_unitsA
Set the active document's linear unit system.
Accepts mm, cm, m, in or ft (plus common aliases
such as inch or millimeters). The setting is applied and then
read back from the document; if the readback disagrees the tool
reports an error rather than a false success.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The target unit system. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add genuine behavioral detail: the setting is applied and then read back, and a disagreeing readback yields an error rather than false success. That write-then-verify semantic is valuable. It stops short of stating side effects on existing geometry/dimensions or document-open prerequisites.
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 sentences, front-loaded with the purpose, then accepted values and then the verification behavior. No filler; the alias clause and readback clause each earn their 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?
An output schema exists, so return structure needn't be explained, and the description covers accepted inputs and the verification contract. For a single-parameter setter this is nearly complete; only document-open prerequisites and side effects on existing model data remain 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 100%, so the baseline is 3, but the description adds value beyond the schema by documenting that common aliases like 'inch' or 'millimeters' are accepted, which the schema's enum-like list ('mm, cm, m, in, or ft') does not mention.
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 precise verb and resource: 'Set the active document's linear unit system.' The scope ('active document') and the target (unit system) are unambiguous, and no sibling tool competes for this purpose.
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 when the tool applies (setting the active document's units) but gives no explicit when-to-use guidance, prerequisites, or exclusions. There is no named alternative to steer toward, so usage is only implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketch_circular_patternA
Create a circular pattern of sketch entities around the sketch origin.
Generates a circular array of selected sketch entities. The
rotation axis is always the sketch origin — SOLIDWORKS'
CreateCircularSketchStepAndRepeat does not expose a
pattern-centre parameter. Position the seed entity at the
desired radius from the origin; the pattern derives its radius
from the seed's centre.
Essential for creating bolt circles, gear teeth, and other radially symmetric features around the sketch origin.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behavior: rotation axis is sketch origin, radius derived from seed entity. With no annotations, description carries burden. However, it does not explain how input_data should be structured or any 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?
Two paragraphs, first sentence defines core purpose. Technical details follow without redundancy. No unnecessary words or vague statements.
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?
Provides enough context for basic usage but omits details about expected input structure (e.g., entity selection, instance count, angle). Given the tool has an output schema, return values are covered. However, the parameter ambiguity weakens completeness.
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 sole parameter 'input_data' has a minimal schema description ('The input data value.'). The tool description adds no further meaning about what should be provided, leaving the agent uncertain about required fields.
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 it creates a circular pattern of sketch entities around the sketch origin. It distinguishes from siblings like 'sketch_linear_pattern' by specifying the circular nature and the center being the origin.
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 explicit usage scenarios like bolt circles and gear teeth. Mentions the limitation that the center is fixed at the sketch origin, implying not to use when a different center is needed. Lacks explicit alternatives or when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketch_linear_patternB
Create a linear pattern of sketch entities.
Generates a linear array of selected sketch entities in specified direction(s) with defined spacing and count. Essential for creating hole patterns, vent grilles, and repetitive geometric features.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source. It mentions 'selected sketch entities' but does not explain selection requirements, error conditions, or whether the tool modifies the sketch. The core function is stated but behavioral details are lacking.
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 concise sentences that front-load the action. No wasted words, and structure is clear.
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 generic input schema and no annotations, the description should provide more guidance on the expected properties of 'input_data' and explain the output. It only hints at parameters without detail, leaving the agent underinformed.
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 input schema has a single generic 'input_data' parameter with a non-informative description. The tool description adds only abstract terms ('direction', 'spacing', 'count') without specifying how they map to the input data structure. Schema coverage is 100% but description adds minimal value.
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?
Description clearly states it creates a linear pattern of sketch entities, with specific examples like hole patterns and vent grilles. It distinguishes from the sibling tool sketch_circular_pattern by specifying 'linear', making the purpose unambiguous.
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?
Description implies usage by listing typical applications, but does not explicitly state when not to use this tool or mention alternatives like sketch_circular_pattern. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketch_mirrorA
Mirror sketch entities about a centerline.
Creates mirrored copies of selected sketch entities about a reference centerline, maintaining symmetrical design relationships. Essential for creating symmetric parts and reducing modeling time.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states that the tool 'creates mirrored copies' and 'maintains symmetrical design relationships,' but it does not explain whether the original entities are preserved, if a centerline must already exist, or how the selection is made. This leaves moderate ambiguity.
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 two sentences long and immediately states the core functionality. It is front-loaded with the purpose and adds value with the benefit statement. Every sentence earns its place without 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?
The output schema exists but was not provided; per guidelines, the description need not explain return values. However, the tool is moderately complex (generic input parameter, sketch context), and the description lacks details on prerequisites (e.g., active sketch, selected entities) or constraints. 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?
The input schema defines a single parameter 'input_data' as a generic object with empty description, and schema coverage is 100% (one parameter described). Despite this, the tool description does not elaborate on what properties 'input_data' should contain (e.g., selected entities, centerline reference). Baseline is 3 due to high schema coverage, but the lack of added meaning reduces the score.
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: mirroring sketch entities about a centerline. It specifies the action (mirror), the resource (sketch entities), and the reference (centerline). This distinguishes it from sibling tools like sketch_linear_pattern or sketch_circular_pattern, which create patterns rather than mirrors.
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 useful context by stating the tool is 'essential for creating symmetric parts and reducing modeling time.' This implies when to use it. However, it does not explicitly state when not to use it or offer comparisons to alternative tools, such as using patterns to achieve symmetry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketch_offsetA
Create an offset of sketch entities.
Generates offset copies of selected sketch entities at a specified distance, maintaining the original entity shape while creating parallel geometry. Essential for wall thickness, machining allowances, and clearance features.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes that original entity shape is maintained and parallel geometry is created, indicating non-destructive behavior. However, no annotations exist, and it lacks details on prerequisites (active sketch, selected entities) or 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?
Three sentences: purpose, behavior, use cases. Concise but the second sentence could be more compact.
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?
Lacks details on output (though output schema exists), prerequisites (active sketch, selection), and parameter structure. For a tool with a vague input parameter, more completion 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?
The single parameter 'input_data' is a generic object with minimal schema description. The tool description adds meaning ('selected sketch entities at a specified distance'), but doesn't specify the required keys or structure.
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 creates an offset of sketch entities, generating parallel copies at a specified distance. It distinguishes from siblings like sketch_mirror by focusing on offset, not mirroring.
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 mentions use cases (wall thickness, machining allowances, clearance features) but does not contrast with alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketch_tutorial_simple_holeA
Tutorial: Create a simple circular hole sketch.
Demonstrates complete workflow for creating a basic hole sketch that can be used for through-holes, counterbores, or other circular features. This tutorial shows the fundamental sketch-to-feature process.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Example: ```python # Learn basic sketching workflow result = await sketch_tutorial_simple_hole()
if result["status"] == "success":
print("Tutorial completed successfully!")
print("Steps performed:")
for step in result["steps"]:
print(f" - {step}")
print(f"Next: {result['next_steps']}")
```
Workflow:
1. Creates sketch on Top plane
2. Adds 2.5mm radius circle at origin (5mm diameter hole)
3. Exits sketch editing mode
4. Returns sketch ready for extrusion or cutting operations
Note:
- Demonstrates complete sketch creation workflow
- Creates standard 5mm diameter hole geometry
- Result is ready for negative extrusion to create hole
- Perfect starting point for learning SolidWorks automation| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It outlines the workflow steps (create sketch, add circle, exit sketch) and return values, but does not explicitly state side effects (e.g., whether it modifies an existing part or creates a new one). The 'Note' section adds some context but lacks safety or permission details.
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 structured with sections (Returns, Example, Workflow, Note) and front-loaded with a clear purpose. It is somewhat verbose but every sentence contributes information; a minor trim could improve conciseness.
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 no parameters and an output schema (indicated by context), the description explains the return dict and workflow steps. It covers the tutorial's purpose and outcome, though it could mention prerequisites (e.g., having a part open). Overall, it is sufficient for a tutorial 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?
There are no parameters, so the baseline is 4. The description adds value by explaining the tool's behavior and workflow, which compensates for the lack of param details.
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 as a tutorial for creating a simple circular hole sketch, using specific verbs like 'Create' and 'Demonstrates'. It distinguishes itself from sibling tools like 'tutorial_simple_hole' by focusing on the sketch workflow, not the full hole feature.
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 that the tool is for learning the fundamental sketch-to-feature process and is a 'perfect starting point for learning SolidWorks automation'. It implies usage for educational purposes and does not explicitly state when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_macro_recordingA
Start recording a SolidWorks macro.
This tool initiates macro recording to capture user actions for later playback and automation.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that recording captures user actions but does not mention whether it overwrites existing recordings, requires an open document, or what happens on errors.
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 efficient sentences, front-loaded with the key purpose, and no unnecessary words.
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 adequate for a simple tool but lacks context about output, session management, and prerequisites. Given the complexity (nested params, output schema), it could be more informative.
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 input schema has 100% description coverage for nested properties, so the schema provides adequate meaning. The description adds no extra semantic value beyond 'initiates macro recording'.
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 verb 'Start recording' and the resource 'SolidWorks macro', and it distinguishes from sibling tools like 'stop_macro_recording' and 'execute_macro'.
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 the tool is used to capture user actions for playback, but it does not explicitly state when to use it versus other tools nor provide any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_macro_recordingA
Stop macro recording and save the recorded macro.
This tool stops the active recording session and saves the generated macro code to a file.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It discloses that the tool stops recording and saves to a file, indicating a destructive write operation. However, it omits details like whether recording must be active or error 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 description is extremely concise with two sentences that are front-loaded and directly state the tool's action. No wasted words.
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 an output schema and a simple parameter structure. The description covers the basic action but lacks context like prerequisites (recording must be active) or error handling. It is adequately complete given the simplicity, but could be improved.
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 parameter input_data has a minimal description in the schema. The tool description adds no extra meaning beyond the schema, meeting the baseline but not exceeding it.
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 stops macro recording and saves the recorded macro, with a specific verb and resource. It distinguishes itself from sibling tools like start_macro_recording and execute_macro.
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 no explicit guidance on when to use this tool versus alternatives, such as execute_macro or analyze_macro. It only implies usage after starting recording but lacks exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suppress_featureA
Suppress or unsuppress a feature in the active model.
Suppressing rolls a feature and its children out of the model without deleting it — the reversible way to turn off a feature that is causing trouble.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The feature and desired state. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the key behavioral trait that suppression rolls the feature AND its children out of the model, and that it is reversible rather than destructive. It omits finer details like rebuild/regeneration side effects, but the core behavioral profile 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?
Two sentences, front-loaded with the action, followed by the one piece of clarifying behavioral detail that matters. No wasted words.
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 an output schema present and 100% param coverage, the description need only carry behavioral context, which it does (children affected, reversibility). Coverage is solid; only secondary details such as permission requirements or result effects 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% and the nested fields (name, suppress) are fully documented with examples and a default, so the schema does the heavy lifting. The description adds no format or syntax detail beyond confirming the active-model scope, making the baseline 3 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 ('Suppress or unsuppress a feature in the active model') and immediately distinguishes the operation from deletion, implicitly separating it from the delete_feature sibling. An agent can tell exactly what this does without opening the schema.
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 clear context for use ('the reversible way to turn off a feature that is causing trouble'), which frames when to reach for it over destructive alternatives. It does not name an explicit alternative or state a when-not condition, 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.
tutorial_simple_holeA
Create a simple hole as a guided tutorial workflow.
Builds a sketch circle on the selected plane, exits the sketch, and creates a cut feature using the supplied diameter and depth. Useful as an end-to-end example of a basic subtractive feature.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently outlines the multi-step process (build sketch, exit, cut feature) and clarifies it is a guided tutorial workflow. However, it does not disclose prerequisites like needing an active document or plane validity.
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 sentences: first states purpose, second details steps. No wasted words, front-loaded with key 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?
Given low complexity and presence of output schema, the description sufficiently explains the tool's behavior and workflow. Could mention the need for a sketch plane or that it assumes a clean state, but overall 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 coverage is 100% with descriptive parameter descriptions (e.g., depth: 'None for through hole'). The description adds minimal value beyond schema (e.g., references 'supplied diameter and depth'), 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 states the tool creates a simple hole as a guided tutorial workflow, with specific steps (builds sketch circle, exits sketch, creates cut). It distinguishes itself from siblings like 'sketch_tutorial_simple_hole' by focusing on the end-to-end subtractive feature rather than just sketch operations.
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 mentions 'useful as an end-to-end example of a basic subtractive feature,' implying tutorial use, but does not explicitly state when not to use or contrast with alternatives like 'create_cut_extrude' which achieves similar results more directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undoA
Undo the last operations in the active model.
SolidWorks accepts an undo with nothing left to undo without complaining, so the response reports whether the feature tree actually changed rather than assuming it did.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | How many steps to undo. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose a genuinely non-obvious behavioral trait: SolidWorks accepts a no-op undo silently, so the response reports whether the feature tree actually changed. This is real value beyond the schema. It stops short of covering scope beyond the active model, irreversibility, or failure modes, so it is not a full 5.
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 sentences, front-loaded with the action, and the second sentence justifies itself by explaining the response semantics. Slightly verbose phrasing ("rather than assuming it did") but no filler that warrants trimming.
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?
An output schema exists, so return values need not be re-explained, and the description appropriately frames the response semantics instead. For a single-parameter, low-complexity mutation it is largely complete, though it omits any note on undo scope limits or interaction with the feature tree beyond the active model.
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 count parameter and its default/minimum are fully documented in the schema. The description's phrase "last operations" (plural) loosely echoes the count semantics but adds no syntax or behavioral detail beyond what is already given.
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?
"Undo the last operations in the active model" gives a specific verb (undo) and resource (model operations) with scope limited to the active model. No sibling tool overlaps with undo semantics, so an agent can identify this unambiguously without opening the schema.
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 meaning of undo, but the description never states when to prefer it, what it does not cover, or how it relates to siblings like delete_feature or rebuild_model. Adequate but with no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sheet_formatC
Update the sheet format and title block information.
Applies drawing templates and updates title block fields with project information, revision data, and drawing metadata. Essential for standardized documentation and drawing control.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states that the tool applies templates and updates fields, but does not disclose any potential side effects, permissions required, or whether changes are 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?
The description is concise, with two sentences and a brief paragraph. It front-loads the main action and avoids unnecessary 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?
The tool has an output schema (not shown), so return values are not required in the description. However, the description lacks mention of output or side effects, and does not differentiate from similar sibling tools, leaving some contextual 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%, with each property having a clear description. The tool description adds no additional semantics beyond what the schema provides, achieving 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?
The description clearly states that the tool updates sheet format and title block information, and mentions applying drawing templates and updating fields. However, it does not explicitly differentiate from the sibling tool update_title_block, which may have overlapping functionality.
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 is provided on when to use this tool versus alternatives like update_title_block. There is no mention of prerequisites, restrictions, or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_title_blockB
Update title block fields for the active drawing.
Applies drawing metadata such as title, drawing number, and approval fields to keep documentation aligned with standards.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action without disclosing behavioral traits such as whether the tool modifies the file, requires the drawing to be active, or has any side effects. This is insufficient for safe invocation.
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 concise sentences front-load the verb and resource, with no extraneous information. Every phrase adds value.
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?
Even with an output schema present, the description lacks crucial context for a mutation tool: prerequisites (e.g., drawing must be active), error conditions, and whether changes are saved automatically. This leaves the agent underinformed.
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 describes the parameter 'input_data' as 'The input data value' with additionalProperties: true, which is vague. The description partially compensates by listing example fields (title, drawing number, approval fields), but does not fully define the structure or constraints, leading to a baseline score based on high 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 clearly identifies the tool's function (updating title block fields), specifies the resource (active drawing), and lists example metadata fields (title, drawing number, approval fields), effectively distinguishing it from sibling tools like update_sheet_format or add_note.
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 when documentation alignment is needed, but it does not explicitly state when to use this tool versus alternatives or provide any exclusion criteria, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_drawing_completenessC
Validate drawing completeness for production readiness.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | Yes | The input data value. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must supply behavioral context. It only states the purpose but does not disclose whether the tool is read-only or modifies data, what output it produces, or any side effects. The presence of an output schema does not compensate for the lack of behavioral description.
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 sentence, making it concise. However, it is too brief to provide substantive guidance, and while no unnecessary words are present, the extreme brevity sacrifices clarity. It is adequate but not exemplary.
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 presence of an output schema and many sibling tools with overlapping purposes, the description is insufficiently complete. It does not explain what 'completeness' entails, what the output contains, or how it relates to other validation tools like 'analyze_drawing_comprehensive' or 'check_drawing_compliance'.
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 input schema has one parameter 'input_data' described generically as 'The input data value.' Schema coverage is 100%, so the baseline is 3, but the tool description adds no meaning beyond the generic schema description. The parameter semantics remain vague, and the tool's description does not clarify how to structure the input data.
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 name and description clearly state the tool validates drawing completeness for production readiness, using a specific verb and resource. It distinguishes from siblings like 'check_drawing_standards' by focusing on completeness rather than standards compliance, though further differentiation from 'analyze_drawing_comprehensive' is not 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?
No guidance is provided on when to use this tool versus alternatives. Sibling tools include many validation and analysis functions, but the description offers no context about prerequisites, typical scenarios, or when this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_modelA
Check the active part or assembly against what you meant to build.
Call this as the last step of a build (and whenever a step looks suspicious). A modelling tool returning success does not prove the geometry is right; this reads the model back and compares it with your expectations. Give only the expectations you know; each becomes one check. With no expectations it just reports what it measured.
Units: mm, mm³ and kg. bounding_box_mm is the overall size
[x, y, z] in model axes (a sketch on the Front Plane extrudes
along z). Widen relative_tolerance when your hand calculation
ignores fillets or chamfers, and length_tolerance_mm when
measured.bounding_box_method is assembly_box (SolidWorks'
assembly box can be slightly larger than the parts). Mass depends on
the assigned material; without one SolidWorks uses a default density.
Each check reports expected, actual, tolerance and
passed: true, false, or null when the value could not
be measured (never counted as a pass). verdict is pass,
fail, inconclusive (nothing failed, something unmeasured) or
report_only. status stays success when the model does not
match: the tool worked, the model is what failed.
| Name | Required | Description | Default |
|---|---|---|---|
| input_data | No | Expectations and tolerances. Defaults to None (report only). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so thoroughly: it explains that a modelling success does not prove geometry is right, that checks report expected/actual/tolerance/passed, that null means unmeasured, and that status remains success even when the model fails. It also discloses unit, tolerance, material, and assembly-box caveats.
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?
Despite its length, the description is front-loaded and information-dense. The opening states purpose and usage immediately, then moves through expectations, units, tolerances, and result semantics without apparent 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?
The tool is complex, with many optional expectations and an output schema, and the description supplies the contextual details an agent needs: which expectations to provide, tolerance behavior, unit conventions, material caveats, and verdict/status semantics. Nothing critical appears to be missing for correct 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 100%, so the schema already documents each expectation field. The description adds useful semantics beyond the schema: units (mm, mm³, kg), how each supplied expectation becomes one check, and when to widen relative_tolerance or length_tolerance_mm.
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 opens with a specific verb and resource: 'Check the active part or assembly against what you meant to build.' It also explains the core mechanism — reading the model back and comparing it with expectations — which clearly distinguishes verification from creation or measurement 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 gives clear timing guidance: call this as the last step of a build and whenever a step looks suspicious. It also explains the no-expectations behavior, but it does not name alternative sibling tools or explicit when-not-to-use conditions.
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.
49 tool updates
v1.5.0- Added
activate_document - Added
add_chamfer - Added
add_datum_tag - Changed
add_fillet1 field changed- changed
Input schema / properties / input_data / properties / edge_names / descriptionPrevious value: -"Named edges to fillet (e.g. 'Edge<1>'). Leave empty to fillet all edges."New value: +"Edges (or faces) to fillet. Accepts a topology name (e.g. 'Edge<1>'), a coordinate hint in metres ('x,y,z') to select the nearest edge, or 'face:x,y,z' to select a whole face — which fillets every edge bounding it in one call. Prefer 'face:' over a coordinate on an edge that sits exactly on a shared boundary between two faces (e.g. a hole rim flush with a flat face): the nearest-edge match there can silently resolve to a different, unrelated edge. Leave empty to use whatever is *currently selected* in the live SolidWorks UI (e.g. entities read back via get_selected_entities and left selected) without touching the selection — this is the most reliable option when the user has hand-picked specific edges, since it never round-trips through coordinates. Falls back to filleting all edges only if nothing at all is selected."
- Added
add_gtol - Added
add_mate - Added
arrange_dimensions - Added
auto_center_marks - Changed
create_assembly1 field changed- changed
Input schema / properties / input_data / properties / template / descriptionPrevious value: -"Assembly template file path"New value: +"Assembly template (.asmdot) path; omit to use the SolidWorks default"
- Added
create_axis - Changed
create_cut_extrude5 fields changed- changed
Input schema / properties / input_data / descriptionPrevious value: -"Depth, direction and draft parameters."New value: +"Depth, direction, draft, and\noptional sketch_name parameters." - added
Input schema / properties / input_data / properties / both_directionsAdded value: +{ + "default": false, + "description": "With end_condition 'ThroughAll', cut through the body both ways (same as 'ThroughAllBoth')", + "type": "boolean" +} - changed
Input schema / properties / input_data / properties / end_condition / descriptionPrevious value: -"End condition type"New value: +"'Blind' (cut 'depth' mm), 'ThroughAll' (through the body, one way) or 'ThroughAllBoth' (through the body both ways, for a sketch inside the body)" - changed
Input schema / properties / input_data / properties / reverse_direction / descriptionPrevious value: -"Reverse cut direction"New value: +"Cut against the sketch normal instead of along it. Usually not needed: if the requested direction finds no material, the cut is retried the other way and the reply sets direction_flipped" - added
Input schema / properties / input_data / properties / sketch_nameAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Sketch to cut from, e.g. 'Sketch3'. If omitted, the sketch most recently created/exited in this session is used, but only if it still exists in the model — there is no other fallback. Pass this explicitly whenever more than one unconsumed sketch could exist, or after any operation that might have changed the active sketch." +}
- Changed
create_drawing1 field changed- changed
Input schema / properties / input_data / properties / template / descriptionPrevious value: -"Drawing template file path"New value: +"Drawing template (.drwdot) path; omit to use the SolidWorks default"
- Changed
create_part1 field changed- changed
Input schema / properties / input_data / properties / template / descriptionPrevious value: -"Template file path for the new part"New value: +"Part template (.prtdot) path; omit to use the SolidWorks default"
- Added
create_reference_plane - Added
create_reference_point - Added
delete_feature - Changed
execute_macro2 fields changed- changed
Input schema / properties / input_data / properties / macro_file / descriptionPrevious value: -"Alternative macro file path"New value: +"Alternative to macro_path (.swp or .swb)" - changed
Input schema / properties / input_data / properties / macro_path / descriptionPrevious value: -"Path to macro file (.swp or .vb)"New value: +"Path to a binary SolidWorks macro (.swp, or legacy .swb). VBA source (.vb, .bas, text) cannot be run directly."
- Added
export_flat_pattern - Added
find_related_api_members - Added
generate_drawing_package - Added
get_custom_properties - Added
get_material - Added
get_selected_entities - Added
insert_bom_table - Added
insert_component - Added
insert_model_dimensions - Added
list_available_materials - Added
list_components - Added
list_drawing_views - Changed
list_features1 field changed- added
Input schema / properties / input_data / properties / max_assembly_depthAdded value: +{ + "default": 2, + "description": "For Assembly documents, how many levels of sub-assembly to recurse into when flattening component features. Ignored for Part documents.", + "type": "integer" +}
- Added
list_model_dimensions - Added
list_open_documents - Added
lookup_api_interface - Added
lookup_api_method - Added
measure_entities - Added
mirror_feature - Added
pattern_circular - Added
rebuild_model - Added
rename_feature - Added
save_body_as_part - Added
select_face_edges - Added
select_feature - Added
set_custom_property - Added
set_material - Added
set_sheet_scale - Added
set_units - Added
suppress_feature - Added
undo - Added
verify_model
112 tool updates
v1.0.0- First observed
add_annotation - First observed
add_arc - First observed
add_centerline - First observed
add_circle - First observed
add_dimension - First observed
add_drawing_view - First observed
add_ellipse - First observed
add_fillet - First observed
add_line - First observed
add_note - First observed
add_polygon - First observed
add_rectangle - First observed
add_sketch_constraint - First observed
add_sketch_dimension - First observed
add_spline - First observed
analyze_drawing_annotations - First observed
analyze_drawing_comprehensive - First observed
analyze_drawing_dimensions - First observed
analyze_drawing_views - First observed
analyze_geometry - First observed
analyze_macro - First observed
apply_template - First observed
auto_dimension_view - First observed
automation_start_macro_recording - First observed
automation_stop_macro_recording - First observed
batch_apply_template - First observed
batch_execute_macros - First observed
batch_export - First observed
batch_file_operations - First observed
batch_process_files - First observed
calculate_mass_properties - First observed
check_drawing_compliance - First observed
check_drawing_standards - First observed
check_interference - First observed
check_sketch_fully_defined - First observed
classify_feature_tree - First observed
close_model - First observed
compare_drawing_versions - First observed
compare_templates - First observed
convert_file_format - First observed
create_assembly - First observed
create_cut_extrude - First observed
create_detail_view - First observed
create_drawing - First observed
create_drawing_view - First observed
create_extrusion - First observed
create_loft - First observed
create_macro_library - First observed
create_part - First observed
create_revolve - First observed
create_section_view - First observed
create_sketch - First observed
create_sweep - First observed
create_technical_drawing - First observed
create_template - First observed
discover_solidworks_docs - First observed
execute_macro - First observed
execute_workflow - First observed
exit_sketch - First observed
export_dwg - First observed
export_iges - First observed
export_image - First observed
export_pdf - First observed
export_step - First observed
export_stl - First observed
extract_template - First observed
generate_drawing_report - First observed
generate_vba_assembly_insert - First observed
generate_vba_assembly_mates - First observed
generate_vba_batch_export - First observed
generate_vba_code - First observed
generate_vba_drawing_dimensions - First observed
generate_vba_drawing_views - First observed
generate_vba_extrusion - First observed
generate_vba_file_operations - First observed
generate_vba_macro_recorder - First observed
generate_vba_part_modeling - First observed
generate_vba_revolve - First observed
get_dimension - First observed
get_file_properties - First observed
get_mass_properties - First observed
get_material_properties - First observed
get_model_info - First observed
list_configurations - First observed
list_features - First observed
list_template_library - First observed
load_assembly - First observed
load_part - First observed
manage_design_table - First observed
manage_file_properties - First observed
open_model - First observed
optimize_macro - First observed
optimize_performance - First observed
pack_and_go_assembly - First observed
save_as - First observed
save_assembly - First observed
save_file - First observed
save_part - First observed
save_to_template_library - First observed
search_solidworks_api_help - First observed
set_dimension - First observed
sketch_circular_pattern - First observed
sketch_linear_pattern - First observed
sketch_mirror - First observed
sketch_offset - First observed
sketch_tutorial_simple_hole - First observed
start_macro_recording - First observed
stop_macro_recording - First observed
tutorial_simple_hole - First observed
update_sheet_format - First observed
update_title_block - First observed
validate_drawing_completeness
TDQS
Scored across 154 tools
Many tools overlap heavily or are explicit aliases/wrappers: get_mass_properties vs calculate_mass_properties, save_file vs save_part/save_assembly, open_model vs load_part/load_assembly, add_note vs add_annotation, and start_macro_recording vs automation_start_macro_recording. Drawing creation/analysis and VBA macro generation also have several near-duplicate surfaces that an agent could easily misselect.
Names are consistently snake_case, but the verb/prefix conventions are mixed: create_*, add_*, get_*, list_*, analyze_*, generate_vba_*, batch_*, sketch_*, and generic names like undo and save_as. Duplicated concepts with different prefixes (start_macro_recording vs automation_start_macro_recording) make the pattern feel only partially predictable.
With 154 tools, the surface is vastly larger than a well-scoped MCP tool set. Many entries are redundant aliases, tutorial helpers, batch variants, and highly specific VBA generators, so the count is far beyond what the server's purpose reasonably requires.
Coverage is broad across part modeling, sketching, assemblies, drawings, exports, macros, templates, and file management, so many core workflows are present. However, obvious lifecycle gaps remain, such as assembly component removal, mate listing/editing/deletion, sketch entity deletion, and custom-property deletion, and the redundancy does not fill those gaps.
Maintenance
Related MCP Connectors
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP bridge server for SolidWorks that enables AI assistants to control SolidWorks programmatically via COM automation.MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that drives SolidWorks 2023+ on Windows, exposing CAD operations like sketching, extrusions, assemblies, and exports through tools for AI assistants like Kimi and Claude.1-
- AlicenseNot gradedqualityAmaintenanceMCP server for controlling a live SOLIDWORKS session through the Windows COM API, enabling native CAD operations like sketches, features, bodies, views, and exports, plus transactional plans and vectorization.8MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that controls SolidWorks via COM, enabling CAD automation with 138 tools for sketching, 3D features, assemblies, drawings, and more.MIT