# Onshape vs Zoo

> Zoo scores 58.7 (C) to Onshape's 55.7 (C) for cad edit. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/onshape-vs-zoo
- Markdown: https://www.anchorterminal.com/compare/onshape-vs-zoo.md (~3,600 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-03

Zoo scores 58.7 (C) on agent readiness against Onshape's 55.7 (C), and leads in 5 of 7 scored categories. Onshape leads on reliability. Both do cad edit.

- Onshape: grade C, 55.7/100, rank #820 of 1349. Markdown https://www.anchorterminal.com/tools/onshape.md · JSON https://www.anchorterminal.com/api/v1/tools/onshape.json
- Zoo: grade C, 58.7/100, rank #669 of 1349. Markdown https://www.anchorterminal.com/tools/zoo.md · JSON https://www.anchorterminal.com/api/v1/tools/zoo.json
- Best CAD, simulation and fabrication APIs for AI agents: https://www.anchorterminal.com/best/cad/index.md
- All 15 cad comparisons: https://www.anchorterminal.com/compare/cad/index.md

## Which one, for what

### Onshape (C)

Good for: Agents that read or change existing cloud CAD documents, run configurations, pull BOMs and drawings, or write FeatureScript for a team already on Onshape.

Ahead on:
- Reliability, 60 against 55

Also in its favour:
- A hosted endpoint, with nothing to install

Watch for: Every API key request must be signed with HMAC-SHA256 over the method, nonce, date, content type, path and query, and 307 redirects need a fresh signature

### Zoo (C)

Good for: Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.

Ahead on:
- Payments & pricing, 35 against 22
- Maintenance & community, 90 against 79
- Transparency & trust, 69 against 60

Also in its favour:
- Runs on your own machine

Watch for: No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket


## Why the edge

### Payments & pricing: Zoo +13

- Onshape (22): No x402, MPP or L402 (0). Plan prices are public per user per year, with no per-call price; extra API calls are sold by sales at an unpublished rate (10). The Free plan costs nothing for non-commercial use with public documents and a Professional trial needs no card; whether the Free plan asks for a card was not stated (12 of 20). A person signs up in a browser and creates the key or OAuth app (0). 0 + 10 + 12 + 0 = 22.
- Zoo (35): No x402, MPP or L402 (0). The per-second rate ($0.0083) and plan allowances are public in the pricing JSON the site loads and on the blog, with the FAQ stating rounding and free GETs (20). The Free plan carries $10 of usage a month with no plan fee; whether sign-up asks for a card was not established, and pay-as-you-go needs a payment method (15 of 20). A person signs in with SSO in a browser and mints the token; service accounts come only after an organisation exists (0). 0 + 20 + 15 + 0 = 35.

### Maintenance & community: Zoo +11

- Onshape (79): Read for a closed service. API release notes rel-1.223 dated 30 October 2026 (30). Six dated releases from 17 July to 30 October, three weeks apart (20). A public changelog, forum.onshape.com and api-support@onshape.com; response times were not tested (12 of 15). No Onshape-owned server in the official MCP registry, where the only match is io.github.gpambrozio/onshape; the official Go client was pushed on 31 October 2026 and the TypeScript clients in June and September 2025 (12 of 15). The Go client is generated and its CI was not read; the multi-language onshape-clients repository is archived (5 of 10). 30 + 20 + 12 + 12 + 5 = 79.
- Zoo (90): Read for a hosted service with open-source clients. zoo-mcp v0.33.0 on 30 October 2026, the CLI v0.2.209 on 28 October and kittycad 1.8.0 on 15 October (30). Nine zoo-mcp tags from 24 to 30 October alone, with CLI and SDK releases through October (20). Commits land daily across the KittyCAD organisation, with a Discord and a community forum; issue response times were not read because GitHub's issue pages refused us (15 of 25). io.github.KittyCAD/zoo-mcp is in the official MCP registry under a GitHub-verified namespace, though at version 0.10.0 of 27 January 2026 (15). pytest across Python 3.11 to 3.14, ruff, ty, a security workflow and Dependabot, with the scheduled run on main passing on 3 November (10). 30 + 20 + 15 + 15 + 10 = 90.

### Transparency & trust: Zoo +9

