Skip to main content
Glama
gpambrozio

onshape-mcp

by gpambrozio

Onshape MCP server

Drive Onshape CAD from an AI assistant. 87 tools for documents, part studios, sketching, solid features, assemblies, drawings, measurement and export — and no setup beyond installing it: the first tool call that needs Onshape opens a browser and asks you to connect.

CI npm

"Make a 60 × 40 × 10 mm bracket with 4 mm mounting holes and 2 mm fillets, then show me a render"

The assistant sketches it, extrudes it, fillets the edges, measures the result, renders it back into the conversation, and exports an STL you can print.

Install

Claude Code

claude mcp add onshape -- npx -y @gpambrozio/onshape-mcp

Claude Desktop — download onshape-mcp-<version>.mcpb from the latest release and double-click it. Nothing else to install.

Cursor, VS Code, Windsurf, Zed and other MCP clients — add the server to the client's MCP config:

{
  "mcpServers": {
    "onshape": {
      "command": "npx",
      "args": ["-y", "@gpambrozio/onshape-mcp"]
    }
  }
}

The file differs per client: ~/.cursor/mcp.json (Cursor), .vscode/mcp.json (VS Code), ~/.codeium/windsurf/mcp_config.json (Windsurf), ~/.config/zed/settings.json under context_servers (Zed).

Node 20 or newer is required. npx fetches the package on first run.

Related MCP server: Onshape MCP Server

Signing in

Nothing to configure. The first tool call that needs Onshape starts a sign-in and asks your client to show you the link; clients that support MCP's URL elicitation render it as a prompt, and the rest get the URL in the reply. The page that opens links straight to the key page for your Onshape stack and takes the pasted pair; tick Read, Write and Delete when you create the key so every tool here works. Keys are verified against Onshape, then stored in your OS keychain.

Your credentials never pass through the assistant, the model or this project's authors — the exchange happens between your browser and a server bound to 127.0.0.1 in this process, which is exactly why MCP has URL elicitation.

Other ways in, if you prefer:

  • onshape_login — start the same flow deliberately.

  • onshape_set_api_key — paste a key pair you already have.

  • OAuth 2.0onshape_login with method: "oauth", for an app you registered at the Onshape developer portal with redirect URL http://localhost:8471/oauth/callback. Tokens refresh automatically.

  • Environment variables — set ONSHAPE_ACCESS_KEY and ONSHAPE_SECRET_KEY for unattended installs, and ONSHAPE_MCP_AUTO_LOGIN=0 to stop the server ever opening a browser.

An existing onshape-cli credential at ~/.onshape/credentials.json is picked up automatically.

onshape_auth_status shows what is in use (redacted); onshape_logout forgets it.

Tools

Area

Tools

Sign-in

login, login_status, set_api_key, auth_status, logout

Documents

list_documents, search_documents, get_document, get_document_summary, create_document, update_document, delete_document, get_workspaces, get_elements, find_part_studios, list_versions, create_version, delete_element

Part studios

create_part_studio, get_features, get_feature_specs, get_sketch_info, get_body_details, get_parts, mass_properties, measure, validate_part_studio, add_feature, update_feature, delete_feature, rollback, eval_featurescript

Sketching

sketch_rectangle, sketch_circle, sketch_line, sketch_circle_axis, create_sketch, sketch_candy_cane_path

Solids

extrude, hole, thicken, revolve, sweep, fillet, chamfer, shell, draft, boolean, boolean_union, mirror, linear_pattern, circular_pattern, offset_plane

Geometry

get_edges, find_circular_edges, find_edges_by_feature

Variables

get_variables, set_variable, get_configuration, encode_configuration

Export

export_stl, export, shaded_view, get_thumbnail, thumbnail_info

Assemblies

create_assembly, get_assembly, insert_instance, delete_instance, transform_instance, get_assembly_features, assembly_mate_connector, assembly_mate, assembly_group, assembly_add_feature, get_bom, assembly_mass_properties

Drawings

create_drawing, get_drawing_views, export_drawing

Feature studios

create_feature_studio, get_feature_studio, set_feature_studio, get_feature_studio_specs

Metadata

get_metadata, set_metadata

Escape hatch

request

All names are prefixed onshape_, and every tool returns {"ok": true, "result": …} or {"ok": false, "error": …, "detail": …}.

Worth knowing:

  • Units are inches and degrees throughout.

  • Feature tools validate by default. Onshape answers 200 for a feature that fails to regenerate, so each tool re-reads the feature state and fails loudly instead. Pass validate: false to skip it.

  • Renders come back as images. shaded_view and get_thumbnail return the PNG inline as well as writing it, so the model can see the part.

  • Big reads spill to disk. Anything over ONSHAPE_MCP_MAX_RESPONSE_BYTES (default 200 kB) is written to a file and summarised, keeping a feature tree from swallowing the context window.

  • onshape_request reaches any REST endpoint the dedicated tools miss.

Configuration

Every setting is optional.

Variable

Effect

ONSHAPE_ACCESS_KEY, ONSHAPE_SECRET_KEY

Use this key pair instead of signing in

ONSHAPE_BASE_URL

Onshape API host (default https://cad.onshape.com)

ONSHAPE_OAUTH_CLIENT_ID, ONSHAPE_OAUTH_CLIENT_SECRET

OAuth app to sign in with, instead of an API key

ONSHAPE_MCP_AUTO_LOGIN

0 stops tool calls from starting a browser sign-in

ONSHAPE_MCP_NO_BROWSER

1 never launches a browser; the URL is reported instead

ONSHAPE_MCP_SIGNIN_WAIT_MS

How long a call waits for sign-in (default 120000)

ONSHAPE_DOC, ONSHAPE_WS, ONSHAPE_ELEM

Default target; these arguments become optional when set

ONSHAPE_MCP_OUTPUT_DIR

Where relative export paths land (default: working directory)

ONSHAPE_MCP_MAX_RESPONSE_BYTES

Response size before spilling to a file (default 200000)

ONSHAPE_MCP_CONFIG

Credential file path (default ~/.onshape-mcp/credentials.json)

ONSHAPE_TIMEOUT_MS

Per-request timeout (default 120000)

Secrets go to the OS keychain (service onshape-mcp) when one is available, and the config file then holds only non-secret metadata. Without a keychain the file holds the secret and is written 0600 inside a 0700 directory.

Onshape account limits

These come from Onshape, not from this server:

  • Free accounts can only create public documents — pass public: true to onshape_create_document.

  • Deleting needs a key with delete permission. Without it Onshape answers 403 Invalid API key state; re-create the key at cad.onshape.com/user/developer/apiKeys with Delete ticked.

  • The variable-table endpoint 404s on some accounts. onshape_set_variable and onshape_get_variables fall back to assignVariable features, which work everywhere; result.route / result.source says which path was taken.

Development

npm install
npm run check     # type-check
npm test          # unit tests, no network and no browser
npm run build
npm run bundle    # build the Claude Desktop .mcpb

node scripts/smoke.mjs           # live read-only check against your account
node scripts/smoke.mjs --write   # also builds a throwaway part

Layout: src/auth (credential store, keychain, login flows, OAuth, elicitation), src/api (REST wrappers), src/builders (Onshape BTM feature payloads), src/tools (the MCP surface), src/server.ts (registration and the auth gate).

Contributions welcome — see CONTRIBUTING.md. Security reports: SECURITY.md.

Licence

MIT. Portions derived from onshape-cli — see NOTICE.

Not affiliated with, endorsed by, or supported by Onshape or PTC. "Onshape" is a trademark of PTC Inc.

Available Tools

87 tools
onshape_add_featureAdd a raw featureA

Post a hand-written BTM feature payload to a Part Studio. The escape hatch for feature types this server has no dedicated tool for — read onshape_get_feature_specs first.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
featureYesThe feature JSON, usually a BTFeatureDefinitionCall-1406 envelope.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only provide a title, so the description carries the behavioral burden. It discloses that the tool posts a raw BTM payload (a low-level, hand-written operation), and the 'validate' parameter description adds that it re-reads the feature list and fails on regeneration errors. It does not explicitly state that this is a mutating operation, but 'Post' and 'add' clearly imply it. The escape-hatch framing also warns the agent this is advanced usage. Minor gap: no mention of auth requirements or failure modes beyond validation.

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

Conciseness5/5

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

Two sentences, zero filler. The core action and the escape-hatch purpose are front-loaded, and the prerequisite sibling is named in the same breath. Every word earns its place.

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

Completeness4/5

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

For a low-level raw-payload tool with no output schema, the description gives the essential context: what it posts, where, when to use it, and what to read first. The validate parameter's behavior is documented in the schema. It could add a note about the response shape or error behavior, but the escape-hatch framing plus the prerequisite pointer is enough for an agent to invoke it correctly.

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

Parameters3/5

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 five parameters. The description adds context for the 'feature' parameter by calling it a BTM payload and mentioning the BTFeatureDefinitionCall-1406 envelope, which is genuinely useful beyond the schema. However, the description does not explain the doc/ws/elem URL-segment pattern beyond what the schema already says, so the added value is modest. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Post'), a specific resource ('a hand-written BTM feature payload to a Part Studio'), and explicitly frames it as the escape hatch for feature types with no dedicated tool. This clearly distinguishes it from the many sibling feature-creation tools (extrude, hole, fillet, etc.) and from onshape_update_feature/onshape_delete_feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use it: for feature types this server has no dedicated tool for. It also names the prerequisite sibling, onshape_get_feature_specs, telling the agent to read that first. This is strong routing guidance that prevents misuse of the raw-payload tool when a dedicated tool exists.

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

onshape_assembly_add_featureAdd a raw assembly featureA

Post a hand-written assembly feature payload — the escape hatch for mate types with no tool here.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
featureYesThe assembly feature JSON.

TDQS

A3.9/5.0
Behavior3/5

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

With no readOnly/destructive annotations, the description carries the behavioral burden; 'Post' and 'hand-written' convey that this is an unvalidated write and a fallback rather than a high-level helper. It does not disclose validation, failure, or permission behavior, but the raw/escape-hatch nature is explicitly communicated.

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

Conciseness5/5

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

One sentence, no filler, with the core action front-loaded and the use-case qualifier in a separable clause. Every word earns its place.

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

Completeness3/5

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

For a 4-parameter tool with full schema coverage, the description plus schema are mostly sufficient to select and aim the call. The arbitrary 'feature' object and absent output schema could benefit from an example or a pointer to feature specs, but the escape-hatch framing sets correct expectations.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline applies and the schema already documents doc, ws, elem, and feature. The description adds only that the payload is hand-written and assembly-specific, which does not change invocation semantics.

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

Purpose5/5

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

The description names a specific action ('Post ... payload') and resource ('assembly feature'), immediately distinguishing it from the generic add_feature and the dedicated assembly mate tools. The escape-hatch framing makes its role unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent to use this tool for 'mate types with no tool here,' implying dedicated mate tools should be preferred when available. It does not name those tools explicitly, but the condition is clear.

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

onshape_assembly_groupGroup instancesA

Lock several instances together without individual mates.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name (default "Group").
occurrencesYesOccurrence ids to group.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations contain only a title, so the description must carry the behavioral burden. It does add one meaningful behavioral trait—no individual mates are created—but it doesn't disclose whether this mutates the assembly feature tree, whether it's reversible, or what effect grouping has on transforms. This is a meaningful gap for a mutating operation.

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

Conciseness5/5

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

The description is one short, front-loaded sentence with no filler. Every word contributes to the core meaning, and it avoids restating schema details unnecessarily.

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

Completeness3/5

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

The schema provides strong coverage of required parameters, and the operation is conceptually simple. However, with no annotations and no output schema, the description doesn't fully explain side effects or what an agent should expect after grouping. It is sufficient for basic invocation but leaves important operational context implicit.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter already has a clear description in the schema. The tool description doesn't add parameter-level detail, so the baseline of 3 is appropriate. It offers no extra guidance on how to format occurrence IDs or how they relate to assembly instances.

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

Purpose4/5

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

The description uses a specific verb and resource: locking instances together, rather than simply restating the title. It also draws a clear distinction from mating tools by saying 'without individual mates,' which helps an agent tell it apart from assembly_mate. It stops short of 5 because 'lock' is somewhat jargony and doesn't explicitly say this creates a Group feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without individual mates' implies the main use case: grouping instances when individual mates are not desired. However, it doesn't explicitly name alternatives or provide when-not-to-use guidance, and the sibling list contains several assembly tools that could overlap with this operation.

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

onshape_assembly_mass_propertiesGet assembly mass propertiesA
Read-only

Mass, volume, centroid and inertia for a whole assembly.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes that this is a safe read operation. The description adds some value by enumerating the returned quantities (mass, volume, centroid, inertia) and the whole-assembly scope, but it does not mention units, coordinate system, or response structure. No contradiction with the annotations.

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

Conciseness5/5

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

The description is nine words and contains no filler or repetition. The key target ('whole assembly') and the output list are front-loaded, making it easy to scan.

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

Completeness4/5

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

For a read-only query tool with all parameters fully documented in the schema, this description is largely complete: it names the object scope and all returned value categories. It could be more complete by stating units or coordinate frame, and there is no output schema to fall back on, but an agent has enough information to select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with each required identifier (doc, ws, elem) explained in the context of the Onshape URL. The tool description itself adds no parameter-level meaning, so the schema carries the full burden; the baseline of 3 applies.

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

Purpose4/5

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

The description clearly states what the tool produces—mass, volume, centroid, and inertia—for a whole assembly, and the 'whole assembly' qualifier narrows the scope. However, it does not explicitly contrast this with the closely named sibling onshape_mass_properties, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a whole assembly' implies the intended use case (assembly-level mass properties) and suggests it is not for individual parts. It gives no explicit when-to-use or when-not-to-use guidance and does not name alternatives such as onshape_mass_properties or onshape_measure.

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

onshape_assembly_mateAdd a mateB

Join two or more mate connectors with a mate: FASTENED, REVOLUTE, SLIDER, PLANAR, and so on.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name (default "Mate").
typeNoMate type (default FASTENED).
connectorsYesFeature ids of the mate connectors to join.

TDQS

B3.4/5.0
Behavior2/5

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

Annotations provide only a title, so the description carries full behavioral burden. It never discloses that this is a mutating operation that modifies the assembly by adding a feature, nor does it mention prerequisites like existing mate connectors. 'Join' implies an action but leaves side effects and requirements unspecified.

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

Conciseness5/5

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

A single sentence with no filler. The core operation is stated first and the supporting examples follow immediately. Every part earns its place.

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

Completeness2/5

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

The schema fully documents parameters and the description states the core operation, but with no annotations and no output schema the definition omits behavioral context: it does not say whether this modifies the assembly, what the result is, or what must already exist before calling it. An agent gets the inputs but not enough surrounding context for safe invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by naming concrete mate type values (FASTENED, REVOLUTE, SLIDER, PLANAR) that the schema's 'type' parameter does not enumerate, and it reinforces the minItems=2 requirement for connectors.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Join two or more mate connectors with a mate.' It clearly distinguishes this tool from the sibling onshape_assembly_mate_connector by focusing on combining existing connectors rather than creating them. The listed mate types further clarify the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives such as onshape_assembly_mate_connector or onshape_assembly_add_feature. There are no exclusions, prerequisites, or routing cues beyond the general implication that it creates a mate.

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

onshape_assembly_mate_connectorAdd a mate connectorA

Place an implicit mate connector on an instance by inference (CENTROID, TOP, ...). Its feature id is what onshape_assembly_mate then joins.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name (default "Mate connector").
inferenceNoInference type, e.g. CENTROID, TOP, MID_PLANE (default CENTROID).
occurrenceYesOccurrence id of the instance to attach to.

TDQS

A4/5.0
Behavior3/5

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

Annotations carry no readOnly/destructive hints, so the description bears the burden of disclosing behavior. It does convey the creation of an implicit feature and its role in mating, but it doesn't mention side effects, whether it modifies an existing feature, or any prerequisites beyond the instance.

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

Conciseness5/5

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

Two short sentences with no filler. The core action is first, and the crucial downstream connection to onshape_assembly_mate is stated in the second sentence.

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

Completeness4/5

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

Provides the essential selection and usage context: placing an implicit mate connector on an instance and linking the resulting feature id to assembly mating. Given the well-documented schema and lack of an output schema, this is largely sufficient, though it could state the mutating effect more explicitly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters, defaults, and required fields. The description adds context about inference types being used for placement, but does not need to repeat parameter details.

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

Purpose5/5

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

States a specific verb ('Place') and resource ('implicit mate connector on an instance'), and clarifies the mechanism ('by inference (CENTROID, TOP, ...)'). It also distinguishes itself from the related sibling onshape_assembly_mate by explaining the connector's feature id is what that tool then joins.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear contextual guidance: use this tool to create the mate connector that onshape_assembly_mate later consumes. It doesn't explicitly list exclusions or alternative tools, but the assembly-mating workflow is evident.

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

onshape_auth_statusShow Onshape sign-in statusA
Read-only

Report which Onshape credential is active, where it came from and whether it still works. Secrets are redacted.

ParametersJSON Schema
NameRequiredDescriptionDefault
verifyNoAlso make a live API call to confirm the credential (default true).

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true. The description adds value by noting that secrets are redacted and that the tool reports credential origin and validity, going beyond the annotation. It does not explicitly state that the verify parameter controls whether a live check is performed, but that is captured 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.

Conciseness5/5

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

Two sentences with no redundant wording. The main purpose is front-loaded, and the additional note about redaction is concise and relevant.

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

Completeness4/5

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

For a simple read-only status tool with one optional parameter and no output schema, the description covers the core behavior and adds redaction context. It is adequate for an agent to understand the tool's function, though it could mention the verify parameter's effect explicitly.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'verify' parameter, which is fully described in the input schema. The description adds no additional semantics 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.

Purpose4/5

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

The description clearly states the tool reports which credential is active, its source, and validity. It is specific and not a tautology, but it does not differentiate from the similarly named sibling onshape_login_status, which could overlap in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like onshape_login_status or onshape_login. It does not mention conditions for use or exclusions.

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

onshape_booleanBoolean bodiesB

Combine bodies: UNION, SUBTRACTION or INTERSECTION. Subtraction also needs the targets query.

ParametersJSON Schema
NameRequiredDescriptionDefault
opNoBoolean operation (default UNION).
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Boolean").
toolsNoFeatureScript query selecting the tool bodies.
targetsNoFeatureScript query selecting the target bodies (SUBTRACTION).
tool_idsNoDeterministic ids of the tool bodies.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
keep_toolsNoKeep the tool bodies after the operation.

TDQS

B3.3/5.0
Behavior2/5

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

Annotations contain only a title, so the description carries the full burden of behavioral disclosure. It identifies the operation type but does not mention that boolean operations typically consume tool bodies unless keep_tools is set, that the feature is validated by default, or what happens on regeneration errors. For a mutating CAD operation, this is a significant transparency gap.

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

Conciseness5/5

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

Two short sentences with no filler. The core action and operation modes are front-loaded, and the special subtraction requirement is stated economically. Every word earns its place.

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

Completeness2/5

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

This tool has 10 parameters, a destructive editing effect, and no output schema or meaningful annotations. The description only covers the basic operation and one parameter dependency. It omits default behavior for tools/keep_tools, validation behavior, and side effects, leaving an agent without enough context to anticipate the tool's full impact.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds genuine value beyond the schema by explicitly calling out that SUBTRACTION also requires the targets query, which is a critical conditional dependency not stated in the parameter descriptions themselves.

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

Purpose4/5

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

The description states a clear action ('Combine bodies') on a specific resource (bodies) and enumerates the operation modes (UNION, SUBTRACTION, INTERSECTION). However, it does not differentiate from the closely named sibling tool onshape_boolean_union, leaving the agent to infer which of the two boolean tools to choose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one useful operational guideline: subtraction requires the targets query. But it provides no general guidance on when to use this tool versus onshape_boolean_union or any other feature-creation sibling, and no exclusions or prerequisites. The context is implicit rather than explicit.

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

onshape_boolean_unionUnion every bodyA

Merge all modifiable solid bodies into one. The usual cleanup before exporting a single part.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Union bodies").
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).

