io.github.gpambrozio/onshape
NPM · @GPAMBROZIO/ONSHAPE-MCP · SCANNED SEP 24
Drive Onshape CAD from an assistant: documents, sketches, solid features, assemblies and exports.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 34 of 121 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to gpambrozio/onshape-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 12872 tokens (~147/item across 87 items; 87 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety93
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 5 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "onshape_eval_featurescript" implies "eval" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 88 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the io.github.gpambrozio/onshape MCP server?
io.github.gpambrozio/onshape runs locally as an npm package, launched with npx -y @gpambrozio/onshape-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @gpambrozio/onshape-mcp
claude mcp add gpambrozio-onshape -- npx -y @gpambrozio/onshape-mcp
{
"mcpServers": {
"gpambrozio-onshape": {
"command": "npx",
"args": [
"-y",
"@gpambrozio/onshape-mcp"
]
}
}
} {
"servers": {
"gpambrozio-onshape": {
"command": "npx",
"args": [
"-y",
"@gpambrozio/onshape-mcp"
]
}
}
} codex mcp add gpambrozio-onshape -- npx -y @gpambrozio/onshape-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gpambrozio-onshape": {
"type": "local",
"command": [
"npx",
"-y",
"@gpambrozio/onshape-mcp"
],
"enabled": true
}
}
} openclaw mcp add gpambrozio-onshape --command npx --arg -y --arg @gpambrozio/onshape-mcp
mcp_servers:
gpambrozio-onshape:
command: "npx"
args: ["-y", "@gpambrozio/onshape-mcp"] {
"McpServers": {
"gpambrozio-onshape": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@gpambrozio/onshape-mcp"
]
}
}
} assistant mcp add gpambrozio-onshape -t stdio -c npx -a -y @gpambrozio/onshape-mcp
{
"mcpServers": {
"gpambrozio-onshape": {
"command": "npx",
"args": [
"-y",
"@gpambrozio/onshape-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Sept 26 80
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Sept 2026 · Analysed npm/@gpambrozio/onshape-mcp@0.1.2
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | gpambrozio/onshape-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/gpambrozio/onshape-mcp/.github/workflows/release.yml@refs/tags/v0.1.2 |
| Rekor log index | 2907221075 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:e97be88799902314905d7e3785416718f81012328ed4f147dcadeb541aa1655921b5fb519b50fd2485478199ff24df92f783b312a4fc46272e63e2cb1 |
Background: How many MCP packages publish verified provenance →
Dependencies 121 packages
| Packages resolved | 121 |
|---|---|
| Stale | 34 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
onshape_get_thumbnail Download the element thumbnail ~176
Save Onshape's stored thumbnail. Thumbnails are generated asynchronously and lag edits — prefer onshape_shaded_view to see the current state.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| out | string | – | Output PNG path (default onshape-thumb-<timestamp>.png). |
| return_image | boolean | – | Also return the PNG inline (default true). |
| size | string | – | Thumbnail size, e.g. "600x340" or "300x300" (default 600x340). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_get_variables List Part Studio variables ~96
The variable table of a Part Studio: names, expressions and descriptions.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_get_workspaces List workspaces ~51
List a document's workspaces (branches).
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
No output schema declared.
No examples provided.
onshape_hole Cut a hole ~200
Extrude a sketch as a cut (op=REMOVE). Sketch a circle first, then cut it through the body.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | number | yes | Cut depth in inches; make it deeper than the body to cut through. |
| depth_variable | string | – | Use a Part Studio variable for the depth. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Hole"). |
| sketch | string | yes | Feature id of the sketch to cut with. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_insert_instance Insert an instance ~220
Insert a part, a whole Part Studio or another assembly into an assembly. Insert from a version when pulling from a different document.
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | string | – | Encoded configuration for the inserted element. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| is_assembly | boolean | – | The source element is an assembly. |
| part | string | – | Part id, to insert a single part. |
| src_doc | string | – | Source document id (defaults to the target document). |
| src_elem | string | yes | Element id of the source Part Studio or assembly. |
| src_version | string | – | Source version id, required when inserting across documents. |
| whole_studio | boolean | – | Insert every part of the source Part Studio. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_linear_pattern Linear pattern ~238
Repeat geometry along a direction, at a fixed spacing.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | Total number of instances, including the original. |
| direction | string | – | FeatureScript query selecting the direction entity. |
| direction_ids | array | – | Deterministic id of an edge giving the direction. |
| distance | number | yes | Spacing between instances, inches. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| entities | string | yes | FeatureScript query selecting what to pattern. |
| name | string | – | Feature name shown in the tree (default "Linear Pattern"). |
| opposite | boolean | – | Pattern in the opposite direction. |
| type | string | – | What kind of thing is patterned (default PART). |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_list_documents List Onshape documents ~88
List documents visible to the signed-in user, most recently modified first.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | Which documents to list (default all). |
| limit | integer | – | How many to return (default 20). |
| sort_by | string | – | Sort column, e.g. modifiedAt or name (default modifiedAt). |
| sort_order | string | – | Sort direction (default desc). |
No output schema declared.
No examples provided.
onshape_list_versions List document versions ~52
List the immutable versions of a document, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
No output schema declared.
No examples provided.
onshape_login Sign in to Onshape ~291
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.
| Name | Type | Req | Description |
|---|---|---|---|
| base_url | string | – | Onshape API base URL (default https://cad.onshape.com). |
| client_id | string | – | OAuth client id; also read from ONSHAPE_OAUTH_CLIENT_ID. |
| client_secret | string | – | OAuth client secret; also read from ONSHAPE_OAUTH_CLIENT_SECRET. |
| method | string | – | Login method (default api_key). |
| oauth_url | string | – | OAuth server (default https://oauth.onshape.com). |
| port | integer | – | Loopback port for the callback (OAuth default 8471). |
| scope | string | – | Space-separated OAuth scopes, when the app needs them stated. |
| store | string | – | Where to keep the credential: auto (keychain, else file), keychain, or file. |
| wait_seconds | integer | – | Seconds to wait for the browser before returning (default 20). |
No output schema declared.
No examples provided.
onshape_login_status Check the pending Onshape login ~66
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.
| Name | Type | Req | Description |
|---|---|---|---|
| wait_seconds | integer | – | Seconds to wait for the browser before returning (default 20). |
No output schema declared.
No examples provided.
onshape_logout Forget stored Onshape credentials ~40
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
onshape_mass_properties Get mass properties ~112
Volume, mass, centroid and inertia for the Part Studio's bodies.
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | string | – | Encoded configuration string from onshape_encode_configuration. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_measure Measure the model ~106
Body count, overall bounding box in inches and total volume. Use this to check a model matches its intended dimensions before exporting.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_mirror Mirror geometry ~204
Mirror parts, bodies or faces across a plane.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| entities | string | yes | FeatureScript query selecting what to mirror. |
| name | string | – | Feature name shown in the tree (default "Mirror"). |
| plane_ids | array | – | Deterministic id of the mirror plane, e.g. JCC for Front. |
| plane_query | string | – | FeatureScript query selecting the mirror plane. |
| type | string | – | What kind of thing is being mirrored (default PART). |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_offset_plane Create an offset plane ~210
Add a construction plane offset from a default plane, a face, or another plane.
| Name | Type | Req | Description |
|---|---|---|---|
| base_ids | array | – | Deterministic ids of the plane or face to offset from. |
| base_plane | string | – | Default plane to offset from (default Front). |
| base_query | string | – | FeatureScript query selecting the base plane or face. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Offset plane"). |
| offset | number | – | Offset distance in inches (default 1). |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_request Call any Onshape REST endpoint ~134
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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | – | – | JSON request body, for POST. |
| method | string | yes | HTTP method. |
| params | object | – | Query string parameters. |
| path | string | yes | API path, e.g. /api/v6/documents/d/{did}/w/{wid}/elements. Must begin with /api/. |
No output schema declared.
No examples provided.
onshape_revolve Revolve a sketch ~273
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.
| Name | Type | Req | Description |
|---|---|---|---|
| angle | number | – | Revolve angle in degrees (default 360). |
| axis | string | – | FeatureScript query selecting the axis. |
| axis_ids | array | – | Deterministic ids of the axis entity. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Revolve"). |
| op | string | – | NEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW). |
| sketch | string | yes | Feature id of the sketch holding the profile. |
| type | string | – | FULL revolves all the way around (default FULL when an axis is given). |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_rollback Move the rollback bar ~123
Set the rollback index so features after it are suppressed. Index 0 rolls back to before the first feature.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| index | integer | yes | Rollback index; use a large number to roll fully forward. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_search_documents Search Onshape documents ~55
Find documents by name. Search before creating, so repeated runs do not make duplicates.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many to return (default 20). |
| query | string | yes | Text to match against document names. |
No output schema declared.
No examples provided.
onshape_set_api_key Store an Onshape API key pair ~131
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.
| Name | Type | Req | Description |
|---|---|---|---|
| access_key | string | yes | Onshape access key. |
| base_url | string | – | Onshape API base URL (default https://cad.onshape.com). |
| secret_key | string | yes | Onshape secret key. |
| store | string | – | Where to keep the credential: auto (keychain, else file), keychain, or file. |
No output schema declared.
No examples provided.
onshape_set_feature_studio Write a Feature Studio ~113
Replace the FeatureScript source of a Feature Studio. The whole file is overwritten.
| Name | Type | Req | Description |
|---|---|---|---|
| contents | string | yes | The complete new FeatureScript source. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_set_metadata Set element or part metadata ~145
Write properties such as part number, description or material. Only editable properties are accepted; read onshape_get_metadata first to find the property ids.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| part | string | – | Part id, to set that part's properties instead of the element's. |
| properties | array | yes | Property ids and their new values. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_set_variable Set a Part Studio variable ~208
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | What the variable means. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| expression | string | yes | Value expression with units, e.g. "0.25 in" or "2 * #wall". |
| name | string | yes | Variable name, without the leading #. |
| type | string | – | Variable type; inferred from the expression's units when omitted. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_shaded_view Render the model ~255
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.
| Name | Type | Req | Description |
|---|---|---|---|
| configuration | string | – | Encoded configuration string. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| height | integer | – | Image height in pixels (default 340). |
| kind | string | – | Element kind being exported (default partstudios). |
| no_edges | boolean | – | Hide edges in the render. |
| out | string | – | Output PNG path (default onshape-<timestamp>.png in the output directory). |
| return_image | boolean | – | Also return the PNG inline (default true). |
| view_matrix | string | – | 3x4 row-major camera matrix as 12 comma-separated numbers (default isometric). |
| width | integer | – | Image width in pixels (default 600). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_shell Shell a body ~216
Hollow the body out to a wall thickness, removing the selected faces to open it.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| faces | array | – | Deterministic ids of faces to remove. |
| name | string | – | Feature name shown in the tree (default "Shell"). |
| outward | boolean | – | Thicken outward instead of inward. |
| query | string | – | FeatureScript query selecting the faces to remove. |
| thickness | number | – | Wall thickness in inches (default 0.125). |
| thickness_variable | string | – | Use a Part Studio variable for the thickness. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_sketch_candy_cane_path Sketch a hooked sweep path ~273
Add a sketch of a straight stem joined to a hooked arc, approximated by segments — a ready-made path for onshape_sweep.
| Name | Type | Req | Description |
|---|---|---|---|
| bottom | number | – | Y of the stem's bottom (default 0). |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| hook_angle | number | – | Sweep of the hook in degrees (default 210). |
| hook_radius | number | yes | Radius of the hook, inches. |
| name | string | – | Feature name shown in the tree (default "Candy cane centerline"). |
| plane | string | – | Default plane to sketch on (default Front). |
| segments | integer | – | Total segments used to approximate the path (default 24). |
| straight_height | number | yes | Length of the straight stem, inches. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
| x | number | – | X position of the stem (default 0). |
No output schema declared.
No examples provided.
onshape_sketch_circle Sketch a circle ~199
Add a sketch holding one circle.
| Name | Type | Req | Description |
|---|---|---|---|
| center | – | yes | Circle centre. As [x, y] inches or "x,y". |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Sketch circle"). |
| plane | string | – | Default plane to sketch on (default Front). |
| plane_feature | string | – | Sketch on a face created by this feature id instead of a default plane. |
| radius | number | yes | Radius in inches. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_sketch_circle_axis Sketch a circle with a revolve axis ~249
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.
| Name | Type | Req | Description |
|---|---|---|---|
| axis_end | – | yes | Axis end. As [x, y] inches or "x,y". |
| axis_start | – | yes | Axis start. As [x, y] inches or "x,y". |
| center | – | yes | Circle centre. As [x, y] inches or "x,y". |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Sketch circle and axis"). |
| plane | string | – | Default plane to sketch on (default Front). |
| radius | number | yes | Radius in inches. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_sketch_line Sketch a line ~223
Add a sketch holding one line segment. A line alone encloses no region, so it cannot be extruded.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| end | – | yes | End point. As [x, y] inches or "x,y". |
| name | string | – | Feature name shown in the tree (default "Sketch"). |
| plane | string | – | Default plane to sketch on (default Front). |
| plane_feature | string | – | Sketch on a face created by this feature id instead of a default plane. |
| start | – | yes | Start point. As [x, y] inches or "x,y". |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_sketch_rectangle Sketch a rectangle ~224
Add a sketch holding one closed rectangle, ready to extrude. Corners are opposite, in inches.
| Name | Type | Req | Description |
|---|---|---|---|
| corner1 | – | yes | First corner. As [x, y] inches or "x,y". |
| corner2 | – | yes | Opposite corner. As [x, y] inches or "x,y". |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Sketch"). |
| plane | string | – | Default plane to sketch on (default Front). |
| plane_feature | string | – | Sketch on a face created by this feature id instead of a default plane. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_sweep Sweep a profile along a path ~190
Sweep the closed regions of one sketch along the edges of another.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| name | string | – | Feature name shown in the tree (default "Sweep"). |
| op | string | – | NEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW). |
| path | string | yes | Feature id of the path sketch. |
| profile | string | yes | Feature id of the profile sketch. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_thicken Thicken a sketch ~235
Give a sketch region a wall thickness instead of a solid depth.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| midplane | boolean | – | Grow symmetrically about the sketch plane. |
| name | string | – | Feature name shown in the tree (default "Thicken"). |
| op | string | – | NEW makes a new body; ADD/REMOVE/INTERSECT combine with existing bodies (default NEW). |
| opposite | boolean | – | Thicken in the opposite direction. |
| sketch | string | yes | Feature id of the sketch to thicken. |
| thickness | number | yes | Thickness in inches. |
| thickness_variable | string | – | Use a Part Studio variable for the thickness. |
| validate | boolean | – | Re-read the feature list afterwards and fail if the feature regenerated with an error (default true). |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_thumbnail_info List thumbnail sizes ~98
The thumbnail sizes Onshape has rendered for this element, with their hrefs.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_transform_instance Transform instances ~150
Apply a 4x4 row-major transform (16 numbers, metres) to the given occurrence paths.
| Name | Type | Req | Description |
|---|---|---|---|
| absolute | boolean | – | Treat the transform as absolute rather than relative. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| paths | array | yes | Occurrence paths, each an array of node ids. |
| transform | array | yes | Row-major 4x4 transform matrix. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_update_document Rename an Onshape document ~67
Change a document's name or description.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New description. |
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| name | string | – | New name. |
No output schema declared.
No examples provided.
onshape_update_feature Update a feature ~129
Replace an existing feature's payload, e.g. to change a dimension. Post the whole feature JSON.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| feature | object | yes | The full replacement feature JSON. |
| feature_id | string | yes | Id of the feature to replace. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
onshape_validate_part_studio Validate a Part Studio ~148
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.
| Name | Type | Req | Description |
|---|---|---|---|
| doc | string | yes | Document id — the <doc> in cad.onshape.com/documents/<doc>/w/<ws>/e/<elem>. |
| elem | string | yes | Element id (tab) — the <elem> segment of the document URL. |
| expect_bodies | integer | – | Fail unless it has exactly this many bodies. |
| expect_parts | integer | – | Fail unless the Part Studio has exactly this many parts. |
| ws | string | yes | Workspace id — the <ws> segment of the document URL. |
No output schema declared.
No examples provided.
What is the io.github.gpambrozio/onshape MCP server?
io.github.gpambrozio/onshape is an MCP server listed in the public MCP registry as io.github.gpambrozio/onshape. Drive Onshape CAD from an assistant: documents, sketches, solid features, assemblies and exports. This page covers its npm package (@gpambrozio/onshape-mcp).
Is the io.github.gpambrozio/onshape MCP server safe to use?
io.github.gpambrozio/onshape scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 24 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.gpambrozio/onshape MCP server expose?
io.github.gpambrozio/onshape exposes 87 tools: onshape_login, onshape_login_status, onshape_set_api_key, onshape_auth_status, onshape_logout, and 82 more. Their descriptions and schemas cost roughly 12,547 tokens of context every time the server is loaded.
Is the io.github.gpambrozio/onshape MCP server still maintained?
io.github.gpambrozio/onshape is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.gpambrozio/onshape MCP server under?
io.github.gpambrozio/onshape declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.