Onshape MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ONSHAPE_ACCESS_KEY | Yes | Your Onshape access key from the developer portal. | |
| ONSHAPE_SECRET_KEY | Yes | Your Onshape secret key from the developer portal. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_sketch_rectangleC | Create a rectangular sketch in a Part Studio with optional variable references |
| create_extrudeB | Create an extrude feature from a sketch |
| create_thickenC | Create a thicken feature from a sketch |
| get_variablesB | Get all variables from a Part Studio variable table |
| set_variableB | Set or update a variable in a Part Studio variable table |
| get_featuresB | Get all features from a Part Studio |
| delete_featureA | Delete a feature from a Part Studio or Assembly |
| list_documentsA | List documents in your Onshape account with optional filtering and sorting |
| search_documentsB | Search for documents by name or description |
| get_documentB | Get detailed information about a specific document |
| get_document_summaryC | Get a comprehensive summary of a document including all workspaces and elements |
| find_part_studiosA | Find Part Studio elements in a specific workspace, optionally filtered by name |
| get_partsB | Get all parts from a Part Studio element |
| get_elementsC | Get all elements (Part Studios, Assemblies, etc.) in a workspace |
| get_assemblyB | Get assembly structure including instances and occurrences |
| create_documentB | Create a new Onshape document |
| create_part_studioB | Create a new Part Studio in an existing document |
| create_assemblyC | Create a new Assembly in an existing document |
| add_assembly_instanceB | Add a part or sub-assembly instance to an assembly |
| transform_instanceA | Apply a RELATIVE transform to an assembly instance (inches and degrees). Note: fails on fixed/grounded instances — use get_assembly_positions to check the 'fixed' flag first. |
| create_fastened_mateA | Create a fastened (rigid) mate between two assembly instances. Requires face IDs from Part Studio body details to place mate connectors on specific faces. Optional offsets shift connectors from face centers (in the face's local XY plane + Z along normal). |
| create_revolute_mateA | Create a revolute (rotation) mate between two assembly instances. The first instance rotates relative to the second around the mate connector Z-axis. Requires face IDs from Part Studio body details. Optional offsets shift connectors from face centers. |
| create_slider_mateA | Create a slider (linear motion) mate between two assembly instances. The first instance slides relative to the second — positive travel moves the first instance along the face normal direction away from the second. Swap instance order to reverse slide direction. Requires face IDs from Part Studio body details. Optional offsets shift connectors from face centers. |
| create_cylindrical_mateA | Create a cylindrical (slide + rotate) mate between two assembly instances. The first instance slides and rotates relative to the second along the mate connector Z-axis. Requires face IDs from Part Studio body details. Optional offsets shift connectors from face centers. |
| create_mate_connectorA | Create an explicit mate connector on a face of an assembly instance. The connector is placed at the face center with its Z-axis along the face normal. Offsets are in the connector's LOCAL coordinate system (X/Y in-plane, Z along normal). Flipping the Z-axis also reverses the other axes via the right-hand rule, which affects how offset translations map to world space. |
| create_sketch_circleC | Create a circular sketch on a standard plane |
| create_sketch_lineB | Create a line sketch on a standard plane |
| create_sketch_arcC | Create an arc sketch on a standard plane |
| create_filletC | Create a fillet (rounded edge) on one or more edges |
| create_chamferC | Create a chamfer (beveled edge) on one or more edges |
| create_revolveB | Create a revolve feature by rotating a sketch around an axis |
| create_linear_patternC | Create a linear pattern of features |
| create_circular_patternC | Create a circular pattern of features around an axis |
| create_booleanC | Perform a boolean operation (union, subtract, intersect) on bodies |
| eval_featurescriptA | Evaluate a FeatureScript expression in a Part Studio (read-only, for querying geometry) |
| get_bounding_boxC | Get the tight bounding box of all parts in a Part Studio |
| export_part_studioB | Export a Part Studio to STL, STEP, or other format |
| export_assemblyC | Export an Assembly to STL, STEP, or other format |
| check_assembly_interferenceA | Check for overlapping/interfering parts in an assembly using bounding box detection. Returns which parts overlap and by how much. |
| get_assembly_positionsB | Get positions, sizes, and world-space bounds of all instances in an assembly (in inches) |
| set_instance_positionA | Set an instance to an ABSOLUTE position in inches (unlike transform_instance which is relative). Resets rotation to identity. Note: fails on fixed/grounded instances (API returns 400). |
| align_instance_to_faceA | Position source instance flush against a face of target instance. Faces: front (min Y), back (max Y), left (min X), right (max X), bottom (min Z), top (max Z). Only moves the perpendicular axis; other axes stay unchanged. |
| get_body_detailsA | Get face-level geometry details for all parts in a Part Studio. Returns face deterministic IDs, surface types (PLANE, CYLINDER, etc.), and for planar faces: normal vectors and origin points. Use face IDs with mate connector tools. |
| get_assembly_featuresA | Get all features (mates, mate connectors, etc.) from an assembly with their current state (OK, ERROR, SUPPRESSED). Useful for inspecting existing mates and debugging assembly issues. |
| get_face_coordinate_systemA | Query the true outward-facing coordinate system for a face on an assembly instance. Returns the guaranteed outward normal (Z-axis), tangent axes (X/Y), and origin. More reliable than body details normals. Use this to verify face orientations before creating mates. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hedless/onshape-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server