TDQS

A4/5.0
Behavior3/5

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

Annotations only contain a title, so the description carries the behavioral burden. It states that the operation merges all modifiable solid bodies, implying a mutation. However, it does not disclose side effects such as whether original bodies are removed, whether the operation is destructive, or failure conditions (e.g., what happens if no bodies are modifiable). It also does not mention that this adds a feature to the tree. This is a minimal but honest description; it conveys the core behavior without contradiction.

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

Conciseness5/5

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

The description is two sentences with no filler. The primary action is front-loaded ('Merge all modifiable solid bodies into one'), and the second sentence provides a practical use case. Every word earns its place, and the structure is optimal for quick comprehension.

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

Completeness4/5

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

Given the tool's simplicity and that the schema fully documents parameters, the description covers the essential purpose and context. It explains what the tool does and when to use it, which is enough for an agent to select and call it. The lack of an output schema means return values are not expected to be detailed, and the description does not need to explain them. Minor gaps exist (e.g., failure behavior), but overall it is complete for its role.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters already have detailed descriptions in the schema. The tool description adds no parameter-specific information beyond what the schema provides. Per the rubric, when coverage is high, the baseline is 3. The description does not clarify any parameter semantics further, which is acceptable.

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

Purpose5/5

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

The description clearly states the action: 'Merge all modifiable solid bodies into one.' It identifies the resource (solid bodies) and the operation (union). It also adds context about the typical use case ('cleanup before exporting a single part'), which helps an agent understand when it applies. The phrase 'all modifiable' distinguishes it from a generic boolean tool like onshape_boolean.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: 'The usual cleanup before exporting a single part.' This signals when an agent should consider this tool. It does not explicitly name alternatives or exclusions (e.g., when to use onshape_boolean instead), but the context implies it is for merging everything into one body. This is sufficient guidance for most scenarios, though explicit sibling differentiation would be stronger.

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

onshape_chamferChamfer edgesB

Bevel the selected edges. Selection works exactly as for onshape_fillet.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
allNoSelect all edges of all solid bodies.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Chamfer").
typeNoChamfer type (default EQUAL_OFFSETS).
angleNoAngle in degrees, for type=OFFSET_ANGLE.
edgesNoExplicit deterministic edge ids, from onshape_get_edges.
queryNoFeatureScript query, e.g. query = qCreatedBy(makeId("FID"), EntityType.EDGE);
widthNoChamfer width in inches (default 0.1).
featureNoSelect every edge created by this feature id.
circularNoSelect only circular edges.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
width_variableNoUse a Part Studio variable for the width.

TDQS

B3.3/5.0
Behavior2/5

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

Annotations only provide a title, with no readOnly or destructive hints, so the description carries the full burden. It discloses that selection behavior mirrors onshape_fillet, which is a behavioral note, but it does not mention any other behavioral traits like whether the operation modifies the document, requires specific permissions, or has side effects on existing features. This is a significant 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.

Conciseness4/5

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

The description is extremely concise at two sentences, front-loading the primary purpose and then providing a helpful pointer to onshape_fillet. It wastes no words, but it could arguably include a bit more context without losing conciseness. It is well-structured and efficient.

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

Completeness2/5

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

For a tool with 14 parameters (3 required) and no output schema, the description is incomplete. It does not explain how the parameters interact (e.g., which chamfer type requires which fields), any prerequisites, or what happens after execution. The only guidance is on selection, which is helpful but insufficient for a tool of this complexity. The schema descriptions cover parameters individually, but the description does not tie them together or provide workflow context.

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

Parameters3/5

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

Schema coverage is 100%, meaning all 14 parameters have descriptions in the schema. The tool description itself adds no parameter-specific meaning, but per the rubric, high schema coverage earns a baseline of 3. The description does not compensate beyond that, so 3 is appropriate.

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

Purpose5/5

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

The description states a specific action ('Bevel the selected edges') with a clear resource (edges). It also references onshape_fillet for selection, which helps distinguish it from that sibling (fillet rounds edges while chamfer bevels them). This is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one usage guideline: 'Selection works exactly as for onshape_fillet.' This tells the agent how to select edges, but it does not explain when to use chamfer vs. fillet or other edge-modification tools. The when-to-use guidance is only implied by the tool name and 'bevel' verb, not explicit.

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

onshape_circular_patternCircular patternB

Repeat geometry around an axis.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
axisNoFeatureScript query selecting the axis.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Circular Pattern").
typeNoWhat kind of thing is patterned (default PART).
angleNoTotal angle covered, degrees (default 360).
countYesTotal number of instances, including the original.
axis_idsNoDeterministic id of the axis entity.
entitiesYesFeatureScript query selecting what to pattern.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
equal_spacingNoSpace instances evenly over the angle (default true).

TDQS

B3/5.0
Behavior2/5

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

Annotations contain only the title, so the description carries the full burden of behavioral disclosure. It does not mention that this tool creates a feature (mutates the document), any permission requirements, or postconditions. For a feature-creation operation, 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.

Conciseness3/5

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

The description is extremely concise (one sentence) and front-loaded with the action, but it is under-specified for a tool with 12 parameters. It is not verbose, yet it lacks any structural breakdown or additional context that would justify its brevity.

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

Completeness2/5

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

For a complex tool with 12 parameters, no output schema, and no behavioral annotations, the description is far from complete. It does not explain how parameters relate (e.g., axis query syntax), prerequisites, or typical usage scenarios. The schema provides parameter details but the description fails to tie them together.

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

Parameters3/5

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

Schema description coverage is 100%, with each of the 12 parameters having a description. The tool description adds no parameter semantics beyond what the schema already provides, so the baseline score of 3 applies.

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

Purpose5/5

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

The description 'Repeat geometry around an axis' clearly identifies the verb (repeat), the resource (geometry), and the distinguishing axis concept. This differentiates it from siblings like onshape_linear_pattern (linear translation) and onshape_mirror (reflection). The purpose is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as onshape_linear_pattern or onshape_mirror. The description only states what it does, leaving the agent to infer appropriate use cases from the name and schema.

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

onshape_create_assemblyCreate an assemblyB

Add an assembly tab to a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameYesTab name.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations provide only a title, so the description carries the full behavioral disclosure burden. It does state the side effect: adding an assembly tab to a workspace. However, it does not disclose what happens on success, whether duplicate names are handled, failure conditions, or prerequisites for the workspace/document.

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

Conciseness5/5

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

The description is one efficient sentence with a clear verb, object, and target location. It is front-loaded and contains no filler or redundant restatement of the schema.

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

Completeness3/5

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

For a simple creation action with fully documented parameters, the description is minimally viable. It does not mention return values, error behavior, or when this tool should be chosen over similar creation tools, so an agent gets the gist but not full operational context.

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

Parameters3/5

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

Schema description coverage is 100%: all three parameters (doc, ws, name) already have descriptions. The tool description adds little parameter-level meaning beyond the schema, which matches the baseline expectation for high schema coverage.

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

Purpose4/5

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

The description uses a specific verb and object: 'Add an assembly tab to a workspace.' It clearly identifies the operation and target resource. It does not explicitly differentiate itself from siblings like onshape_create_part_studio or onshape_create_document, but the assembly-tab scope makes the purpose reasonably unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. It does not mention related tools such as onshape_create_part_studio, onshape_get_assembly, or onshape_insert_instance, nor does it give conditions or exclusions. The only usage signal is implied by the tool's name and the one-line description.

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

onshape_create_documentCreate an Onshape documentA

Create a document. Free Onshape accounts may only create public documents, so pass public=true there. The result carries the new document id and its default workspace id.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDocument name.
publicNoMake the document public (required on free accounts).
descriptionNoDocument description.

TDQS

A3.8/5.0
Behavior3/5

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

No substantive annotations exist beyond the title, so the description carries the burden. It discloses that creation is performed, that free accounts are restricted to public documents, and that the result includes the new document id and default workspace id. It does not mention authentication requirements or broader side effects, but the disclosed result details go 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.

Conciseness5/5

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

Two sentences, no filler. The core action is front-loaded, the free-account caveat directly affects a parameter choice, and the return-value note is placed at the end where it naturally completes the description.

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

Completeness4/5

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

Given there is no output schema, the description usefully tells the agent that the response contains the document id and default workspace id. The tool is simple, has only one required parameter, and the description covers the main call requirement. Minor gaps such as clarifying the default visibility for paid accounts are not critical.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline applies. The description adds a small amount of parameter context by clarifying that free accounts must pass public=true, but this largely restates the schema's 'required on free accounts' note. It adds no meaningful semantics for name or description.

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

Purpose5/5

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

The description states a specific verb and resource — 'Create a document' — and adds context about free-account public visibility and the returned id/workspace id. This clearly differentiates it from sibling tools like onshape_list_documents, onshape_get_document, onshape_update_document, and onshape_delete_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its use case ('Create a document') and provides account-specific guidance for when public=true is needed. However, it does not explicitly contrast this tool with alternatives such as onshape_update_document or onshape_create_part_studio, so the agent must infer the boundary from sibling names.

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

onshape_create_drawingCreate a drawingA

Create a drawing of a part, Part Studio or assembly. The source must be referenced by version — call onshape_create_version first and pass its id as src_version.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameYesDrawing name.
partNoPart id, to draw a single part.
src_docNoSource document id (defaults to the target document).
src_elemYesElement id being drawn.
src_versionYesVersion id of the source element.

TDQS

A4.3/5.0
Behavior3/5

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

Annotations are minimal (only a title), so the description carries the full burden of behavioral disclosure. It mentions the version requirement, which is a key constraint, but does not describe side effects (e.g., creating a new element), permission needs, or return values. For a mutation tool with no other safety hints, this is a partial gap.

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

Conciseness5/5

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

Two sentences: the first states the purpose, the second gives the critical usage instruction. No fluff, fully front-loaded. Every word earns its place.

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

Completeness3/5

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

With 7 parameters and no output schema, the description covers the essential prerequisite but omits what the tool returns (e.g., the new drawing element id) and any post-creation steps. An agent would need additional context to know how to use the result. Given the tool's complexity and minimal annotations, this is a noticeable gap.

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

Parameters4/5

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

Schema coverage is 100% with each parameter described, so the baseline is 3. The description adds value by clarifying that src_version must come from onshape_create_version, which is a dependency not evident from the schema alone. This goes beyond the schema's individual parameter descriptions, earning a 4.

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

Purpose5/5

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

The description clearly states the action ('Create a drawing') and the resource types (part, Part Studio or assembly). It distinguishes this tool from sibling creation tools like onshape_create_document or onshape_create_part_studio by its specific resource focus. The additional note about version reference adds specificity without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs the agent to call onshape_create_version first and pass its id as src_version. This provides a clear prerequisite and a direct call sequence, leaving no room for misinterpretation. It also implicitly states when to use this tool: whenever a drawing is needed from a versioned source.

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

onshape_create_feature_studioCreate a Feature StudioB

Add a Feature Studio tab for custom FeatureScript.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameYesTab name.

TDQS

B3.2/5.0
Behavior1/5

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

Annotations provide no behavioral hints (no readOnly/destructive flags). The description mentions 'Add' implying a mutation, but does not disclose permissions, side effects, idempotency, or what happens on success. With no annotation coverage, the description fails to inform the agent about expected behavior beyond the basic operation.

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

Conciseness5/5

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

The description is a single, direct sentence with no filler. It front-loads the action and resource, making it immediately scannable and appropriately sized for the tool's simplicity.

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

Completeness2/5

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

This is a simple create tool with three required parameters and no output schema, but the description offers no information about return values, potential errors, or necessary prerequisites. Given the lack of annotations and behavioral disclosure, the tool feels under-specified for an agent that needs to know what to expect after invoking it.

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

Parameters3/5

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 additional meaning for the parameters (doc, ws, name) beyond what the schema already documents. No extra context is provided to enrich parameter understanding.

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

Purpose5/5

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

The description uses a specific verb 'Add' and names the resource 'Feature Studio tab' along with its purpose 'custom FeatureScript'. It clearly distinguishes this create tool from sibling get/set feature studio tools without needing to reference them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage — you use this tool to create a feature studio — but does not explicitly state when to choose it over alternatives like onshape_get_feature_studio or onshape_set_feature_studio. There is no exclusion or alternative routing, which limits guidance.

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

onshape_create_part_studioCreate a Part StudioA

Add a Part Studio tab to a workspace. The new element id is at result.response.id.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameYesTab name.

TDQS

A3.8/5.0
Behavior3/5

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

With no readOnly/destructive annotations, the description carries the behavioral disclosure burden. 'Add' clearly signals a mutating operation, and 'The new element id is at result.response.id' usefully states where the result appears. However, it does not mention permissions, failure behavior, or any workspace-level side effects beyond adding the tab.

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

Conciseness5/5

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

The description is two short sentences with no filler: the first states the core action and target, and the second gives the key output location. It is front-loaded, scannable, and every sentence earns its place.

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

Completeness4/5

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

For a simple tool with three fully documented required parameters)Skip, the description and schema cover the essential invocation details, and the response-location note helps the agent use the result. It could mention that the document/workspace must already exist or explicitly note that this creates a new tab rather than modifying an existing one, but the definition is largely complete.

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

Parameters3/5

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

The input schema documents all three parameters with clear descriptions, including the exact URL context for doc and ws, so schema coverage is 100%. The tool description itself adds no additional parameter detail, but none is required because the schema already provides sufficient meaning.

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

Purpose5/5

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

The description 'Add a Part Studio tab to a workspace' uses a specific verb and resource, and clearly identifies the operation as creating an element inside an existing workspace. This distinguishes it from sibling creation tools such as onshape_create_assembly or onshape_create_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'to a workspace' implies that the tool is used when adding a Part Studio tab to an existing document/workspace, but there is no explicit guidance about when to choose this over sibling tools or what prerequisites must be satisfied. Usage is primarily inferred from the name and one-line description.

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

onshape_create_sketchSketch arbitrary entitiesA

Add a sketch from a list of entities: lines, circles, rectangles and arcs. Use this when the single-shape sketch tools cannot express the profile. Close the profile if you intend to extrude it.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Sketch").
planeNoDefault plane to sketch on (default Front).
entitiesYesEntities making up the sketch.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
plane_featureNoSketch on a face created by this feature id instead of a default plane.

TDQS

A4.4/5.0
Behavior3/5

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

Annotations provide no read-only or destructive hints, so the description carries the behavioral burden. It clearly indicates that the tool creates/adds a sketch and adds the useful closed-profile constraint, but it does not disclose side effects like feature-tree insertion, error behavior, or what happens with an open profile. This is adequate but not rich.

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

Conciseness5/5

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

Three short sentences with no filler. The core purpose is front-loaded, the usage condition is stated next, and the extrusion tip is a practical final note. Every sentence earns its place.

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

Completeness4/5

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

The schema fully documents all 8 parameters, and the description covers tool selection plus a critical geometric constraint. It lacks explicit return/error information, but with no output schema and a fully covered input schema, the essential invocation context is present enough for an agent to proceed.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds semantic value beyond the schema by emphasizing that the profile should be closed if extruding and by implicitly framing entities as the core payload. It does not need to repeat parameter details the schema already documents.

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

Purpose5/5

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

The description states a specific action and resource: "Add a sketch from a list of entities: lines, circles, rectangles and arcs." It also distinguishes this tool from "single-shape sketch tools," so an agent can immediately tell it apart from onshape_sketch_line, onshape_sketch_circle, and onshape_sketch_rectangle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit selection guidance: "Use this when the single-shape sketch tools cannot express the profile." It also adds a conditional follow-up instruction about closing the profile before extruding, which helps the agent use the tool correctly in a downstream workflow.

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

onshape_create_versionCreate a document versionA

Snapshot the workspace as an immutable version. Do this before restructuring an existing design: it is the only way back to the previous state, and drawings must reference a version.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameYesVersion name, e.g. what is about to change.
descriptionNoWhy this snapshot was taken.

TDQS

A4.4/5.0
Behavior4/5

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

With no readOnly or destructive hints in annotations, the description carries the full burden of behavioral disclosure. It transparently states the result (immutable version) and its implications (only way back, drawings require version). While it doesn't cover permissions or return format, it provides meaningful behavioral context beyond the tool name.

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

Conciseness5/5

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

Two sentences with zero wasted words. The primary action is front-loaded, followed by the critical usage guidance. Every word earns its place, and the structure prioritizes the most decision-relevant information first.

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

Completeness4/5

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

For a create operation with no output schema, the description adequately explains the action, its consequence (immutability), and when to use it. It lacks details on return value or potential errors, but those are less critical for a straightforward creation tool with well-documented parameters. The context is sufficient for an agent to invoke it correctly.

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

Parameters3/5

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

Schema documentation covers all 4 parameters at 100% coverage, so the schema already explains each field. The description adds no parameter-specific details beyond what's in the schema, maintaining the baseline 3. It does hint at the purpose of 'name' via 'what is about to change' in the schema, but the description itself offers no additional parameter semantics.

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

Purpose5/5

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

The description clearly states a specific action ('Snapshot the workspace as an immutable version') and the resource (workspace). It also conveys the purpose (creating a safe, immutable checkpoint) and distinguishes it from other version-related operations by emphasizing immutability and its role as the only way back.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent when to use this tool: 'Do this before restructuring an existing design'. It explains the rationale ('only way back' and 'drawings must reference a version'), giving clear contextual guidance on when this tool is appropriate versus alternatives.

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