- Onshape (60): Closed service with clear terms of 15 July 2020 naming PTC Inc. and Massachusetts law (15). The privacy policy has moved to ptc.com, which our reader could not fetch; the data disclosures page names subprocessors (AWS, Salesforce, SendGrid, Zendesk, Vanilla Forums, Crownpeak, Thought Industries, Stripe, Zuora) without retention periods, and neither the terms nor the disclosures say whether customer content trains AI (12 of 30). Deprecations are marked in dated release notes and flagged with an x-deprecated header, but no notice period is stated (12 of 20). Subprocessors are named and the status page lists hosting regions by continent; no formal data location statement was read (14 of 20). 15 + 12 + 12 + 14 = 53.
- Zoo (69): The API is closed, with terms last updated 15 April 2026 under California law; the MCP server, CLI, SDKs and Design Studio are MIT (22 of 30). The terms licence inputs and outputs for model training with an opt-out only where the tier allows it, the pricing JSON states the behaviour per plan, and the security page says team and enterprise data is excluded by default; the privacy policy of 9 September 2026 is silent on training and gives no retention periods, and the enterprise page says Zoo trains on customer CAD data without naming the opt-out (15 of 30). No deprecation policy; billing changes were announced on the blog with dates (6 of 20). The trust centre names OpenAI, Cockroach Labs, Google Cloud and AWS as subprocessors, the security page names a US Regulated region, and the privacy policy says data may be processed anywhere in the world (14 of 20). 22 + 15 + 6 + 14 = 57.

### Reliability: Onshape +5

- Onshape (60): Read with the hosted lines on cad.onshape.com. Atlassian Statuspage at status.onshape.com with regional CAD service components and history feeds (20). The feed holds 18 incidents from 15 August to 30 October 2026, all degraded performance, delayed imports and exports or partial signup blocks, the longest 2 hours 42 minutes of export degradation on 15 September and imports, exports and notifications not working for 1 hour 42 minutes on 11 September; no full outage of the CAD service (18 of 30). Annual API call quotas are published per plan with numbers, while per-endpoint rate limits are said to vary by endpoint with no figure (8 of 15). 429 is documented without a header or backoff timing, 402 marks a spent quota, and no idempotency guidance was found (6 of 15). The terms promise commercially reasonable efforts and no SLA (0). The REST API is generally available; the FeatureScript MCP Server is an early-access Labs feature (8 of 10). 20 + 18 + 8 + 6 + 0 + 8 = 60.
- Zoo (55): Read with the hosted lines on api.zoo.dev. A Better Stack status page at status.zoo.dev lists public and internal components with uptime figures (20). Its incident pages show no incidents for September, October and November 2026; the June to August archive didn't render for our reader, so about three weeks of the 90-day window are unread (25 of 30). No rate limit with a number was found in the OpenAPI document, the API docs, the FAQ or the MCP source (0). No Retry-After or backoff guidance and no idempotency keys; the document says only that cancellation is idempotent (3 of 15). No SLA on any plan, and the terms disclaim uninterrupted service (0). The REST API and Zookeeper are not labelled beta, while POST /ml/kcl/completions carries the `beta` tag and zoo-mcp declares the Beta classifier (7 of 10). 20 + 25 + 0 + 3 + 0 + 7 = 55.

## Score by category

| Category | Weight | Onshape | Zoo | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 60 | 55 | Onshape +5 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 63 | 65 | Zoo +2 |
| Agent ergonomics | 13% (16.2 this run) | 46 | 44 | Onshape +2 |
| Security & auth | 14% (17.5 this run) | 63 | 67 | Zoo +4 |
| Payments & pricing | 10% (12.5 this run) | 22 | 35 | Zoo +13 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 79 | 90 | Zoo +11 |
| Transparency & trust | 7% (8.8 this run) | 60 | 69 | Zoo +9 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **55.7 · C** | **58.7 · C** | |

## Facts side by side

| Fact | Onshape | Zoo |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | PTC | Zoo Corporation |
| Hosted endpoint | `https://fs-mcp.labs.onshape.app/mcp` | no (local only) |
| Transports | Streamable HTTP | stdio, Streamable HTTP |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Tools exposed | 0 | 42 |
| Read-only variant documented | no | yes |
| llms.txt | no | no |
| MCP registry | not listed | `io.github.KittyCAD/zoo-mcp` |
| Last release | 2026-10-30 | 2026-10-30 |
| Terms last updated | no date given | 2026-04-15 |
| Privacy policy last updated | couldn't be read | 2026-09-09 |
| Customer content may train models | not found in the text | yes, with an opt-out |
| Terms restrict automated access | yes | yes |
| Terms restrict benchmarking | yes | yes |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 13 stars | 11 stars |