onshape_delete_documentDelete an Onshape documentA
Destructive

Move a document to the trash. This affects the whole document, not a single tab.

ParametersJSON Schema
NameRequiredDescriptionDefault
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already supply destructiveHint=true, and the description adds meaningful context by clarifying that deletion means moving to trash rather than permanent destruction, and that the entire document is affected. This goes beyond the annotation without contradicting it.

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

Conciseness5/5

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

Two short sentences carry all essential information with no filler. The deletion behavior is stated first, and the scoping clarification is front-loaded immediately afterward.

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

Completeness5/5

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

For a one-parameter tool with a destructive annotation, the description is complete: it names the action, the target scope, and the non-tab exclusion. No return format is needed for a simple delete operation, and no additional prerequisites or side effects are necessary to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the single 'doc' parameter is fully documented in the schema. The description does not add new meaning to the parameter itself, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description names a specific action ('Move a document to the trash') and a specific resource ('a document'), and immediately distinguishes itself from tab-level operations with 'not a single tab.' This makes the tool's purpose unmistakable and separates it from siblings like onshape_delete_element.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'affects the whole document, not a single tab' provides a clear exclusion boundary: use this only for whole documents, not individual elements. It does not explicitly name an alternative tool such as onshape_delete_element, but the when-not condition is clear.

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

onshape_delete_elementDelete an elementB
Destructive

Delete one element (tab) from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.3/5.0
Behavior2/5

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

The description adds no behavioral context beyond the destructiveHint annotation. It does not mention irreversibility, potential impact on dependent features, or any side effects. Since the annotation already signals destructiveness, the description contributes nothing extra.

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

Conciseness5/5

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

The description is a single, tightly worded sentence that front-loads the action and object. Every word earns its place, and there is no redundancy or filler.

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

Completeness3/5

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

For a simple delete operation with three fully documented parameters and no output schema, the description is minimal but adequate. It does not mention potential errors or permission requirements, but the destructiveHint annotation covers the primary caveat, and the schema covers the inputs.

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

Parameters3/5

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

Schema coverage is 100% with each parameter (doc, ws, elem) having a descriptive comment. The tool description does not add further meaning beyond what the schema already provides, so the baseline 3 applies.

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

Purpose5/5

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

The description states a clear verb ('delete') and specific resource ('element (tab)'), which distinguishes it from sibling tools like onshape_delete_document and onshape_delete_feature. The parenthetical clarifies the exact entity type, leaving no ambiguity about what is being removed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites (e.g., being in a workspace, having edit permissions). It simply states the action without contextual routing.

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

onshape_delete_featureDelete a featureA
Destructive

Remove one feature from the tree. Features added after it may fail to regenerate.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
feature_idYesId of the feature to delete.

TDQS

A3.8/5.0
Behavior4/5

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

The destructiveHint annotation already flags that this operation is destructive. The description adds a valuable behavioral warning: features added after the deleted one may fail to regenerate. This goes beyond the annotation and informs the agent of downstream consequences.

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

Conciseness5/5

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

Two short sentences deliver the core action and the most important risk in a front-loaded, efficient way. There is no filler or redundant restating of the tool name.

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

Completeness4/5

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

For a destructive single-feature deletion, the description provides the essential target and consequence. It does not explain return behavior or mention irreversibility explicitly, but the destructive annotation and regeneration warning cover the main context an agent needs.

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

Parameters3/5

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

All four parameters are fully documented in the schema with clear descriptions, so the baseline is 3. The tool description adds no parameter-specific meaning beyond the schema, but none is needed because schema coverage is 100%.

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

Purpose5/5

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

The description states a specific action ('Remove one feature') and a clear resource ('from the tree'), so an agent knows exactly what this tool does. It is naturally distinguished from siblings like update_feature and add_feature by the delete semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives such as delete_element or update_feature. It implies the use case by describing the action, but it does not state prerequisites, exclusions, or when a different tool would be more appropriate.

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

onshape_delete_instanceDelete an instanceA
Destructive

Remove one instance from an assembly by its occurrence node id.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nodeYesOccurrence node id of the instance.

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, so the description is not required to repeat destructiveness. However, it adds no additional behavioral context—such as irreversibility, effects on sub-assemblies, or required permissions—beyond what the annotation provides. It also leaves ambiguity about the scope of the deletion (e.g., does it cascade to child instances?).

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the action and target. There is no fluff, and every word contributes to the meaning, making it highly concise and efficient.

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

Completeness4/5

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

For a simple delete operation with all parameters fully described in the schema, the description provides sufficient context—the action and the key identifier. It does not explain return values or error handling, but no output schema exists, and the description clarifies that the node is an occurrence node id, which is the critical detail. It is adequate for an agent to correctly invoke the tool.

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

Parameters3/5

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

The schema provides descriptions for all four parameters (doc, ws, elem, node) with full coverage. The description reiterates the role of 'node' (occurrence node id) but adds no syntax, format, or additional meaning beyond what the schema already specifies. Baseline 3 is appropriate given high schema coverage.

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

Purpose5/5

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

The description states a specific verb ('Remove'), a specific resource ('instance from an assembly'), and the key input ('occurrence node id'). This clearly differentiates it from sibling delete tools like onshape_delete_feature or onshape_delete_document, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'assembly', but it does not explicitly state when to use this tool versus alternatives (e.g., delete_feature for features, delete_document for documents). An agent must infer the appropriate scenario from the name and context rather than receiving direct routing guidance.

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

onshape_draftDraft facesA

Taper faces away from a neutral plane — the usual requirement for moulded or cast parts.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Draft").
angleNoDraft angle in degrees (default 3).
facesYesFeatureScript query selecting the faces to draft.
neutralYesFeatureScript query selecting the neutral plane or face.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).

TDQS

A3.9/5.0
Behavior3/5

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

Annotations provide no behavioral hints, so the description carries the burden. It does disclose the core geometric behavior and taper direction. However, it does not mention that this is a model-mutating feature addition, potential failure behavior, or validation implications beyond what the schema's 'validate' parameter implies.

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

Conciseness5/5

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

A single, front-loaded sentence states the operation and its typical use case with zero filler. The explanation is compact and easy to parse before considering parameters.

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

Completeness3/5

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

With no output schema and only a title annotation, the description carries significant context burden. It explains the geometric purpose but omits side effects, failure modes, and explicit selection guidance for the required FeatureScript queries, leaving part of the operational context to be inferred.

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

Parameters3/5

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 eight parameters. The description adds little beyond the phrase 'away from a neutral plane', which helps interpret 'neutral' and 'faces', but it does not go beyond the schema baseline.

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

Purpose5/5

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

The description uses a specific verb-resource pair: 'Taper faces away from a neutral plane'. This clearly identifies the draft feature and differentiates it from sibling operations like chamfer, fillet, or shell. The molded/cast context reinforces the geometric intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'the usual requirement for moulded or cast parts' gives clear context for when this tool is appropriate. It does not explicitly name alternatives or state when not to use it, but the use case is specific enough for an agent to route correctly.

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

onshape_encode_configurationEncode a configurationA

Turn configuration parameter values into the encoded string other tools accept as configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
paramsYesParameter ids and the values to set.

TDQS

A4/5.0
Behavior3/5

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

With no annotation hints (readOnly, destructive, etc.), the description carries the burden of behavioral disclosure. It states the tool produces an encoded string, but doesn't mention any side effects, error behavior, or whether it's a pure transformation. For a simple encoding utility, this is adequate but not rich; it could mention that it has no 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.

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It front-loads the action ('Turn... into...') and immediately communicates the output's purpose. Perfectly concise for a simple utility.

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

Completeness4/5

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

For a straightforward encoding tool, the description covers the essential purpose. It doesn't describe the exact format of the encoded string or any constraints, but given the tool's simplicity and other context (schema covers parameters), it's sufficiently complete. No output schema exists, but the return value is implied as an encoded string.

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

Parameters3/5

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 input schema. The description does not add extra meaning beyond what the schema provides; it generically refers to 'configuration parameter values' without specific details. With high schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function: converting configuration parameter values into an encoded string used by other tools. It identifies the resource (configuration) and the specific action (encode), and distinguishes itself from sibling tools like onshape_get_configuration by noting it produces a string others accept.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when you need to provide a `configuration` string to other tools. It doesn't explicitly name alternatives or say when not to use it, but the context of 'other tools accept' gives clear guidance. No exclusions are stated, but the purpose is evident.

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

onshape_eval_featurescriptEvaluate FeatureScriptA

Run a FeatureScript function against the Part Studio and return its decoded value. The general-purpose way to inspect geometry: 'function(context is Context, queries) { ... }'.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
rawNoReturn Onshape's raw response instead of the decoded value.
elemYesElement id (tab) — the <elem> segment of the document URL.
scriptYesA FeatureScript function expression taking (context, queries).

TDQS

A3.6/5.0
Behavior3/5

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

With no behavioral annotations besides a title, the description carries the burden of disclosure. It does clarify that the tool returns a decoded value (or raw response via the 'raw' parameter) and frames the operation as inspection, which suggests it is non-mutating. However, it does not explicitly guarantee no side effects on the document or mention required permissions, which would be valuable for an arbitrary-code evaluation tool.

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

Conciseness4/5

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

The description is two efficient sentences with the purpose, the general-use context, and the required script signature all front-loaded. It contains no filler, though it could slightly improve structure by separating the signature example more clearly.

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

Completeness3/5

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

The description covers the basics: what the script should look like, where it runs, and what kind of output to expect. However, with no output schema and no annotations, it leaves gaps around return value types, error behavior, whether evaluation can have side effects, and common usage patterns—significant for an advanced, open-ended evaluation tool.

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

Parameters3/5

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 five parameters. The description adds the exact function signature 'function(context is Context, queries) { ... }', but this largely restates the script parameter's schema description ('function expression taking (context, queries)'). Thus the description provides no substantial parameter meaning beyond the schema.

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

Purpose5/5

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

The description states a specific action ('Run a FeatureScript function'), identifies the target resource ('against the Part Studio'), and explains the result ('return its decoded value'). It also brands itself as 'the general-purpose way to inspect geometry,' which differentiates it from the many specific feature-creation and inspection siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'The general-purpose way to inspect geometry' implies this is the fallback tool when no dedicated sibling applies, but it never explicitly says when to prefer it or when to avoid it. The usage guidance is implied rather than stated as direct selection criteria or exclusions.

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

onshape_exportExport CAD formatA

Export through Onshape's translation service: STEP, IGES, 3MF, PARASOLID, SOLIDWORKS and others. Slower than STL because the translation is queued server-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
outNoOutput file path (default onshape-<timestamp>.<format> in the output directory).
elemYesElement id (tab) — the <elem> segment of the document URL.
kindNoElement kind being exported (default partstudios).
formatNoFormat name, e.g. STEP, IGES, 3MF, PARASOLID (default STEP).
configurationNoEncoded configuration string.

TDQS

A4.1/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the sparse title-only annotation: exports are handled by a server-side translation service and are queued, making them slower than STL. This warns the agent about latency and async behavior. It does not mention return values or side effects, but the disclosed queuing trait is genuinely useful.

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

Conciseness5/5

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

Two short sentences deliver the core purpose, supported formats, and a key behavioral caveat with no filler. The format list is front-loaded and the latency note is placed after the main purpose, making the description easy to scan.

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

Completeness3/5

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

For a tool with seven parameters and no output schema, the description covers the essential purpose and latency behavior, and the schema covers parameter semantics. However, it does not explain what the tool returns (e.g., a job status, output path, or confirmation), which the agent would need since no output schema is present.

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

Parameters3/5

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 seven parameters, including doc/ws/elem and format examples. The description's format list mostly duplicates the schema's format example and adds no additional parameter-level detail or constraints, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource ('Export through Onshape's translation service') and enumerates the relevant formats (STEP, IGES, 3MF, PARASOLID, SOLIDWORKS). It also distinguishes itself from the STL export path by explicitly noting that this path is slower, which helps an agent separate it from the onshape_export_stl sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context by listing supported CAD formats and contrasting the queued translation service with STL. It does not explicitly name onshape_export_stl as the alternative for STL exports, but the comparison is concrete enough for an agent to infer the appropriate selection.

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

onshape_export_drawingExport a drawingB

Export a drawing as PDF (or DWG/DXF) through the translation service.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
outNoOutput file path (default onshape-drawing-<timestamp>.<format>).
elemYesElement id (tab) — the <elem> segment of the document URL.
formatNoFormat name: PDF, DWG, DXF (default PDF).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations only provide a title, so the description carries most of the behavioral burden. It adds useful context by mentioning formats and the translation service, but it does not disclose whether a file is written locally, what the response contains, or whether the operation is non-destructive.

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

Conciseness5/5

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

A single, front-loaded sentence that communicates purpose and formats without any filler. Every word earns its place.

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

Completeness2/5

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

With no output schema and no behavioral annotations, the agent is not told what happens after the export is requested: whether a file is returned, written to the output path, or whether translation is asynchronous. Parameter documentation is complete, but post-invocation behavior is missing.

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

Parameters3/5

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

Schema coverage is 100% and all parameters already have descriptions well beyond the tool description. The description only repeats the format options already present in the schema, adding no new parameter-level insight.

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

Purpose5/5

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

The description states a specific verb and resource: 'Export a drawing' as PDF, DWG, or DXF through the translation service. This clearly distinguishes it from sibling tools like onshape_export_stl and generic onshape_export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. Sibling tools such as onshape_export_stl and onshape_export exist, but the description does not mention them or provide selection criteria.

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

onshape_export_stlExport STLA

Export the Part Studio as STL, for 3D printing. Measure the model before exporting it.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
outNoOutput file path (default onshape-<timestamp>.stl in the output directory).
elemYesElement id (tab) — the <elem> segment of the document URL.
asciiNoWrite ASCII STL instead of binary.
unitsNoSTL units (default inch).
resolutionNoTessellation quality (default medium).
configurationNoEncoded configuration string.

TDQS

A3.5/5.0
Behavior2/5

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

Annotations provide only a title, so the description carries the full burden of behavioral disclosure. It implies a non-destructive read/export and hints at a measurement prerequisite, but it does not state side effects, output destination, whether the file is written locally or returned, auth requirements, or why measuring matters. The 'measure before exporting' instruction is ambiguous about the underlying behavior.

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

Conciseness4/5

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

Two short sentences with zero filler and the core action front-loaded. The second sentence earns its place as a workflow tip, though its cryptic wording slightly reduces the value of an otherwise compact definition.

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

Completeness2/5

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

With no output schema, only a title annotation, and 8 parameters, the description should clarify what the export produces and how defaults like units/resolution behave. It leaves an agent uncertain about return values, file handling, and the reason for the measurement prerequisite, making it incomplete for confident invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so all 8 parameters are already documented with their own descriptions. The tool description adds no parameter-level meaning beyond the schema, matching the baseline of 3 for high coverage.

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

Purpose5/5

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

The description states a specific verb (Export), resource (Part Studio), and format (STL) with a clear use case (3D printing). This specificity distinguishes it from the sibling onshape_export and onshape_export_drawing, so an agent can identify the right tool 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'for 3D printing' clause gives clear usage context, and the second sentence adds a workflow pre-step ('Measure the model before exporting it'). However, it names no alternatives or exclusion conditions versus the generic onshape_export sibling, leaving some selection judgment to the agent.

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

onshape_extrudeExtrude a sketchA

Extrude the closed regions of a sketch into a solid. op=NEW makes a body, ADD merges into existing bodies, REMOVE cuts them, INTERSECT keeps the overlap.

ParametersJSON Schema
NameRequiredDescriptionDefault
opNoNEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW).
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Extrude").
depthYesExtrusion depth in inches.
sketchYesFeature id of the sketch to extrude.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
depth_variableNoUse a Part Studio variable (by name) for the depth instead.

TDQS

A3.9/5.0
Behavior4/5

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

With only a title annotation and no readOnly/destructive hints, the description carries the burden of behavior disclosure. It clearly states that NEW makes a body and that ADD/REMOVE/INTERSECT modify existing bodies. It doesn't mention feature-tree side effects or regeneration validation, but the core mutating 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.

Conciseness5/5

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

Two sentences with no filler. The core action is front-loaded, and the op modes are compressed into a compact, readable list.

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

Completeness4/5

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

Given a well-documented schema and no output schema, the description covers the essential conceptual ground: closed sketch regions, solid result, and boolean operations. It could add failure conditions, such as missing existing bodies for REMOVE/INTERSECT, but nothing critical is missing for basic invocation.

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

Parameters4/5

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

Since the input schema already documents all 9 parameters, the baseline is 3. The description adds value by giving concrete semantics to the op enum (merge, cut, overlap) and by emphasizing that the input sketch must have closed regions.

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

Purpose4/5

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

States a specific operation (extrude), a clear resource (closed regions of a sketch), and the resulting output (a solid). This distinguishes it from sketch-drawing tools and many other modeling operations, though it doesn't explicitly name sibling alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear contextual use — closed sketch regions become a solid — and explains the different boolean modes. However, it does not explicitly state when to choose extrude over alternatives like revolve, sweep, or thicken, nor 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.

onshape_filletFillet edgesC

Round the selected edges. Name the edges with one of: edges (ids), query (FeatureScript), feature (every edge that feature made), all, or circular.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
allNoSelect all edges of all solid bodies.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Fillet").
typeNoFillet type (default EDGE).
edgesNoExplicit deterministic edge ids, from onshape_get_edges.
queryNoFeatureScript query, e.g. query = qCreatedBy(makeId("FID"), EntityType.EDGE);
radiusNoFillet radius in inches (default 0.1).
featureNoSelect every edge created by this feature id.
circularNoSelect only circular edges.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
radius_variableNoUse a Part Studio variable for the radius.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations provide only a title, so the description carries the full burden of behavioral disclosure. It states the action ('Round the selected edges') but does not mention that this creates or modifies a feature, implies write access, or describe any side effects or validation behavior. This is similar to the 'update_drive' example—mutation is implied but not elaborated.

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

Conciseness4/5

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

The description is two sentences with no fluff. The core purpose is front-loaded, and the edge-selection options are listed compactly. It is efficient and scannable, though the phrase 'Name the edges' is slightly unusual, it does not waste words.

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

Completeness2/5

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

With 13 parameters, no output schema, and sparse annotations, this tool is complex, yet the description only addresses edge selection. It omits context about radius, type, validation, and the overall feature-creation workflow. An agent has to rely entirely on the schema for everything except edge selection, leaving significant gaps in understanding how to call the tool effectively.

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

Parameters3/5

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 a minor but useful clarification that the edge selection parameters (edges, query, feature, all, circular) are mutually exclusive alternatives, which the schema does not explicitly state. However, it does not expand on any parameter beyond what the schema already describes, so it only marginally exceeds the baseline.

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

Purpose4/5

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

The description opens with 'Round the selected edges,' which is a clear verb+resource statement that unambiguously conveys the tool's purpose of filleting edges. It distinguishes from the sibling onshape_chamfer by using 'round' instead of 'bevel.' However, it doesn't explicitly name the sibling or contrast with it, so it stops short of strong differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for rounding edges but gives no explicit guidance on when to choose it over alternatives like onshape_chamfer or onshape_shell. No exclusions or alternative tool mentions are present. The edge-selection instructions are about how to pick edges, not about when to use the tool.

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

onshape_find_circular_edgesFind circular edgesB
Read-only

Circular edges, optionally only those matching a radius — the usual way to pick hole rims to fillet.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
radiusNoOnly return edges with this radius, in inches.
toleranceNoRadius match tolerance in inches (default 0.001).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the radius-filtering behavior and a typical use case, but does not disclose the return format or any limitations. For a read-only tool, this is adequate but not rich.

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

Conciseness4/5

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

The description is a single concise sentence (fragment) that front-loads the core purpose and then adds optional filtering and a use case. It is efficient, though it could be more structured as a full sentence.

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

Completeness3/5

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

For a simple read-only tool with 5 parameters and no output schema, the description explains purpose and typical use but does not mention what the tool returns (e.g., a list of edge IDs). Since there is no output schema, this is a notable gap, but the tool's simplicity and common patterns may mitigate it.

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

Parameters3/5

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. The description's mention of 'matching a radius' adds minimal context to the radius parameter, but does not go beyond what the schema already states. Baseline of 3 is appropriate.

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

Purpose4/5

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

The description states the tool returns circular edges, optionally filtered by radius, and gives a typical use case (picking hole rims to fillet). It distinguishes from generic edge tools by focusing on circular edges, but the verb 'find' is implied rather than explicit, and the resource scope (part studio) is not stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description suggests when to use it (for picking hole rims to fillet) but does not explicitly compare to sibling tools like onshape_get_edges or onshape_find_edges_by_feature, nor state when not to use it. 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.

onshape_find_edges_by_featureFind edges created by a featureA
Read-only

Deterministic ids of the edges a given feature created, evaluated by Onshape.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
featureYesFeature id whose edges you want.

TDQS

A3.9/5.0
Behavior4/5

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

The description adds 'deterministic ids' and 'evaluated by Onshape,' which go beyond the readOnlyHint annotation by implying the output is stable and computed server-side. This is useful context for an agent. No contradictions with annotations are present.

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

Conciseness5/5

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

The description is one concise sentence that immediately conveys the core purpose. It is front-loaded with the key information and contains no filler.

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

Completeness5/5

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

For a simple read-only query with four well-documented parameters and no output schema, the description fully explains what the tool returns (edge ids) and how it operates. An agent has enough information to call it correctly without additional context.

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

Parameters3/5

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

Schema coverage is 100%, and each parameter has a description. The tool description adds no additional parameter semantics beyond the schema. The 'feature' parameter is already explained in the schema as 'Feature id whose edges you want.' Baseline 3 is appropriate given full schema coverage.

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

Purpose5/5

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

The description states a clear verb and resource: find edges created by a feature. It is specific and distinct from siblings like onshape_get_edges or onshape_find_circular_edges because it explicitly ties edges to the feature that created them. The phrase 'deterministic ids' also adds precision about the output nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as onshape_get_edges or onshape_find_circular_edges. The description does not mention when this tool is preferred or when to avoid it. The usage context is only implied by the name and description.

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

onshape_find_part_studiosFind Part Studios by nameA
Read-only

List the Part Studios in a workspace, optionally filtered by a substring of the name.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameNoCase-insensitive substring to match.

TDQS

A4.1/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes that this is a safe read operation. The description adds the workspace scope and filtering behavior, but does not disclose return format, pagination, or failure behavior; for a simple list tool this is acceptable 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.

Conciseness5/5

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

A single front-loaded sentence with no fluff; it states the action, scope, and optional behavior in a compact way.

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

Completeness5/5

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

For a simple read-only list tool, the description plus fully covered schema and readOnlyHint give an agent everything needed to call it appropriately. No output schema is present, but 'List' reasonably implies the return value.

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

Parameters3/5

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 three parameters. The description adds little semantic value beyond the schema, simply restating workspace scope and substring filtering.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('Part Studios'), and scopes it to a workspace with an optional name-substring filter. This makes it clearly distinct from general element listing and part-listing siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the context clearly: use it to list Part Studios in a given workspace, optionally filtered by a name substring. It does not explicitly name alternatives or exclusion conditions, but the use case is unambiguous.

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

onshape_get_assemblyGet assembly structureB
Read-only

The assembly's instances, occurrences, mate features and mate connectors.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
include_non_solidsNoInclude non-solid instances (default false).
include_mate_featuresNoInclude mate features (default true).
include_mate_connectorsNoInclude mate connectors (default true).

TDQS

B3.2/5.0
Behavior3/5

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

The readOnlyHint annotation already signals a safe read operation, and the description is consistent with that. The description adds the content scope (instances, occurrences, mate features, connectors) but does not disclose any additional behavioral traits such as output size, no-return-value cases, or performance characteristics. With annotations covering the safety profile, this is adequate but not rich.

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

Conciseness4/5

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

The description is very short and free of fluff, and the key returned content is listed compactly. It is under-specified as a sentence fragment but appropriately sized for a simple read-only assembly-structure tool.

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

Completeness3/5

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

For a read-only tool with complete parameter schema coverage, the description lists the main content of the result, partially compensating for the absent output schema. However, it does not explain how the include_* flags affect the result, whether the response is nested/hierarchical, or how occurrences relate to instances, which an agent might need for correct interpretation.

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

Parameters3/5

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 six parameters including defaults. The description repeats some concepts (mate features, mate connectors) but adds no parameter-level meaning beyond what the schema provides. Baseline 3 applies.

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

Purpose4/5

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

The title 'Get assembly structure' provides the verb and resource, and the description lists the specific components (instances, occurrences, mate features, mate connectors) that the tool returns. It is clear what the tool does, though the description itself is a noun fragment and does not explicitly differentiate itself from sibling tools like onshape_get_assembly_features.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as onshape_get_assembly_features, onshape_get_bom, or onshape_get_parts. The agent is left to infer the use case from the tool name and description.

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

onshape_get_assembly_featuresList assembly featuresB
Read-only

The mates, mate connectors and groups defined in an assembly, with their feature ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already tells the agent this is a safe read operation, lowering the burden on the description. The description adds a small behavioral detail by specifying exactly which kinds of features are listed (mates, connectors, groups) and that feature ids are included, but it does not disclose pagination, response format, or other runtime behaviors.

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

Conciseness5/5

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

The description is a single sentence with no filler or repetition. It front-loads the meaningful content — what the tool returns — and every word adds information.

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

Completeness4/5

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

For a simple read-only listing tool with three fully documented parameters, the description is mostly complete: it states the target resource (assembly) and the output contents (mates, connectors, groups with feature ids). The lack of an output schema makes the description the only source of return-value information, and it covers that adequately, though it could mention whether the result is a list or object.

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

Parameters3/5

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

Schema description coverage is 100%, and every parameter already has a clear explanation tying doc, ws, and elem to URL segments. The description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description names the specific content returned — mates, mate connectors, and groups defined in an assembly — and mentions feature ids, so an agent can tell this is an assembly-feature lister. It does not use an explicit verb like 'List', but the title and tool name supply that, and the resource scope is clear enough to distinguish it from generic feature tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as onshape_get_features or onshape_get_assembly. It implies assembly feature listing but does not state exclusions, prerequisites, or selection criteria, leaving the agent to infer the right context.

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

onshape_get_body_detailsGet body topologyA
Read-only

Bodies, faces and edges with their deterministic ids — the source for explicit edge selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

A3.6/5.0
Behavior3/5

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

The description adds the deterministic nature of IDs, which is useful context beyond the readOnlyHint annotation. However, it does not disclose other behavioral details such as response structure or limits, and the annotation already covers safety.

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

Conciseness5/5

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

The description is a single, focused sentence that conveys the essential function and a key attribute (deterministic IDs) without waste. It is front-loaded and easy to parse.

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

Completeness4/5

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

For a read-only retrieval tool with three well-documented parameters and no output schema, the description provides the essential context: what is returned and why it is useful. It is sufficient for an agent to understand the tool's role, though it could benefit from a note on how the IDs are structured.

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

Parameters3/5

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

The input schema has 100% description coverage, so all three parameters are documented. The description adds no parameter-specific information beyond what the schema provides, so a baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the resource (bodies, faces, edges) and the purpose (providing deterministic IDs for explicit edge selection). It is specific and distinguishes this tool from a generic 'get' operation, though it does not explicitly name sibling alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'the source for explicit edge selection' implies a use case but does not explicitly mention when to use this tool versus alternatives like onshape_get_edges or onshape_find_edges_by_feature. There is no clear 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.

onshape_get_bomGet the bill of materialsC
Read-only

The assembly's BOM table.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
indentedNoReturn the indented BOM (default true).
multi_levelNoExpand sub-assemblies (default false).

TDQS

C2.9/5.0
Behavior2/5

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

The annotations provide readOnlyHint=true, so the safe-read behavior is already known. The description adds only that the result is an assembly BOM table, and does not disclose return format, how indented or multi_level affect output, or any other behavioral details. No contradiction exists, but no additional behavioral context is provided either.

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

Conciseness4/5

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

The description is a single short sentence with no filler and the key subject ('BOM table') is front-loaded. It earns its place, though it is minimal enough that it cannot carry much explanatory weight on its own.

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

Completeness2/5

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

With no output schema, the description would need to convey more about what an agent can expect from the tool. It does not mention when to use it, what the returned BOM table contains, or how the boolean parameters change the result. For a five-parameter, read-only retrieval tool, this leaves meaningful gaps.

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

Parameters3/5

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 document/workspace/element IDs plus the two boolean options and their defaults. The description adds no extra parameter meaning beyond the assembly context, 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.

Purpose4/5

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

The title and description together identify a clear resource: the assembly's bill of materials. 'BOM table' is specific enough to distinguish this tool from the many sibling tools, none of which target BOM data. However, the description itself is a noun phrase rather than a full verb statement, so it relies on the title for the action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to use this tool versus alternatives such as onshape_get_assembly or onshape_get_parts. The intended context is only implied by the word 'assembly', with no exclusions or selection criteria.

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

onshape_get_configurationGet element configurationB
Read-only

The configuration parameters an element exposes, with their ids and allowed values.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description confirms a read-only retrieval by describing what is returned. It adds value by specifying the return content (ids and allowed values), but does not disclose other behavioral aspects such as error conditions or configuration applicability. No contradiction with annotations.

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

Conciseness5/5

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

A single, concise sentence that front-loads the core concept with no wasted words. It efficiently states what the tool returns.

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

Completeness4/5

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

For a simple read-only getter with fully documented parameters and a readOnly annotation, the description adequately explains the return content. Given no output schema, it could be slightly more explicit about the response structure, but it meets the essential needs.

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

Parameters3/5

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

The input schema provides 100% description coverage for all three parameters, so the tool description adds no additional parameter-level meaning. Baseline 3 applies.

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

Purpose4/5

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

The description clearly identifies the resource (configuration parameters of an element) and the kind of information returned (ids and allowed values). It is distinct enough from siblings like onshape_encode_configuration, though it does not explicitly differentiate itself from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as onshape_encode_configuration or onshape_get_features. The purpose implies a use case, but there is no explicit context, prerequisites, or exclusions.

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

onshape_get_documentGet an Onshape documentB
Read-only

Read one document's metadata, including its default workspace id.

ParametersJSON Schema
NameRequiredDescriptionDefault
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this as a safe read operation, and the description is consistent with that. It adds a small behavioral detail—returned metadata includes the default workspace id—but it does not disclose error behavior or authentication requirements; this is acceptable for a simple read annotated as read-only.

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

Conciseness5/5

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

The description is one short sentence, front-loaded with the verb 'Read', and contains no filler or repeated information from the title.

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

Completeness4/5

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

This is a simple one-parameter read operation with a fully documented schema and a read-only annotation. The description is largely sufficient for invocation, though because there is no output schema, the return value is only vaguely described as 'metadata' plus one field.

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

Parameters3/5

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

The single required parameter 'doc' is already fully described in the schema with a URL template, so schema coverage is 100%. The description adds no additional parameter-level meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific action—'Read'—and a specific resource—'one document's metadata'—and adds a concrete returned field ('default workspace id'). It is clear enough, but it does not explicitly differentiate itself from the sibling onshape_get_document_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of list_documents, search_documents, or get_document_summary. The only hint is 'one document', which weakly implies a single-document lookup.

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

onshape_get_document_summarySummarize an Onshape documentA
Read-only

Document metadata plus every workspace and the elements (tabs) inside each — the fastest way to orient in an unfamiliar document and collect the ids other tools need.

ParametersJSON Schema
NameRequiredDescriptionDefault
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true; the description adds meaningful behavior by stating it returns the full workspace/tab tree, not just one slice. It does not discuss response size or rate limits, but for a read-only aggregate tool those are minor gaps.

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

Conciseness5/5

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

A single, front-loaded sentence states the return content and the value proposition with no filler. Every clause earns its place.

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

Completeness5/5

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

With one fully documented parameter, a read-only annotation, and no output schema, the description still tells the agent what will be returned (metadata, workspaces, elements, ids) and when to use it. Nothing necessary for invoking it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, and the schema's doc description already gives the URL format and required semantics. The tool description only repeats that the tool collects ids; it adds no new parameter-level information, so the baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb ('summarize'), resource ('document'), and the exact payload: metadata plus every workspace and the elements inside each. This clearly differentiates it from sibling tools like get_document, get_workspaces, and get_elements, which cover only a slice of that aggregate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit use case: 'the fastest way to orient in an unfamiliar document and collect the ids other tools need.' It does not name alternative tools or say when not to use it, 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.

onshape_get_drawing_viewsList drawing viewsB
Read-only

The views placed on a drawing sheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the read-only safety profile. The description adds the scoping detail that views are those 'placed on a drawing sheet,' but it does not disclose return format, pagination, or how sheets are handled. This is a minor gap given the annotation exists.

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

Conciseness4/5

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

The description is a single short phrase with no filler, and the drawing-sheet scoping is front-loaded. It is efficient, though the noun-phrase form is less informative than a proper verb-first instruction.

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

Completeness3/5

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

For a simple read-only listing with fully documented parameters and a readOnly annotation, the definition is minimally sufficient: an agent knows what to call and what high-level result to expect. The lack of an output schema and any note about multiple drawing sheets or return structure leaves some ambiguity, but it is not blocking.

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

Parameters3/5

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

The description adds no parameter-level meaning, but the input schema has 100% coverage with clear explanations for doc, ws, and elem as URL segments. With full schema coverage, the schema carries the parameter-semantics burden, so the baseline 3 applies.

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

Purpose4/5

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

The title 'List drawing views' supplies a specific verb and resource, and the description clarifies the scope as 'views placed on a drawing sheet.' This is reasonably distinct from sibling element/feature listing tools, though the description itself is a noun phrase and does not explicitly name an action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The title and description imply the tool should be used when an agent needs the views on a drawing sheet. However, it does not state when not to use it, mention prerequisites, or reference alternatives among the sibling tools.

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

onshape_get_edgesList edgesB
Read-only

Every edge of every solid body, with its deterministic id, owning body, type and radius (inches).

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, covering the safety profile. The description adds that edges come with a deterministic id, owning body, type, and radius in inches, which is useful context beyond the annotation. However, it doesn't mention any edge cases (e.g., only solid bodies, not surfaces) or whether the result set is large, so it adds moderate behavioral detail without going deep.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the core purpose and lists the returned attributes. No fluff, no redundancy, and every word earns its place.

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

Completeness4/5

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

For a simple list operation, the description covers what it returns and the scope (all solid bodies). It doesn't specify the output format or pagination, but since there is no output schema, the description partially compensates by naming the fields. It could mention that edges are from solid bodies only, which it does, and that radius applies only to circular edges, but that is a minor gap.

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

Parameters3/5

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

Schema coverage is 100%, with all three parameters (doc, ws, elem) described in the schema itself. The description adds no additional parameter semantics, so the baseline score of 3 applies because the schema carries the full burden.

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

Purpose4/5

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

The description clearly states the tool lists every edge of every solid body, with specific attributes (id, body, type, radius). It is distinct from sibling tools like find_circular_edges or find_edges_by_feature, but it doesn't explicitly name those alternatives, so the differentiation is implicit 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.

Usage Guidelines2/5

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 such as onshape_find_circular_edges or onshape_find_edges_by_feature. The description implies it returns all edges, but it doesn't state when a more targeted edge query would be appropriate, nor does it mention any prerequisites 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.

onshape_get_elementsList elements in a workspaceA
Read-only

List the elements (tabs) in a workspace: Part Studios, assemblies, drawings, Feature Studios.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
typeNoOnly return elements of this type.

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already signals this is a safe read operation, so the description does not need to repeat that. It adds modest context by enumerating element types, but does not disclose details like whether all elements are returned by default or how filtering behaves.

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

Conciseness5/5

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

The description is a single clear sentence with no wasted words. The examples in the parenthetical add useful context without bloating the definition.

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

Completeness4/5

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

For a simple read-only list tool with a fully documented schema and a readOnlyHint annotation, the description is nearly sufficient. It could mention that element identifiers are returned, but the lack of an output schema and the tool's simplicity keep this from being a significant gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully explains doc, ws, and type. The description adds no parameter-level 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.

Purpose5/5

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

The description states a specific verb ('List'), a resource ('elements/tabs'), and a container ('workspace'), and names the kinds of elements returned. This clearly distinguishes it from sibling tools like onshape_list_documents or onshape_get_features.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as onshape_get_features, onshape_get_workspaces, or onshape_find_part_studios. The usage context is only implicit in the title and description.

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

onshape_get_featuresList Part Studio featuresA
Read-only

The full feature tree with each feature's id, type, parameters and regeneration state. Large — prefer onshape_measure or onshape_get_parts when you only need the result of the tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
configurationNoEncoded configuration string from onshape_encode_configuration.

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, so no safety contradiction. The description adds the behavioral context that the output is large and includes regeneration state, which is useful. However, it does not disclose pagination, rate limits, or any specific response format, but given the readOnly annotation, additional behavior is less critical. A 3 is appropriate for adequate but not rich behavioral disclosure.

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

Conciseness5/5

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

Two sentences, zero waste. The first sentence states the core functionality, and the second immediately provides routing guidance. The warning about size is front-loaded and helps the agent avoid expensive calls. Excellent structure with no extraneous text.

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

Completeness5/5

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