## Verdicts

**Onshape.** Scoped API keys, OAuth 2.0 and versioned release notes every three weeks give an agent a stable REST surface over documents, parts, assemblies and drawings, and the Labs MCP server writes FeatureScript. Each request needs an HMAC signature and nonce, annual call quotas end in 402, per-endpoint limits are unpublished, and robots.txt closes the OpenAPI explorer's host to readers.

**Zoo.** A public OpenAPI document, SDKs in four languages, a 42-tool MCP server and a $10 monthly allowance let an agent generate KCL geometry and export STEP without a contract. No rate limits, retry guidance or scoped tokens are documented, the MCP server has no read-only subset, and the Free plan's data trains Zoo's models with no opt-out.

## Before you call either

### Onshape

1. Sign every API key request with a Date header within 5 minutes, a unique 16-character On-Nonce and `Authorization: On <AccessKey>:HmacSHA256:<signature>`; prefer OAuth 2.0 bearer tokens and refresh on 401
2. Count calls against the plan's annual quota (2,500 per user on Free) and treat 402 as quota exhausted, not a payment request; 4xx and 5xx responses do not count
3. Put the API version in the path (api/v17) and pin it, since unversioned calls use v0 and unknown versions fall back to the newest
4. On 429 back off and reduce redundant calls; no Retry-After or numeric limit is published, and imports and exports were the component most often delayed in the 90-day record
5. For FeatureScript work, subscribe to the FeatureScript MCP Server in the App Store first, then `claude mcp add --transport http onshape https://fs-mcp.labs.onshape.app/mcp` and authorise in the browser; use `/mcp` to re-authenticate

### Zoo

1. Send `{"type":"ping"}` every 5 seconds on the Zookeeper websocket and expect only KCL back; run the KCL through evaluate_kcl, the CLI or zoo-kcl to get STEP or STL
2. Budget usage in seconds, since every billable call rounds up to the next second at $0.0083, and the monthly allowance resets at the account anniversary without rollover
3. Use one modeling session per zoo-mcp process, start it with start_modeling_session and stop it when done; get_modeling_sessions recovers the id after a reconnect
4. Put the token in ZOO_API_TOKEN, never in a URL; there are no read-only tokens, so use a service account on a Team plan when the owner wants separate credentials
5. Paginate list endpoints with `limit`, `page_token` and `sort_by`; nothing documents a rate limit, so back off on any 429 or 5xx yourself

## Questions

### Which is better for AI agents, Onshape or Zoo?

Zoo scores 58.7 (C) on agent readiness against Onshape's 55.7 (C), and leads in 5 of 7 scored categories. Onshape leads on reliability.

### Do Onshape and Zoo need an API key?

Both take an API key or an OAuth sign-in.

### Can an agent call Onshape and Zoo without installing anything?

Onshape has a hosted endpoint at https://fs-mcp.labs.onshape.app/mcp. Zoo runs on your own machine, with no hosted endpoint listed.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/onshape-vs-zoo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/onshape-vs-zoo.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "onshape", "b": "zoo"}`. From a terminal: `anchor compare onshape zoo`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/onshape.json and https://www.anchorterminal.com/api/v1/tools/zoo.json

## Other comparisons with Onshape or Zoo

- [Adam vs Onshape](https://www.anchorterminal.com/compare/adam-cad-vs-onshape.md)
- [Adam vs Zoo](https://www.anchorterminal.com/compare/adam-cad-vs-zoo.md)
- [Autodesk Platform Services vs Onshape](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape.md)
- [Autodesk Platform Services vs Zoo](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.md)
- [nTop vs Onshape](https://www.anchorterminal.com/compare/ntop-vs-onshape.md)
- [nTop vs Zoo](https://www.anchorterminal.com/compare/ntop-vs-zoo.md)
- [Onshape vs SimScale](https://www.anchorterminal.com/compare/onshape-vs-simscale.md)
- [SimScale vs Zoo](https://www.anchorterminal.com/compare/simscale-vs-zoo.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