For a read-only list tool with complete schema coverage and no output schema, the description provides everything needed: what it returns, when to use alternatives, and the size warning. The lack of output schema is fine since the description enumerates the major fields (id, type, parameters, regeneration state). Nothing critical is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all four parameters. The description does not add any parameter-specific meaning, but with complete schema coverage, baseline 3 is correct. The description only mentions the 'configuration' indirectly as part of the feature tree, but no extra syntax or constraints are needed.

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

Purpose5/5

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

The description clearly states the tool lists the full feature tree, including id, type, parameters, and regeneration state. It names specific sibling tools (onshape_measure, onshape_get_parts) as alternatives, distinguishing it from those that return results rather than the tree. This is specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to prefer onshape_measure or onshape_get_parts when only the result of the tree is needed, providing clear when-to-use vs. when-not-to-use guidance. It also warns about the large size of the output, which helps the agent decide based on cost. This is excellent routing guidance.

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

onshape_get_feature_specsGet feature specificationsA
Read-only

The parameter ids, enum names and defaults Onshape expects for every feature type in this Part Studio. Read this before hand-writing a payload for onshape_add_feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

A4.3/5.0
Behavior4/5

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

The description adds useful behavioral context beyond the readOnlyHint annotation by specifying what the tool returns and that it is scoped to 'this Part Studio.' It also frames the tool as a prerequisite for add_feature payload construction. No contradiction with annotations.

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

Conciseness5/5

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

Two compact sentences carry significant information: the first defines the output content and scope, the second gives the usage trigger. There is no redundant wording.

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

Completeness5/5

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

Despite lacking an output schema, the description tells the agent what the response will contain and when to invoke this tool. All required parameters are schema-documented, and the workflow purpose is clear. Nothing essential is missing for a read-only lookup tool.

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

Parameters3/5

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

All three parameters are fully documented in the schema (100% coverage), so the description does not need to repeat their meanings. It adds no additional parameter-specific guidance, which matches the baseline for complete schema coverage.

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

Purpose5/5

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

Clearly states a specific verb and resource: it returns the parameter ids, enum names, and defaults Onshape expects for feature types in a Part Studio. This distinguishes it from onshape_get_features, which would retrieve actual features rather than their specifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit, actionable usage instruction: 'Read this before hand-writing a payload for onshape_add_feature.' It does not name alternatives or exclusions, but the workflow context is concrete and unambiguous.

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

onshape_get_feature_studioRead a Feature StudioB
Read-only

The FeatureScript source of a Feature Studio.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already communicates that this is a safe read operation, lowering the burden on the description. The description adds that the content is FeatureScript source, but does not disclose response format, error behavior, or whether it reflects the currently saved state. This is minimal but acceptable given the annotation.

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

Conciseness5/5

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

The description is a single six-word fragment that conveys one essential fact without filler or repetition. It is appropriately brief and front-loaded.

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

Completeness4/5

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

For a simple read-only lookup with fully described parameters and no output schema, the description tells the agent that the result is the FeatureScript source. It does not detail response encoding or error cases, but the tool is simple enough that the information provided is sufficient for selection and invocation.

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

Parameters3/5

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

Schema coverage is 100%: doc, ws, and elem each have clear descriptions referencing the Onshape URL structure. The description adds no parameter-specific meaning, but with full schema coverage the baseline of 3 is appropriate.

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

Purpose4/5

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

The description identifies the returned content specifically as 'FeatureScript source' of a Feature Studio, which distinguishes it from siblings like get_feature_studio_specs or set_feature_studio. It is a noun phrase rather than an explicit verb phrase, but the tool name and title supply the read action clearly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as onshape_get_feature_studio_specs or onshape_set_feature_studio. The phrase 'FeatureScript source' weakly implies a read-for-content use case, but no when/when-not conditions or exclusions are provided.

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

onshape_get_feature_studio_specsGet Feature Studio specsA
Read-only

The feature specifications a Feature Studio defines, for calling its custom features.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe-read behavior is established. The description adds useful context that the result is specifically the custom-feature-calling specs of a Feature Studio, but it does not disclose the return shape, ordering, or any other behavioral details. This is acceptable given the read-only annotation but adds only modest context beyond it.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the core object (feature specifications from a Feature Studio) and immediately states its purpose. There is no filler, repetition, or unnecessary detail.

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

Completeness4/5

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

For a read-only getter with three fully documented input parameters and no output schema, the description provides a complete enough mental model: the tool returns the feature specs a Feature Studio defines so its custom features can be called. It does not enumerate the spec fields, but the stated purpose is sufficient for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter (doc, ws, elem) has a clear description referencing Onshape URL segments. The tool description adds no parameter-specific meaning, but since the schema already fully documents all three required parameters, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the resource ('feature specifications a Feature Studio defines') and the purpose ('for calling its custom features'), which distinguishes it from the broader onshape_get_feature_specs sibling. It lacks an explicit verb like 'retrieves' or 'returns,' but the title supplies the action, so the intended operation is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for calling its custom features' implies the appropriate use case: when an agent needs the specs needed to invoke custom features defined by a Feature Studio. However, it does not explicitly state when to prefer this tool over onshape_get_feature_specs or other feature-related siblings, leaving the differentiation mostly to inference.

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

onshape_get_metadataGet element or part metadataA
Read-only

Read the properties of an element, or of one part when part is given.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
partNoPart id, to read that part's properties.

TDQS

A3.8/5.0
Behavior3/5

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

The readOnlyHint annotation already signals this is a safe read operation, and the description's 'Read' is consistent with that. The description adds useful conditional behavior (element metadata vs. part metadata), but does not disclose return shape, errors, or any other runtime behavior. With annotations covering safety, this is adequate but not rich.

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

Conciseness5/5

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

A single sentence that front-loads the action and resource, and efficiently handles the optional part behavior. There is no filler or redundant wording.

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

Completeness4/5

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

For a simple read-only metadata retrieval tool, the description plus the fully documented schema is nearly complete. There is no output schema, so a slightly more explicit statement of what kind of properties are returned would strengthen it, but nothing essential is missing for calling it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so doc, ws, elem, and part are each already explained. The description adds no additional parameter meaning beyond restating that part changes the scope, so the baseline of 3 applies.

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

Purpose5/5

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

The description states a specific verb ('Read'), a clear resource ('properties of an element, or of one part'), and the conditional scope when a part id is supplied. It is immediately distinguishable from its write counterpart onshape_set_metadata and from other read tools focused on features or bodies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the tool to use when metadata is needed, but it does not explicitly state when to prefer it over related tools like onshape_get_elements or onshape_get_parts. There are no exclusions or explicit alternative routing, so usage 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.

onshape_get_partsList partsA
Read-only

The parts a Part Studio produces, with part ids for export and assembly insertion.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

A3.6/5.0
Behavior3/5

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

The annotation readOnlyHint=true already covers the safety profile, so the description does not need to restate that the operation is read-only. The description adds the useful behavioral detail that the result contains part ids intended for export and assembly insertion. However, it does not mention ordering, configurability, or whether the listing reflects a specific configuration state, which would add further transparency.

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

Conciseness4/5

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

The description is one compact sentence with no filler. It front-loads the core meaning and then adds the most important downstream use of the returned data. It could be slightly more direct by starting with 'Lists' instead of 'The parts', but overall it is efficiently written.

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

Completeness4/5

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

For a simple read-only listing tool with fully documented parameters, the description provides enough context: it names the subject, the source, and the intended downstream use of the returned part ids. There is no output schema, so more detail about the exact return shape would be welcome, but the description is adequate for correct selection and invocation.

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

Parameters3/5

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

Schema coverage is 100%, and all three parameters (doc, ws, elem) have descriptive explanations linked to URL segments. The description itself adds no parameter-specific semantics, so the baseline of 3 applies because the schema already carries the burden.

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

Purpose4/5

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

The description clearly identifies the resource (parts) and the producing context (a Part Studio), and it specifies the key content (part ids) for export and assembly insertion. The title 'List parts' supplies the verb, so an agent can infer the action even though the description is a noun phrase. It is distinguishable from sibling tools like get_features or get_elements, though it does not explicitly name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when this tool is useful: when a caller needs the parts a Part Studio produces, particularly their part ids for downstream export or assembly insertion. It does not explicitly list exclusions or alternative tools that might be preferable in other cases, but the use case is clear and unambiguous.

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

onshape_get_sketch_infoGet sketch geometryB
Read-only

Entities and solved geometry for every sketch in a Part Studio, or for one sketch.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
sketchNoLimit to this sketch feature id.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description adds the specific return content (entities and solved geometry), which is useful context. It doesn't disclose additional behaviors like pagination or error conditions, but with the safety profile covered, this is a reasonable baseline.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core capability. It avoids unnecessary words and is easy to parse, though it could optionally mention the optional parameter's effect more explicitly.

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

Completeness3/5

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

With no output schema, the description should clarify what the agent will receive. It mentions 'entities and solved geometry' but not their structure or any caveats. For a straightforward read-only tool with well-defined inputs, this is adequate but leaves some ambiguity about the response format.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are fully documented. The description adds no additional meaning beyond the schema, such as clarifying the 'sketch' parameter's format or how the 'elem' refers to a Part Studio tab. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the resource (sketch entities and solved geometry) and scope (all sketches in a Part Studio or one sketch), distinguishing it from other get_* tools by its specific focus. However, it lacks an explicit verb like 'retrieves' or 'returns', and doesn't contrast with siblings, though the name already implies a getter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied: if you need sketch geometry, this is the tool. But it doesn't explicitly state when to use it over alternatives, mention when not to use it, or note any prerequisites. For a simple getter this is acceptable but not ideal.

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

onshape_get_thumbnailDownload the element thumbnailA

Save Onshape's stored thumbnail. Thumbnails are generated asynchronously and lag edits — prefer onshape_shaded_view to see the current state.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
outNoOutput PNG path (default onshape-thumb-<timestamp>.png).
elemYesElement id (tab) — the <elem> segment of the document URL.
sizeNoThumbnail size, e.g. "600x340" or "300x300" (default 600x340).
return_imageNoAlso return the PNG inline (default true).

TDQS

A4.2/5.0
Behavior3/5

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

The description discloses an important behavioral trait: thumbnails are generated asynchronously and can lag behind edits. However, annotations provide no behavioral hints, and the description does not clarify side effects such as writing a file to disk, returning an image, or whether the operation is read-only.

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

Conciseness5/5

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

Two short sentences with no filler. The core purpose is front-loaded, and the caveat plus alternative is delivered immediately after.

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

Completeness4/5

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

The critical caveat about stale thumbnails and the pointer to onshape_shaded_view are present, and the schema fully documents parameters. A minor gap is that return/save behavior is not explicitly described, but the schema's out and return_image fields partially cover this.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well documented. The tool description adds no parameter-specific meaning, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific action and resource: saving Onshape's stored thumbnail. It also distinguishes this tool from onshape_shaded_view by noting that shaded_view shows current state, so the agent can tell which tool serves which need.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names onshape_shaded_view as the preferred alternative when current state is needed, which tells the agent when not to use this tool. That is clear, actionable usage guidance.

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

onshape_get_variablesList Part Studio variablesB
Read-only

The variable table of a Part Studio: names, expressions and descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, and the description adds useful context about what the variable table contains. However, it does not disclose behaviors such as whether all variables are returned, how empty tables are handled, or any error conditions. There is no contradiction with the annotation.

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

Conciseness5/5

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

The description is a single, compact sentence that directly conveys the tool's purpose and expected content without extraneous words. Every word earns its place.

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

Completeness4/5

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

For a simple read-only listing tool with fully documented required parameters and a readOnlyHint annotation, the description is nearly sufficient. It communicates the returned fields, which partially compensates for the missing output schema, though it omits any nuance about version context or empty results.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are fully documented in the schema. The description adds no parameter-level semantics beyond the schema, keeping this at the baseline of 3.

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

Purpose4/5

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

The description identifies the resource (Part Studio variable table) and the content returned (names, expressions, descriptions), and the title supplies the 'List' verb. It is clear and distinct from the sibling set_variable, though it never explicitly states 'retrieves' or 'lists'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as onshape_set_variable or other read-only queries. The intended context can be inferred from the name and title, but no explicit usage conditions or exclusions are provided.

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

onshape_get_workspacesList workspacesA
Read-only

List a document's workspaces (branches).

ParametersJSON Schema
NameRequiredDescriptionDefault
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the clarification that workspaces are 'branches', which is useful domain context. However, it does not disclose what the response contains (e.g., workspace names, IDs, default workspace) or any pagination/ordering behavior. With annotations covering the read-only nature, a 3 is appropriate.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the verb and resource. It adds the parenthetical clarification '(branches)' which is valuable domain context without waste. Every word earns its place.

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

Completeness4/5

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

For a simple, read-only list operation with one fully documented parameter, the description is nearly complete. The only minor gap is that it doesn't describe the return format (e.g., list of workspace names/IDs), but since there is no output schema and the tool is simple, this is a small omission. The read-only annotation covers the safety profile.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents the 'doc' parameter, including its format and example. The description adds no additional parameter semantics beyond what the schema provides. Baseline 3 is correct when the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('a document's workspaces (branches)'), which clearly identifies the operation. It does not explicitly differentiate from sibling tools like onshape_list_versions or onshape_get_elements, but the resource is distinct enough that an agent can infer the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: it lists workspaces for a document, which is a read-only operation. However, it does not explicitly state when to use this tool versus alternatives like onshape_list_versions or onshape_get_document, nor does it mention any prerequisites (e.g., needing a document ID). The context is clear but not fully explicit.

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

onshape_holeCut a holeA

Extrude a sketch as a cut (op=REMOVE). Sketch a circle first, then cut it through the body.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Hole").
depthYesCut depth in inches; make it deeper than the body to cut through.
sketchYesFeature id of the sketch to cut with.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
depth_variableNoUse a Part Studio variable for the depth.

TDQS

A4.2/5.0
Behavior3/5

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

No safety annotations are present, so the description carries the burden. It discloses that the operation removes material ('cut', op=REMOVE) and cuts through the body, which signals destructive modification. It does not cover regeneration side effects, reversibility, or failure behavior, leaving some behavioral gaps.

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

Conciseness5/5

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

Two short sentences with no filler; the operation, mode, prerequisite, and result are packed efficiently. Every sentence earns its place.

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

Completeness4/5

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

For a mutating feature operation, the description plus a fully documented 8-parameter schema covers prerequisites, operation mode, and intended effect. It does not describe return values or error behavior, but the validate parameter offers some behavioral clarity.

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

Parameters4/5

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

The input schema covers 100% of parameters, so baseline is 3. The description adds semantic value by specifying that the sketch must be a circle and that the depth should go through the body, supplementing the schema's generic descriptions.

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

Purpose5/5

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

States a concrete operation: extrude a sketch as a cut with op=REMOVE, plus the circle-sketch prerequisite and through-body outcome. This clearly distinguishes it from general extrusion tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition ('Sketch a circle first') and the intended cutting behavior ('cut it through the body'), so an agent knows the required sequence. It does not name alternative tools or exclusions, 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.

onshape_insert_instanceInsert an instanceA

Insert a part, a whole Part Studio or another assembly into an assembly. Insert from a version when pulling from a different document.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
partNoPart id, to insert a single part.
src_docNoSource document id (defaults to the target document).
src_elemYesElement id of the source Part Studio or assembly.
is_assemblyNoThe source element is an assembly.
src_versionNoSource version id, required when inserting across documents.
whole_studioNoInsert every part of the source Part Studio.
configurationNoEncoded configuration for the inserted element.

TDQS

A3.5/5.0
Behavior2/5

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

Annotations provide only a title, so the description carries the full behavioral burden. 'Insert' implies mutation of the target assembly, but the description does not disclose whether the assembly is modified in place, any permission requirements, side effects on existing instances, or what the operation returns. This is comparable to a mutation tool with no annotation support.

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

Conciseness5/5

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

Two short sentences with no filler. The primary action and key cross-document rule are front-loaded, making the description easy to scan and process.

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

Completeness3/5

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

For a 10-parameter tool with no output schema and minimal annotations, the description is somewhat thin. It covers the main insertion modes and cross-document version behavior, but it relies heavily on the schema for parameter details and does not explain the operation's effect on the target assembly or expected result.

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

Parameters3/5

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 high-level mode context (part vs. whole Part Studio vs. assembly, and version for cross-document pulls), but it does not add meaningful detail beyond the schema's own parameter descriptions.

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

Purpose5/5

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

The description states a specific action ('Insert') and resource ('a part, a whole Part Studio or another assembly into an assembly'), clearly differentiating it from sibling tools like onshape_create_assembly or onshape_transform_instance. It also adds the cross-document nuance of inserting from a version.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful context, especially the rule to insert from a version when pulling from a different document. However, it does not explicitly name alternatives or state when not to use this tool, so usage guidance is mostly 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.

onshape_linear_patternLinear patternB

Repeat geometry along a direction, at a fixed spacing.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Linear Pattern").
typeNoWhat kind of thing is patterned (default PART).
countYesTotal number of instances, including the original.
distanceYesSpacing between instances, inches.
entitiesYesFeatureScript query selecting what to pattern.
oppositeNoPattern in the opposite direction.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
directionNoFeatureScript query selecting the direction entity.
direction_idsNoDeterministic id of an edge giving the direction.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations only provide the title, so the description carries the behavioral burden. It states the operation is a repeat with fixed spacing, which is a mutation (creating new geometry), but doesn't disclose side effects like whether the original is kept, how errors are handled, or the role of the 'validate' parameter. The description adds 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.

Conciseness4/5

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

The description is a single concise sentence that front-loads the core action and key parameters. It earns its place without redundancy, though it could add a bit more context without becoming verbose.

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

Completeness3/5

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

For a 12-parameter mutation tool with no output schema, the description is minimal. The schema covers parameters, but the description doesn't explain the overall behavior (e.g., what 'entities' selects, how direction is determined, or what happens on validation failure). It's adequate but leaves gaps for an agent to infer.

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

Parameters3/5

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 12 parameters. The description adds no parameter-specific meaning beyond 'direction' and 'fixed spacing', which are already in the schema. Baseline 3 is appropriate because the schema does the heavy lifting.

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

Purpose4/5

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

The description 'Repeat geometry along a direction, at a fixed spacing' clearly states the verb (repeat), the resource (geometry), and the key parameters (direction, fixed spacing). It distinguishes the tool from siblings like onshape_circular_pattern, which repeats around an axis, though it doesn't explicitly name that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for linear repetition of geometry, and the sibling list includes onshape_circular_pattern, which is the obvious alternative. However, it doesn't explicitly state when to use this tool vs. alternatives, nor does it mention prerequisites like needing a selected entity or direction.

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

onshape_list_documentsList Onshape documentsA
Read-only

List documents visible to the signed-in user, most recently modified first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return (default 20).
filterNoWhich documents to list (default all).
sort_byNoSort column, e.g. modifiedAt or name (default modifiedAt).
sort_orderNoSort direction (default desc).

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds the default ordering ('most recently modified first') and the scope ('visible to the signed-in user'), which are useful. However, it doesn't disclose pagination behavior, whether the result is a list of summaries or full documents, or any rate-limit considerations. With annotations covering the safety profile, a 3 is appropriate.

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

Conciseness5/5

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

One sentence with zero waste. It front-loads the action, resource, and scope, and includes the key default behavior. Every word earns its place.

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

Completeness4/5

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

Complete for a simple list tool whose annotations already carry the safety profile. The schema covers all parameters, and the description covers scope and default ordering. The only minor gap is the lack of an output schema or a note about the return shape, but for a list operation this is not critical.

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

Parameters3/5

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 four parameters. The description adds the default ordering context ('most recently modified first') which aligns with sort_by=modifiedAt and sort_order=desc, but doesn't add syntax or format details beyond what the schema provides. Baseline 3 is correct when schema does the heavy lifting.

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

Purpose5/5

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

The description states a specific verb ('List'), a specific resource ('documents visible to the signed-in user'), and a distinguishing behavior ('most recently modified first'). It clearly differentiates from sibling tools like onshape_search_documents and onshape_get_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for listing documents visible to the user, which is clear context. It does not explicitly mention when to use it over onshape_search_documents or onshape_get_document, but the scope ('visible to the signed-in user') and default ordering provide enough context for an agent to select it appropriately.

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

onshape_list_versionsList document versionsA
Read-only

List the immutable versions of a document, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.

TDQS

A3.9/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, and the description adds useful context: versions are immutable and the list is newest-first. Still, it does not disclose return format, pagination, or limits. This is comparable to a simple read-only list tool where annotations carry the main safety burden.

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

Conciseness5/5

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

One short sentence with the verb and object front-loaded. Every word earns its place, and there is no filler or redundant restating of the tool name.

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

Completeness5/5

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

For a one-parameter, read-only listing tool, the description is complete: the schema documents the parameter, the annotation declares read-only behavior, and the description supplies ordering and version nature. Nothing needed 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.

Parameters3/5

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

The input schema already provides 100% coverage of the single 'doc' parameter, including its exact URL pattern. The description adds no additional parameter semantics, 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.

Purpose5/5

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

The description states a specific verb ('List') and resource ('versions of a document'), and further characterizes them as 'immutable' and ordered 'newest first'. This clearly distinguishes it from sibling tools like onshape_create_version or onshape_list_documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: retrieve the immutable version history of a document. However, the description gives no explicit guidance on when to choose this over related tools such as onshape_list_documents, onshape_get_document, or onshape_create_version.

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

onshape_loginSign in to OnshapeA

Sign in to Onshape by opening a browser. method='api_key' (default) opens a local page that links to the Onshape developer key page and accepts the pasted key pair. method='oauth' runs the OAuth 2.0 authorization-code flow against an app you registered in the Onshape developer portal. The credential is verified against Onshape and stored in the OS keychain. Returns immediately with status 'pending' if the user has not finished yet — poll with onshape_login_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoLoopback port for the callback (OAuth default 8471).
scopeNoSpace-separated OAuth scopes, when the app needs them stated.
storeNoWhere to keep the credential: auto (keychain, else file), keychain, or file.
methodNoLogin method (default api_key).
base_urlNoOnshape API base URL (default https://cad.onshape.com).
client_idNoOAuth client id; also read from ONSHAPE_OAUTH_CLIENT_ID.
oauth_urlNoOAuth server (default https://oauth.onshape.com).
wait_secondsNoSeconds to wait for the browser before returning (default 20).
client_secretNoOAuth client secret; also read from ONSHAPE_OAUTH_CLIENT_SECRET.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the openWorldHint annotation, the description discloses real behavioral traits: it opens a browser, supports two distinct credential flows, verifies against Onshape, stores credentials in the OS keychain, and returns early with 'pending'. This is substantial transparency for an interactive login tool.

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

Conciseness5/5

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

Every sentence carries distinct information: the core action, each login method, credential handling, and the pending/poll behavior. No filler or redundant restatement of the schema is present.

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

Completeness4/5

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

The description covers the login flow, return behavior, and sibling polling tool, which is strong given 9 optional parameters and no output schema. It stops short of describing the successful-return shape or how to handle already-authenticated users, but those are minor gaps for invoking the tool correctly.

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

Parameters4/5

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

The input schema already covers all parameters with descriptions, so the baseline is solid. The description adds meaningful semantic detail by explaining what the method parameter's api_key and oauth values actually do, going beyond the schema's enum labels.

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

Purpose5/5

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

States a specific verb and resource: 'Sign in to Onshape by opening a browser,' followed by concrete details of the two login methods. It clearly differentiates itself from onshape_login_status by pointing to that tool for polling pending status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the agent when to poll with onshape_login_status, which is a direct usage directive relative to a sibling. It does not explicitly explain when to choose api_key versus oauth, but the method semantics make the practical context clear.

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

onshape_login_statusCheck the pending Onshape loginA
Read-only

Wait for, and report on, the login started by onshape_login. Call this repeatedly while the user is in the browser; each call waits up to wait_seconds before returning.

ParametersJSON Schema
NameRequiredDescriptionDefault
wait_secondsNoSeconds to wait for the browser before returning (default 20).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only provide readOnlyHint=true; the description adds genuine behavioral value beyond that by disclosing the blocking/polling nature ('each call waits up to wait_seconds before returning'). This is useful, non-contradictory context that an agent needs to know before calling repeatedly. It does not contradict the read-only annotation since waiting/reporting is a safe read operation.

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

Conciseness5/5

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

Two compact sentences with zero filler. The core purpose is front-loaded ('Wait for, and report on...'), followed immediately by critical usage guidance about repeated calls. Every word earns its place.

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

Completeness4/5

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

Adequately complete for a simple polling tool: it explains the polling loop and wait duration. However, with no output schema, it does not describe what the agent should expect on timeout or how it distinguishes 'still pending' from 'login complete' — a meaningful gap since the agent needs the loop-termination condition to know when to stop calling.

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

Parameters3/5

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

Schema coverage is 100% — the single parameter wait_seconds is fully documented with min, max, and default value. The description reinforces the wait behavior but adds little semantic value beyond what the schema already provides. Baseline 3 is appropriate when the schema does the heavy lifting for a fully-documented single parameter.

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

Purpose5/5

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

The description states a specific verb-resource pair ('Wait for, and report on, the login started by onshape_login') and explicitly ties it to the login flow. 'Call this repeatedly while the user is in the browser' frames it as a polling tool, distinguishing it from siblings like onshape_auth_status and onshape_login without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear contextual usage ('Call this repeatedly while the user is in the browser; each call waits up to wait_seconds before returning'), which precisely instructs the agent on the polling loop. However, it does not explicitly contrast with onshape_auth_status (the closest sibling) or state when NOT to use this tool, leaving the exclusion implicit.

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

onshape_logoutForget stored Onshape credentialsA
DestructiveIdempotent

Delete the credential this server stored (keychain entry and config file). Credentials coming from environment variables or from an existing onshape-cli install are not touched.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare idempotentHint=true and destructiveHint=true. The description adds specific detail about what is deleted (keychain entry and config file) and what is not (env vars, CLI install), going beyond annotations. No contradiction found.

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

Conciseness5/5

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

Two concise sentences: the first states the core action, the second clarifies exclusions. No redundant words, and the primary effect is front-loaded for quick comprehension.

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

Completeness5/5

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

For a simple tool with no parameters and no output schema, the description fully explains the action and its boundaries. The agent has all necessary information to invoke it correctly without needing additional context.

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

Parameters4/5

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

There are zero parameters, so the schema provides no information to explain. The description appropriately does not add parameter details, meeting the baseline score of 4 for a parameterless tool.

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

Purpose5/5

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

States a specific verb (Delete) and resource (credential stored on server), and specifies the storage locations (keychain entry and config file). It clearly distinguishes from related tools like onshape_login and onshape_set_api_key that manage credentials. Unambiguous and informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clarifies scope by excluding credentials from environment variables and onshape-cli installs, implicitly indicating when this tool is appropriate. However, it does not explicitly name alternative tools or provide a direct 'use this when' statement, 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.

onshape_mass_propertiesGet mass propertiesB
Read-only

Volume, mass, centroid and inertia for the Part Studio's bodies.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
configurationNoEncoded configuration string from onshape_encode_configuration.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds that it returns volume, mass, centroid, and inertia, which is useful. It does not disclose details like units, coordinate frame, or whether it returns per-body or aggregate values, but the read-only safety profile is already covered by annotations.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the key output quantities. It earns its place with no wasted words, though it could add a brief note about the sibling tool without much cost.

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

Completeness3/5

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

For a read-only query tool with 100% schema coverage and no output schema, the description is adequate but not complete. It does not mention units, whether the result is per-body or aggregate, or how it differs from onshape_assembly_mass_properties. An agent could call it correctly, but might misinterpret the scope of the returned values.

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

Parameters3/5

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 four parameters. The description adds no parameter-specific meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('mass properties') and lists the computed quantities (Volume, mass, centroid and inertia) for the Part Studio's bodies. It is clear enough to distinguish from the sibling onshape_assembly_mass_properties, though it does not explicitly name that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call it when you need mass properties of Part Studio bodies. It does not explicitly state when to use this versus onshape_assembly_mass_properties, nor does it mention any prerequisites (e.g., the part studio must have bodies). The context is clear but exclusions/alternatives are not stated.

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

onshape_measureMeasure the modelA
Read-only

Body count, overall bounding box in inches and total volume. Use this to check a model matches its intended dimensions before exporting.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

A4/5.0
Behavior4/5

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

With readOnlyHint=true, the read-only safety profile is already covered by annotations. The description adds useful behavioral detail about the measured quantities, which is sufficient for a simple measurement tool, though it does not describe error behavior or response details.

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

Conciseness5/5

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

The description is two short, purposeful sentences: the first lists measured outputs and the second gives the use case. There is no filler or repetition of schema information.

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

Completeness4/5

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

For a simple three-parameter, read-only tool, the description plus the fully documented schema is largely complete. The only meaningful gap is the lack of explicit guidance for choosing this tool over overlapping siblings such as onshape_mass_properties.

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

Parameters3/5

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

Schema description coverage is 100%, with doc, ws, and elem fully documented in the input schema. The description adds no parameter-specific guidance, so the high-coverage baseline of 3 applies.

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

Purpose4/5

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

The description clearly states what the tool returns: body count, overall bounding box in inches, and total volume. It also gives the intended use case, checking dimensions before export, but it does not explicitly distinguish itself from overlapping sibling tools such as onshape_mass_properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this to check a model matches its intended dimensions before exporting" provides clear invocation context. However, it does not mention exclusions or alternatives, so it stops short of a fully explicit when-to-use/when-not-to-use guideline.

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

onshape_mirrorMirror geometryB

Mirror parts, bodies or faces across a plane.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Mirror").
typeNoWhat kind of thing is being mirrored (default PART).
entitiesYesFeatureScript query selecting what to mirror.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
plane_idsNoDeterministic id of the mirror plane, e.g. JCC for Front.
plane_queryNoFeatureScript query selecting the mirror plane.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations only provide a title, so the description carries the full burden of behavioral disclosure. It states the action but not that mirroring is a model-mutating feature operation, that it creates new geometry, or that it depends on a valid plane selection. No side effects, failure behavior, or validation behavior are mentioned.

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

Conciseness5/5

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

The description is a single, tightly written sentence with a clear verb, object, and target. There is no redundant wording or repetition of the title.

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

Completeness2/5

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

With nine parameters, four required, and no output schema, a one-line description is insufficient context. The parameter schema covers field semantics, but the description does not clarify key operational details such as how plane_query and plane_ids relate, what entities expects, or what happens after mirroring.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters already have meaningful documentation. The description does not add parameter-level semantics beyond naming parts, bodies, facesainer and plane, but the schema fully compensates, yielding the baseline score.

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

Purpose5/5

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

The description uses a specific verb ('Mirror') with a specific resource ('parts, bodies or faces') and a clear spatial target ('across a plane'). It stands apart from sibling feature-construction tools and directly tells an agent what operation this tool performs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to use this tool versus alternatives, nor any exclusions or prerequisites. An agent must infer from the tool name and one-liner that this is the mirror operation, and nothing explains how it relates to similar geometry-modification tools.

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

onshape_offset_planeCreate an offset planeA

Add a construction plane offset from a default plane, a face, or another plane.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Offset plane").
offsetNoOffset distance in inches (default 1).
base_idsNoDeterministic ids of the plane or face to offset from.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
base_planeNoDefault plane to offset from (default Front).
base_queryNoFeatureScript query selecting the base plane or face.

TDQS

A3.5/5.0
Behavior2/5

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

Annotations contain only a title; no readOnlyHint or destructiveHint. The description's 'Add' implies a mutating operation but does not disclose that it modifies the document, whether it requires write permissions, or what side effects occur (e.g., feature list changes). For a mutation tool with zero annotation coverage, this is a significant transparency gap.

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

Conciseness5/5

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

A single sentence of 14 words that leads with the core action, 'Add a construction plane.' No filler, no repetition of schema content. Every word earns its place.

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

Completeness3/5

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

The tool has 9 parameters and no output schema, yet the description only covers the core purpose. It does not explain how to select among the base parameters, the meaning of the offset in the document, or validation behavior. The schema descriptions are rich, so the description can be minimal, but it leaves some operational context to the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the structured parameter documentation is thorough. The description adds a small semantic layer by summarizing base sources, but it does not clarify how base_plane, base_ids, and base_query interact (e.g., exclusivity or precedence). This is baseline behavior for full schema coverage.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Add a construction plane offset from a default plane, a face, or another plane.' This clearly distinguishes the tool from sibling feature-creation tools like extrusions or sketches, leaving no ambiguity about what it creates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage—create an offset construction plane—and lists valid base types (default plane, face, another plane). However, it offers no explicit guidance about when to prefer this tool over alternatives, no exclusions, and no mention of prerequisites such as needing a part studio context.

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

onshape_requestCall any Onshape REST endpointA

Make an authenticated request to an arbitrary Onshape REST endpoint, for anything the dedicated tools do not cover. Paths start with /api/ and are documented at https://cad.onshape.com/glassworks/explorer. Prefer a dedicated tool when one exists — they normalise the response and validate the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoJSON request body, for POST.
pathYesAPI path, e.g. /api/v6/documents/d/{did}/w/{wid}/elements. Must begin with /api/.
methodYesHTTP method.
paramsNoQuery string parameters.

TDQS

A4/5.0
Behavior2/5

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

Annotations only carry openWorldHint, so the description carries the burden of behavioral disclosure. It mentions authentication and implicitly communicates a raw/unvalidated response by contrasting with dedicated tools, but it does not warn that arbitrary POST/DELETE calls can create, modify, or destroy data, nor does it describe response/error behavior 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.

Conciseness5/5

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

Three sentences, each with a distinct job: scope/fallback, endpoint documentation, and routing rule. No filler or duplicated schema content.

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

Completeness4/5

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

For an arbitrary-endpoint tool the link to the Onshape REST explorer is essential and provided, along with the path prefix, auth context, and the clear instruction to prefer dedicated tools. It stops short of stating that the raw response is returned as-is and that no validation occurs, but this is strongly implied by the contrast with dedicated tools.

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

Parameters3/5

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

The schema already covers 100% of parameters with descriptions, including a path example, method enum, body, and query params; the description adds only the /api/ requirement and a link to endpoint docs. Since the schema does the heavy lifting, baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb-resource pair ('Make an authenticated request to an arbitrary Onshape REST endpoint') and explicitly scopes it as a fallback ('for anything the dedicated tools do not cover'), which distinguishes it from the many sibling endpoints. It also defines the path convention (/api/) and points to the authoritative endpoint reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The decision rule is explicit: prefer a dedicated tool when one exists, because dedicated tools 'normalise the response and validate the result.' This gives the agent a clear when-to-use/when-not-to-use criterion instead of leaving it to infer from sibling names.

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

onshape_revolveRevolve a sketchA

Revolve a sketch profile around an axis. With no axis given, the sketch's own construction line is used (see onshape_sketch_circle_axis); otherwise pass axis_ids or an axis query.

ParametersJSON Schema
NameRequiredDescriptionDefault
opNoNEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW).
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
axisNoFeatureScript query selecting the axis.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Revolve").
typeNoFULL revolves all the way around (default FULL when an axis is given).
angleNoRevolve angle in degrees (default 360).
sketchYesFeature id of the sketch holding the profile.
axis_idsNoDeterministic ids of the axis entity.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses one useful, non-obvious behavior: if no axis is supplied, the sketch's own construction line is used; otherwise axis_ids or an axis query must be passed. However, annotations provide no readOnly/destructive hints, and the description never states that this is a document-modifying feature or what the operation produces/side effects. Some behavioral context is added, but the mutation implications are left implicit.

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

Conciseness5/5

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

Two sentences with zero waste: the core purpose is front-loaded, and the optional-axis behavior follows in a structured parenthetical with a useful sibling cross-reference. Every clause earns its place and the description is easy to scan for an agent.

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

Completeness3/5

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

With 11 parameters, no output schema, and only a title annotation, the single behavioral sentence plus axis note is thin. The schema covers all parameter semantics, but the description does not mention that the tool mutates the document, what the return/result looks like, or prerequisites such as a closed sketch profile. A mutating feature with no safety annotations needs a bit more context than this.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining the axis fallback rule ('the sketch's own construction line is used') and the two ways to specify an axis ('axis_ids or an axis query'). It also clarifies that the sketch parameter refers to the profile being revolved, adding semantic value beyond the terse schema field descriptions.

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

Purpose5/5

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

The description opens with the specific verb 'Revolve' and the resource 'a sketch profile around an axis,' clearly naming the operation and its target. It also distinguishes itself from modeling siblings like extrude/sweep by emphasizing rotational geometry and axis handling. No ambiguity remains about 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.

Usage Guidelines2/5

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 revolve rather than extrude, sweep, or other solid-modeling alternatives. The only conditionals address axis handling within the tool ('with no axis given' vs 'otherwise pass axis_ids'), not when to select this tool. The cross-reference to onshape_sketch_circle_axis helps prepare an axis but does not substitute for tool-selection guidance.

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

onshape_rollbackMove the rollback barA

Set the rollback index so features after it are suppressed. Index 0 rolls back to before the first feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
indexYesRollback index; use a large number to roll fully forward.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations only provide a title, so the description carries the behavioral burden. It discloses the core side effect: features after the index are suppressed, and explains the index-0 edge case. However, it does not mention whether this is a persistent document mutation, whether it requires write permissions, or whether it affects the saved state of the document. The suppression effect is the key behavior and is disclosed, but other behavioral context 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.

Conciseness5/5

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

Two sentences, no filler. The core action and the critical edge case are front-loaded. Every sentence earns its place.

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

Completeness3/5

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

For a simple mutation tool with four well-documented parameters and no output schema, the description covers the essential semantics. However, it doesn't state what the response looks like (e.g., whether it returns the updated feature list) or whether the operation is reversible. Given the tool's simplicity, this is a minor gap, but the description could be more complete about the effect on the document state.

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

Parameters3/5

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 four parameters. The description adds meaning for the 'index' parameter by explaining the rollback semantics and the index-0 special case, which goes beyond the schema's 'Rollback index; use a large number to roll fully forward.' The other parameters (doc, ws, elem) are standard identifiers already well-described in the schema, so the description doesn't need to add more.

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

Purpose4/5

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

The description states a specific verb ('Set') and resource ('rollback index'), and explains the effect ('features after it are suppressed'). It also clarifies the special case of index 0. It doesn't explicitly distinguish from sibling tools, but the resource and effect are clear enough that an agent can tell it apart from feature-editing tools like onshape_add_feature or onshape_update_feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when you want to suppress features after a certain point in the feature list. It does not explicitly state when not to use it or name alternatives (e.g., onshape_get_features to inspect the current rollback state, or onshape_update_feature for editing a feature). The context is clear but exclusions are absent.

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

onshape_search_documentsSearch Onshape documentsA
Read-only

Find documents by name. Search before creating, so repeated runs do not make duplicates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return (default 20).
queryYesText to match against document names.

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, covering the read-only safety profile. The description adds 'Find documents by name' and the pre-creation workflow hint, but does not disclose additional behavioral details such as return format or matching semantics. With annotation coverage, this is adequate but not rich.

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

Conciseness5/5

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

Two sentences with zero filler. The core action ('Find documents by name') is front-loaded in the first sentence, and the second sentence provides a relevant, actionable usage tip. Every word earns its place.

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

Completeness4/5

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

For a simple read-only search with two fully documented parameters and no output schema, the description plus schema cover the essential calling context. The workflow tip adds practical value. It could mention the nature of the returned result list, but the lack of an output schema makes this less critical.

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

Parameters3/5

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

Schema description coverage is 100% for both 'query' and 'limit', so the schema already fully documents the parameters. The description's 'by name' aligns with the query parameter description but adds no new semantic meaning beyond what is already in the schema.

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

Purpose5/5

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

The description uses the specific verb 'Find' with the resource 'documents' and the search criterion 'by name', clearly distinguishing it from siblings like onshape_list_documents (which would list all documents) and onshape_get_document (which fetches by ID). It leaves no ambiguity about 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit workflow guidance: 'Search before creating, so repeated runs do not make duplicates,' which tells the agent when to use this tool relative to create_document. However, it does not explicitly name alternatives or state when not to use it (e.g., when listing all documents), 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.

onshape_set_api_keyStore an Onshape API key pairA

Store an Onshape access key and secret key directly, without a browser. Use when the user already has a key pair from https://cad.onshape.com/user/developer/apiKeys. The pair is verified against Onshape before it is saved.

ParametersJSON Schema
NameRequiredDescriptionDefault
storeNoWhere to keep the credential: auto (keychain, else file), keychain, or file.
base_urlNoOnshape API base URL (default https://cad.onshape.com).
access_keyYesOnshape access key.
secret_keyYesOnshape secret key.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations carry only a title with no read-only or destructive hints, so the description bears the full burden. It discharges most of it with 'The pair is verified against Onshape before it is saved,' which tells the agent this tool makes a network round-trip and will decline to persist invalid credentials. It does not cover overwrite behavior for an already-stored key, but the core safety-relevant behavior 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.

Conciseness5/5

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

Three sentences, each earning its place: the first states the action and differentiates it from browser login, the second gives the use condition, and the third discloses the verification behavior. The core purpose is front-loaded with no repetition of the title or schema.

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

Completeness4/5

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

For a low-complexity credential-store tool with full schema coverage and only two required parameters, the description covers purpose, usage condition, and the key verification behavior. The only gaps are overwrite semantics and the success/failure response shape, but with no output schema expected, the description is close to complete for this tool's simplicity.

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

Parameters3/5

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 four parameters (access_key, secret_key, store, base_url), earning the baseline 3. The description adds marginal semantic context by pointing users to where keys originate and stating the verification requirement implies the two keys must be a valid pair.

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

Purpose5/5

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

The description opens with a specific verb and resource — 'Store an Onshape access key and secret key directly' — and adds the distinguishing phrase 'without a browser,' which separates it from the browser-based onshape_login flow. A second sentence notes the pair is 'verified against Onshape before it is saved,' further pinning down what the tool does. This is clearly differentiated from its roughly ninety siblings, none of which store credentials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction 'Use when the user already has a key pair from https://cad.onshape.com/user/developer/apiKeys' gives an explicit condition for choosing this tool, and it routes the agent to the browser-based login path when that condition is absent by implication. It stops short of naming the alternative explicitly or stating when not to use it, but the condition is concrete enough that an agent can make the call.

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

onshape_set_feature_studioWrite a Feature StudioA

Replace the FeatureScript source of a Feature Studio. The whole file is overwritten.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
contentsYesThe complete new FeatureScript source.

TDQS

A4/5.0
Behavior4/5

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

Annotations provide no readOnly or destructive hints, so the description carries the transparency burden. It explicitly discloses the key destructive behavior: 'The whole file is overwritten.' This goes beyond a generic write description by making the irreversible nature of the operation clear. It does not cover permissions, validation, or failure behavior, but the main risk 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.

Conciseness5/5

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

Two short sentences with no filler. The primary action is stated first, and the important destructive consequence is front-loaded in the second sentence. Every word earns its place.

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

Completeness4/5

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

For a simple write tool with four fully documented parameters and no nested objects or output schema, the description is largely complete: it names the operation, the resource, and the destructive consequence. A minor gap is not stating whether the Feature Studio must already exist or whether invalid FeatureScript is validated before overwriting.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already documented with clear descriptions. The tool description adds no additional param-level meaning beyond reinforcing that contents replace the complete source. This matches the baseline of 3 for high schema coverage.

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

Purpose5/5

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

The description clearly states a specific verb and resource: 'Replace the FeatureScript source of a Feature Studio'. It also adds the crucial scope detail that the whole file is overwritten, distinguishing this write operation from related tools like get_feature_studio or create_feature_studio.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used when you want to overwrite an existing Feature Studio's source, and the sibling names (create_feature_studio, get_feature_studio) provide indirect contrast. However, it does not explicitly state when to prefer this over alternatives, nor does it mention any preconditions such as the Feature Studio needing to already exist.

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

onshape_set_metadataSet element or part metadataA

Write properties such as part number, description or material. Only editable properties are accepted; read onshape_get_metadata first to find the property ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
partNoPart id, to set that part's properties instead of the element's.
propertiesYesProperty ids and their new values.

TDQS

A4.2/5.0
Behavior4/5

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

With no readOnlyHint or destructiveHint annotations, the description carries the behavioral burden. It clearly signals a write operation, warns that non-editable properties are rejected, and instructs the agent to fetch property ids beforehand. It does not disclose permission requirements or partial-update behavior, but the core mutation semantics and precondition are 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.

Conciseness5/5

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

Two sentences with no filler: the purpose is front-loaded, and the second sentence delivers the key prerequisite and constraint. Every word earns its place.

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

Completeness4/5

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

The description plus fully documented schema covers the essentials: what to write, which ids are needed, and where to get them. It omits response/error behavior, but there is no output schema and the read-first instruction compensates for the main usage risk.

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

Parameters3/5

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 five parameters. The description adds useful semantic color with examples like part number, description, and material, but it does not materially expand parameter meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description opens with a specific verb ('Write') and resource ('properties such as part number, description or material') for element/part metadata, making the tool's function unambiguous. It also positions itself against the sibling onshape_get_metadata by prescribing a read-first workflow, helping an agent distinguish the setter from the getter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for use: read onshape_get_metadata first to obtain valid property ids, and only editable properties are accepted. It does not explicitly state when not to use this tool or mention alternative setters, but the prerequisite and constraint provide adequate usage direction.

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

onshape_set_variableSet a Part Studio variableA

Create or update a variable. Feature tools can then reference it by name (depth_variable, radius_variable, ...) so a dimension lives in one place. Uses the variable table where the account supports it and falls back to an assignVariable feature otherwise; result.route says which was used.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameYesVariable name, without the leading #.
typeNoVariable type; inferred from the expression's units when omitted.
expressionYesValue expression with units, e.g. "0.25 in" or "2 * #wall".
descriptionNoWhat the variable means.

TDQS

A4.2/5.0
Behavior4/5

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

With no readOnly or destructive annotations present, the description carries the behavioral disclosure burden. It goes beyond a simple 'set variable' statement by revealing the internal fallback behavior (variable table vs. assignVariable feature) and pointing to result.route for disambiguation. This is valuable 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.

Conciseness5/5

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

Three sentences, with the core action front-loaded and no filler. The purpose, use case, and implementation caveat each merit their sentence. Nothing is redundant.

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

Completeness4/5

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

For a tool with 7 parameters and no output schema, the description adequately covers what the tool does, why it is used, and a key behavioral detail about fallback routing. It could mention an explicit alternative or error behavior, but it is sufficiently complete for correct invocation.

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

Parameters3/5

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 parameter-specific semantics beyond the schema; it mentions names like depth_variable but the schema already explains the name and expression fields. It earns the baseline but not more.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Create or update a variable.' It also explains the purpose of the variable (referenced by feature tools so a dimension lives in one place), which clearly distinguishes it from the sibling getter onshape_get_variables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when this tool is useful—defining a named variable once so feature tools can reference it. It does not explicitly name alternatives or when-not-to-use conditions, but the intended use case is unambiguous enough for an agent to select it appropriately.

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

onshape_shaded_viewRender the modelA

Render the element server-side and return the image. Unlike a thumbnail this is generated on demand, so it always shows the current geometry — use it to check a model visually before exporting.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
outNoOutput PNG path (default onshape-<timestamp>.png in the output directory).
elemYesElement id (tab) — the <elem> segment of the document URL.
kindNoElement kind being exported (default partstudios).
widthNoImage width in pixels (default 600).
heightNoImage height in pixels (default 340).
no_edgesNoHide edges in the render.
view_matrixNo3x4 row-major camera matrix as 12 comma-separated numbers (default isometric).
return_imageNoAlso return the PNG inline (default true).
configurationNoEncoded configuration string.

TDQS

A4/5.0
Behavior3/5

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

Annotations provide only a title, so the description must carry the behavioral burden. It discloses that rendering is server-side, on-demand, and shows current geometry. However, it does not mention that it may write a file to disk via the 'out' parameter, nor does it discuss authentication requirements or side effects. This is adequate but leaves some behavioral gaps.

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

Conciseness5/5

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

Two sentences with no wasted words. The core purpose is front-loaded, and the alternative (thumbnail) is mentioned immediately. The usage hint is concise and actionable.

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

Completeness4/5

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

For a render tool with 11 parameters and no output schema, the description covers the essential usage and distinguishes it from thumbnails. It does not explain advanced parameters like 'configuration' or 'view_matrix', but these are self-explanatory in the schema. The tool's complexity is moderate, and the description is adequately complete for typical use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 11 parameters. The description adds no additional meaning beyond the schema, such as how the 'view_matrix' should be formatted or when to set 'return_image' to false. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Render the element server-side and return the image') and names the resource (element). It explicitly differentiates from thumbnails by emphasizing on-demand generation and current geometry, which distinguishes it from sibling tools like onshape_get_thumbnail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a clear use case ('use it to check a model visually before exporting') and contrasts with thumbnails. It does not explicitly mention when not to use it or other alternatives (e.g., export tools), but the context is sufficient for an agent to understand its primary purpose.

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

onshape_shellShell a bodyA

Hollow the body out to a wall thickness, removing the selected faces to open it.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Shell").
facesNoDeterministic ids of faces to remove.
queryNoFeatureScript query selecting the faces to remove.
outwardNoThicken outward instead of inward.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
thicknessNoWall thickness in inches (default 0.125).
thickness_variableNoUse a Part Studio variable for the thickness.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations provide only a title, so the description carries the behavioral burden. It does state the core effect (hollowing and removing faces) which implies mutation, but it does not disclose side effects like feature tree insertion, failure conditions, or requirements for a solid body. 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.

Conciseness5/5

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

A single, front-loaded sentence that states the verb, object, and outcome without any fluff. Every word earns its place.

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

Completeness3/5

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

The schema thoroughly describes each parameter, including defaults and the purpose of faces vs query, outward, and thickness_variable. The description provides minimal high-level context but does not explain relationships between parameters or typical usage scenarios, which is acceptable given the schema richness.

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

Parameters3/5

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

Schema description coverage is 100%, so all 10 parameters are fully documented in the schema. The description adds no additional meaning about parameters, so the baseline of 3 applies.

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

Purpose5/5

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

The description uses a specific verb 'Hollow' and a clear resource 'the body', and explicitly states the outcome: removing selected faces to open it. This clearly distinguishes it from sibling tools like extrude, thicken, or hole, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as onshape_thicken or onshape_hole. The description does not mention any prerequisites, exclusions, or context where a different tool would be more appropriate.

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

onshape_sketch_candy_cane_pathSketch a hooked sweep pathA

Add a sketch of a straight stem joined to a hooked arc, approximated by segments — a ready-made path for onshape_sweep.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position of the stem (default 0).
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Candy cane centerline").
planeNoDefault plane to sketch on (default Front).
bottomNoY of the stem's bottom (default 0).
segmentsNoTotal segments used to approximate the path (default 24).
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
hook_angleNoSweep of the hook in degrees (default 210).
hook_radiusYesRadius of the hook, inches.
straight_heightYesLength of the straight stem, inches.

TDQS

A3.7/5.0
Behavior2/5

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

Annotations provide no behavioral hints beyond the title (no readOnlyHint, destructiveHint, etc.), so the description carries the full burden. It only says 'Add a sketch', which implies a mutation, but discloses nothing about side effects, permission requirements, or what happens on failure. The schema's 'validate' parameter hints at verification behavior, but that is not reinforced in the description. This is a notable gap for a creation tool.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the action and purpose. It contains no filler, and every clause earns its place by clarifying what is sketched and why.

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

Completeness3/5

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

With 12 parameters and no output schema, the description is adequate but sparse. It mentions the intended downstream tool (onshape_sweep) and the approximation via segments, which helps, but it does not explain the overall workflow (e.g., that a sketch is added to an existing element) or what the tool returns. Since the schema covers parameter details, the description meets minimum viability but lacks richer context that would help an agent integrate it into a multi-step operation.

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

Parameters3/5

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

Schema coverage is 100%, so all 12 parameters are already documented. The description adds a high-level notion of geometry ('straight stem', 'hooked arc') that maps to straight_height and hook_radius, but the schema already describes those fields. The description does not add relational information, defaults, or unit clarifications beyond what the schema provides, so it meets the baseline without exceeding it.

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

Purpose5/5

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

The description states a specific action ('Add a sketch'), describes the geometry precisely ('straight stem joined to a hooked arc'), and names its intended use ('a ready-made path for onshape_sweep'). This clearly distinguishes it from sibling sketch tools like onshape_sketch_circle or onshape_sketch_line, so an agent knows exactly what this tool creates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly positions the tool as a prerequisite for onshape_sweep, giving a clear usage context. It does not name alternatives or state when not to use it, but the mention of 'ready-made path for onshape_sweep' gives sufficient guidance for an agent to select it when building a candy-cane sweep path.

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

onshape_sketch_circleSketch a circleC

Add a sketch holding one circle.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Sketch circle").
planeNoDefault plane to sketch on (default Front).
centerYesCircle centre. As [x, y] inches or "x,y".
radiusYesRadius in inches.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
plane_featureNoSketch on a face created by this feature id instead of a default plane.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are minimal (only a title), so the description carries the full burden of disclosing behavior. It only states 'Add a sketch holding one circle,' which restates the title and implies a mutating operation but does not mention validation, regeneration, or any side effects on the document. The 'validate' parameter suggests a failure-checking behavior that is not mentioned 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.

Conciseness4/5

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

The description is a single sentence with no fluff, which is concise and to the point. However, it is so brief that it omits useful context that could be added without excessive length, such as a hint about plane selection or feature naming. Still, it earns a 4 for being appropriately compact relative to its simplicity.

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

Completeness2/5

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

Given the tool has 9 parameters and operates in a complex CAD context, the description is insufficient. It does not clarify whether it creates a new sketch element or adds to an existing one, how it interacts with other tools like onshape_create_sketch, or any prerequisites. The schema covers parameter syntax, but the overall workflow and relationship to sibling tools remain unclear.

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

Parameters3/5

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

Schema coverage is 100% with detailed parameter descriptions, so the schema already explains all parameters. The description adds no additional meaning about parameters. Baseline of 3 is appropriate because the description is not required to compensate for schema gaps, but it offers no extra value.

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

Purpose4/5

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

The description states a clear verb ('Add') and resource ('a sketch holding one circle'), which distinguishes it from other sketch tools like onshape_sketch_rectangle or onshape_sketch_line. It is specific enough for an agent to infer the tool's primary function, though it does not explicitly contrast with sibling sketch tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as onshape_create_sketch or other sketch tools. It does not mention any prerequisites, typical use cases, or when a different tool should be selected instead.

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

onshape_sketch_circle_axisSketch a circle with a revolve axisB

Add a sketch with a circle profile and a construction line. onshape_revolve spins the profile around that construction line, which is how you get a torus or a ring.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Sketch circle and axis").
planeNoDefault plane to sketch on (default Front).
centerYesCircle centre. As [x, y] inches or "x,y".
radiusYesRadius in inches.
axis_endYesAxis end. As [x, y] inches or "x,y".
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
axis_startYesAxis start. As [x, y] inches or "x,y".

TDQS

B3.3/5.0
Behavior2/5

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

Annotations provide only a title, so the description carries the full behavioral burden. 'Add a sketch' implies a document mutation, but the description does not disclose that this modifies the document, whether it validates/regenerates features, or what side effects occur. No conflict with annotations exists, but transparency is thin.

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

Conciseness5/5

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

Two sentences with no filler. The core action is front-loaded, and the second sentence earns its place by explaining why the construction line matters and what kind of result this enables.

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

Completeness3/5

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

For a 10-parameter tool with no output schema and sparse annotations, the description explains the overall intent but does not address coordinate semantics, plane choice, validation behavior, or the relationship between the parameters. The rich schema covers invocation details, so this is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are fully documented in structured form. The description adds the conceptual link between the construction line and axis_start/axis_end, but this is not enough to exceed the baseline of 3.

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

Purpose4/5

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

The description clearly states the tool adds a sketch with a circle profile and a construction line, naming the revolve axis as its distinguishing resource. It differentiates from onshape_sketch_circle by mentioning the line and the revolve workflow, though it does not explicitly name sibling alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives implied usage context: it explains that onshape_revolve spins the profile around the construction line to create a torus or ring. It does not explicitly state when to prefer this tool over onshape_sketch_circle or onshape_create_sketch, nor does it list exclusions.

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

onshape_sketch_lineSketch a lineA

Add a sketch holding one line segment. A line alone encloses no region, so it cannot be extruded.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
endYesEnd point. As [x, y] inches or "x,y".
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Sketch").
planeNoDefault plane to sketch on (default Front).
startYesStart point. As [x, y] inches or "x,y".
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
plane_featureNoSketch on a face created by this feature id instead of a default plane.

TDQS

A3.8/5.0
Behavior3/5

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

With only the title as annotation, the description carries the burden of behavioral disclosure. It does disclose the key side effect (adds a sketch) and a key geometric limitation (no enclosed region, not extrudable), but it does not mention what the call returns, whether validation can fail, 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.

Conciseness5/5

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

Two short sentences with no filler; the action is front-loaded and the caveat earns its place by preventing a common misuse. Nothing could be removed without losing value.

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

Completeness4/5

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

For a simple sketch-creation tool, the complete parameter schema plus the added extrusion caveat give an agent enough to invoke it correctly. It could be more complete by describing the returned feature or typical construction-line use cases, but those are not required for correct invocation.

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

Parameters3/5

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

All 9 parameters are already described in the schema, including the coordinate format for start/end and the enum for plane, so the baseline of 3 applies. The prose adds no parameter-level details beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Add') and a concrete resource ('a sketch holding one line segment'), and it states a distinguishing consequence ('cannot be extruded') that separates it from closed-shape sketch tools. An agent can tell this tool creates line geometry rather than a circle or rectangle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The warning that a line encloses no region and cannot be extruded gives an implied when-not-to-use signal, but no alternative tools or explicit selection conditions are named. The usage context is inferable rather than stated.

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

onshape_sketch_rectangleSketch a rectangleB

Add a sketch holding one closed rectangle, ready to extrude. Corners are opposite, in inches.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Sketch").
planeNoDefault plane to sketch on (default Front).
corner1YesFirst corner. As [x, y] inches or "x,y".
corner2YesOpposite corner. As [x, y] inches or "x,y".
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
plane_featureNoSketch on a face created by this feature id instead of a default plane.

TDQS

B3.2/5.0
Behavior2/5

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

With no readOnly or destructive annotations, the description carries the full burden, but it only says the sketch is 'ready to extrude'. It does not disclose that this creates a feature in the document, whether the operation is reversible, or what side effects occur on the Onshape element.

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

Conciseness5/5

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

The description is a single sentence with no filler. It front-loads the core purpose and includes the essential geometric constraint without waste.

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

Completeness2/5

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

The parameter schema is thorough, but no output schema exists and no annotations are provided. The description does not explain what the agent should expect after calling it, such as the created feature or errors, leaving the context incomplete for a mutation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all nine parameters. The description's mention of inches and opposite corners mostly repeats schema information rather than adding new meaning; baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource: 'Add a sketch holding one closed rectangle'. It also clarifies the geometry ('Corners are opposite') and intent ('ready to extrude'), which distinguishes it from sibling sketch tools like onshape_sketch_circle and onshape_sketch_line.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a use case—creating a rectangular sketch for extrusion—but gives no explicit guidance on when to choose this tool over alternatives like onshape_sketch_line or onshape_create_sketch. There are no exclusions or alternative routing.

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

onshape_sweepSweep a profile along a pathA

Sweep the closed regions of one sketch along the edges of another.

ParametersJSON Schema
NameRequiredDescriptionDefault
opNoNEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW).
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Sweep").
pathYesFeature id of the path sketch.
profileYesFeature id of the profile sketch.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations provide only a title, so the description must carry the behavioral burden. It adds a key prerequisite: the profile must have closed regions and the path is the edges of another sketch. It does not disclose mutation behavior, validation behavior, or failure modes, but it is not misleading and gives useful operational context.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It communicates the essential operation clearly and compactly.

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

Completeness3/5

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

For an 8-parameter CAD feature tool with no output schema, the description provides the core mechanics but lacks operational context such as how the sweep interacts with existing bodies beyond the op enum, what the result looks like, and when the operation is likely to fail. The schema covers all parameters, making it minimally viable.

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

Parameters3/5

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 8 parameters in sufficient detail. The description itself adds no parameter-level meaning, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Sweep'), a specific resource ('closed regions of one sketch'), and the mechanism ('along the edges of another'). This clearly distinguishes it from sibling modeling operations like extrusion or revolution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the intended use case: sweeping a sketch profile along a path defined by another sketch's edges. However, it does not explicitly name alternatives such as onshape_extrude or onshape_revolve, nor does it state when sweep should be preferred over them.

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

onshape_thickenThicken a sketchC

Give a sketch region a wall thickness instead of a solid depth.

ParametersJSON Schema
NameRequiredDescriptionDefault
opNoNEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW).
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
nameNoFeature name shown in the tree (default "Thicken").
sketchYesFeature id of the sketch to thicken.
midplaneNoGrow symmetrically about the sketch plane.
oppositeNoThicken in the opposite direction.
validateNoRe-read the feature list afterwards and fail if the feature regenerated with an error (default true).
thicknessYesThickness in inches.
thickness_variableNoUse a Part Studio variable for the thickness.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations provide no read-only or destructive hints, so the description carries the behavioral burden. It mentions that the operation gives thickness but does not disclose that it modifies the document, creates or mutates bodies, requires an existing sketch feature, or what side effects occur.

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

Conciseness5/5

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

The description is one tight sentence with no filler. The core idea is front-loaded and the clarifying contrast with a solid-depth operation is included without wasted words.

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

Completeness2/5

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

This is an 11-parameter mutation tool with no output schema and minimal annotations, but the description only restates its basic purpose. It omits context about document modification, body-combination behavior, defaults, and what the caller should expect after invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented with meaningful descriptions. The tool description itself adds no parameter-level meaning, which is acceptable under the baseline for full schema coverage.

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

Purpose4/5

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

The description names a specific operation: giving a sketch region wall thickness. The phrase 'instead of a solid depth' helps distinguish it from extrusion, though it does not explicitly name sibling tools like onshape_extrude or onshape_shell.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives such as extrude, shell, or revolve. The description does not state prerequisites, when it should be preferred, or when a different feature tool would be more appropriate.

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

onshape_thumbnail_infoList thumbnail sizesB
Read-only

The thumbnail sizes Onshape has rendered for this element, with their hrefs.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes that this is a read-only operation. The description adds a small behavioral nuance: it lists only thumbnail sizes that Onshape has actually rendered, and it includes hrefs. This is consistent with the annotation and provides slight extra context, but no deeper behavior (such as pagination or auth requirements) 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.

Conciseness5/5

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

The description is a single short sentence that directly conveys the tool's output. It is front-loaded and contains no filler, making it easy for an agent to parse quickly.

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

Completeness4/5

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

For a simple read-only listing tool, the description plus the well-documented schema covers the essentials: which element to target and what the output contains (thumbnail sizes and hrefs). It does not detail the return structure or explain the relationship to onshape_get_thumbnail, but the data shape is simple enough that an agent can proceed without that detail.

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

Parameters3/5

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

Schema description coverage is 100%: doc, ws, and elem all have clear explanations referencing document/workspace/element URL segments. The description adds no additional parameter meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description identifies the resource ('thumbnail sizes' for an element) and notes the output includes their hrefs, making it clear this is a metadata-listing tool rather than a thumbnail fetcher. However, it lacks an explicit verb such as 'lists' or 'returns', and it does not distinguish itself from the sibling tool onshape_get_thumbnail by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus onshape_get_thumbnail or other related tools. The description only states what the tool returns, leaving the agent to infer appropriate usage.

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

onshape_transform_instanceTransform instancesB

Apply a 4x4 row-major transform (16 numbers, metres) to the given occurrence paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
pathsYesOccurrence paths, each an array of node ids.
absoluteNoTreat the transform as absolute rather than relative.
transformYesRow-major 4x4 transform matrix.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations provide only a title and no readOnly/destructive hints, so the description carries the full behavioral burden. It conveys that a transform is applied, but it does not disclose whether the operation is relative or absolute by default, whether it modifies existing instance positions destructively, or what response/return value is expected.

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

Conciseness5/5

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

The description is a single front-loaded sentence that names the operation, the transform format, the unit, and the target. Every word contributes meaning and there is no redundant filler.

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

Completeness2/5

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

For a mutating tool with six parameters, no output schema, and minimal annotations, one sentence is not enough to fully contextualize the call. It omits when/why to transform instances versus other operations, the semantics of the optional 'absolute' flag, and what outcome or response the agent should expect.

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

Parameters3/5

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 even though the description adds little beyond the schema. The mention of 'metres' and 'row-major' is useful but largely restates the schema's own transform matrix description.

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

Purpose5/5

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

The description states a specific verb ('Apply'), a precise resource ('4x4 row-major transform'), and the target ('occurrence paths'). This clearly differentiates the tool from instance insertion/deletion siblings like onshape_insert_instance and onshape_delete_instance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. Given the large sibling list full of modeling and assembly operations, an agent is left to infer the appropriate context.

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

onshape_update_documentRename an Onshape documentC

Change a document's name or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
nameNoNew name.
descriptionNoNew description.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations provide no read-only or destructive hints, so the description carries the full burden of behavior disclosure. It reveals that the tool mutates a document's name/description, but does not explain partial-update semantics, whether providing no new values is valid, or what the response or side effects are.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is concise and immediately readable, though it sacrifices behavioral detail for brevity.

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

Completeness2/5

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

For a mutating tool with no annotations and no output schema, the description is too thin. It does not clarify that at least one of name or description should likely be provided, how partial updates behave, or what happens if only doc is supplied.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for doc, name, and description. The tool description adds no meaning 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.

Purpose4/5

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

The description states a clear action — "Change a document's name or description" — on a specific resource (the document). It distinguishes itself from create/delete/get document siblings by targeting metadata updates, though it does not explicitly contrast with onshape_set_metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites such as ownership or write permissions. It simply states what it does without explaining the intended selection context beyond the tool's name.

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

onshape_update_featureUpdate a featureA

Replace an existing feature's payload, e.g. to change a dimension. Post the whole feature JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
featureYesThe full replacement feature JSON.
feature_idYesId of the feature to replace.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations beyond the title, the description carries the full burden. It discloses the key behavioral requirement that the whole feature JSON must be posted, not a partial update. However, it does not mention other potential side effects, idempotency, or error conditions. This is adequate but minimal, so a 3.

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

Conciseness5/5

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

The description is two short sentences that front-load the action and purpose, with no fluff. Every word contributes: the verb, the resource, an example, and the critical posting requirement.

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

Completeness3/5

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

For a mutation tool with 5 parameters and no output schema, the description covers the core operation and the key behavioral requirement, but it does not mention the typical workflow of first fetching the current feature via get_features before modifying. This is a notable gap that could leave an agent guessing. Thus a 3.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all 5 parameters. The description adds an example use case and reiterates the 'whole feature JSON' requirement, but the schema already states 'The full replacement feature JSON.' Thus the description adds marginal semantic value beyond the schema, so a baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Replace) and the resource (an existing feature's payload), with a concrete example (change a dimension). It is distinct from sibling tools like onshape_add_feature and onshape_delete_feature because 'replace' implies modification of an existing feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for modifying existing features but does not explicitly contrast with adding or deleting features. It gives a clear context (replace to change dimensions) but no exclusions or mention of when not to use it. Since it's clear but lacks explicit alternative routing, a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onshape_validate_part_studioValidate a Part StudioA
Read-only

Count parts and bodies, and fail when the counts do not match the expectations you pass. A cheap regression check after a run of feature edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
wsYesWorkspace id — the <ws> segment of the document URL.
docYesDocument id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>.
elemYesElement id (tab) — the <elem> segment of the document URL.
expect_partsNoFail unless the Part Studio has exactly this many parts.
expect_bodiesNoFail unless it has exactly this many bodies.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish readOnlyHint=true, so the safety profile is covered. The description adds useful behavioral context beyond that: it counts parts/bodies and fails on mismatch, and characterizes itself as a 'cheap' operation. It does not detail the exact success/failure return shape, but the core behavioral contract is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first sentence delivers the core function immediately, and the second adds the valuable regression-check context. It is compact and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple validation tool with readOnlyHint and fully documented parameters, the description is largely complete. The only mild gap is that without an output schema it does not explicitly spell out what the tool returns on success/failure, but 'fail when counts do not match' conveys the operational intent well enough for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter already documented (doc/ws/elem identifiers and the expect_parts/expect_bodies meanings). The description only refers to 'expectations you pass' and does not add new constraint information, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action — 'Count parts and bodies, and fail when the counts do not match the expectations' — tied to a concrete resource, the Part Studio. The phrasing clearly distinguishes it from sibling retrieval tools like onshape_get_parts and onshape_get_body_details by framing it as an assertion/regression check rather than a data fetch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly identifies the use case: 'A cheap regression check after a run of feature edits.' This gives clear context for when to reach for this tool arena. It does not explicitly name alternatives or state when not to use it, but the intended workflow is evident.

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.

  1. 87 tool updatesv0.1.0
    • First observedonshape_add_feature
    • First observedonshape_assembly_add_feature
    • First observedonshape_assembly_group
    • First observedonshape_assembly_mass_properties
    • First observedonshape_assembly_mate
    • First observedonshape_assembly_mate_connector
    • First observedonshape_auth_status
    • First observedonshape_boolean
    • First observedonshape_boolean_union
    • First observedonshape_chamfer
    • First observedonshape_circular_pattern
    • First observedonshape_create_assembly
    • First observedonshape_create_document
    • First observedonshape_create_drawing
    • First observedonshape_create_feature_studio
    • First observedonshape_create_part_studio
    • First observedonshape_create_sketch
    • First observedonshape_create_version
    • First observedonshape_delete_document
    • First observedonshape_delete_element
    • First observedonshape_delete_feature
    • First observedonshape_delete_instance
    • First observedonshape_draft
    • First observedonshape_encode_configuration
    • First observedonshape_eval_featurescript
    • First observedonshape_export
    • First observedonshape_export_drawing
    • First observedonshape_export_stl
    • First observedonshape_extrude
    • First observedonshape_fillet
    • First observedonshape_find_circular_edges
    • First observedonshape_find_edges_by_feature
    • First observedonshape_find_part_studios
    • First observedonshape_get_assembly
    • First observedonshape_get_assembly_features
    • First observedonshape_get_body_details
    • First observedonshape_get_bom
    • First observedonshape_get_configuration
    • First observedonshape_get_document
    • First observedonshape_get_document_summary
    • First observedonshape_get_drawing_views
    • First observedonshape_get_edges
    • First observedonshape_get_elements
    • First observedonshape_get_feature_specs
    • First observedonshape_get_feature_studio
    • First observedonshape_get_feature_studio_specs
    • First observedonshape_get_features
    • First observedonshape_get_metadata
    • First observedonshape_get_parts
    • First observedonshape_get_sketch_info
    • First observedonshape_get_thumbnail
    • First observedonshape_get_variables
    • First observedonshape_get_workspaces
    • First observedonshape_hole
    • First observedonshape_insert_instance
    • First observedonshape_linear_pattern
    • First observedonshape_list_documents
    • First observedonshape_list_versions
    • First observedonshape_login
    • First observedonshape_login_status
    • First observedonshape_logout
    • First observedonshape_mass_properties
    • First observedonshape_measure
    • First observedonshape_mirror
    • First observedonshape_offset_plane
    • First observedonshape_request
    • First observedonshape_revolve
    • First observedonshape_rollback
    • First observedonshape_search_documents
    • First observedonshape_set_api_key
    • First observedonshape_set_feature_studio
    • First observedonshape_set_metadata
    • First observedonshape_set_variable
    • First observedonshape_shaded_view
    • First observedonshape_shell
    • First observedonshape_sketch_candy_cane_path
    • First observedonshape_sketch_circle
    • First observedonshape_sketch_circle_axis
    • First observedonshape_sketch_line
    • First observedonshape_sketch_rectangle
    • First observedonshape_sweep
    • First observedonshape_thicken
    • First observedonshape_thumbnail_info
    • First observedonshape_transform_instance
    • First observedonshape_update_document
    • First observedonshape_update_feature
    • First observedonshape_validate_part_studio

TDQS

B3.4/5.0

Scored across 87 tools

Disambiguation4/5

Almost every tool names a distinct resource plus action, and the onshape_ prefix with object nouns keeps categories like document, feature, assembly and drawing separate. A few pairs are easy to confuse—get_feature_specs vs get_feature_studio_specs, extrude vs hole, boolean vs boolean_union—but the descriptions clarify them well enough.

Naming Consistency4/5

All 87 tools use the onshape_ prefix and snake_case, and the dominant get/create/update/delete/list vocabulary is predictable. Deviations like hole, thicken, shell, boolean_union, mass_properties and thumbnail_info keep it from being perfectly uniform.

Tool Count1/5

87 tools far exceeds the 50+ threshold for an extreme count mismatch, making the tool surface hard for an agent to survey. Many specialized helpers like sketch_rectangle, sketch_line and sketch_candy_cane_path duplicate what create_sketch or onshape_request could already express, so the set feels driven by endpoint coverage rather than curation.

Completeness4/5

The set covers document and element lifecycle, feature-tree CRUD, sketching, common modeling operations, assemblies, drawings, export and metadata very broadly for a CAD platform. Obvious gaps like workspace creation/deletion and element rename/copy remain, though onshape_request provides a workable escape hatch.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Connects AI coding agents to Autodesk Fusion 360 for CAD automation, enabling natural language control over sketching, 3D modeling, and CAM operations. It uses a Python-based bridge and a custom add-in to execute over 80 tools ranging from simple geometry creation to complex assembly and parameter management.
    80
    333 PyPI
    101
    MIT
  • F
    license
    B
    quality
    A
    maintenance
    Enables programmatic CAD modeling with Onshape's REST API, offering 45 tools for parametric sketches, feature management, assemblies, analysis, variables, and exports.
    48
    144
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to control a running SOLIDWORKS session through its COM API, with tools for sketching, feature creation, assemblies, and visual feedback via screenshots.
    13
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI hosts to interact with a browser CAD workbench through model-neutral local stdio or authenticated remote MCP tools, supporting command discovery, design-health analysis, and scoped previews while never reading local files or taking over open sessions.
    MIT