{
  "data": {
    "a": {
      "slug": "adam-cad",
      "name": "Adam",
      "vendor": "Adam AI Labs, Inc.",
      "vendorUrl": "https://adam.new",
      "kind": "mcp",
      "category": "cad",
      "summary": "Adam is Adam AI Labs' AI copilot for mechanical CAD. It creates and edits parts in Onshape, Fusion, SOLIDWORKS and other desktop CAD through a hosted agent that AI clients reach over a remote MCP server and a REST API.",
      "url": "https://www.anchorterminal.com/tools/adam-cad",
      "markdownUrl": "https://www.anchorterminal.com/tools/adam-cad.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/adam-cad.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/adam-cad.json",
      "dns": "adam-cad.grade.anchorterminal.com",
      "repo": "https://github.com/Adam-CAD/CADAM",
      "license": "Closed service under Adam's Terms of Service (Adam AI Labs, Inc., last updated 5 June 2026). The CADAM text-to-CAD web application is open source under GPL-3.0.",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://adam.new/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "OAuth 2.1 authorisation code with PKCE (S256) against https://api.adam.new/auth, with automatic client registration, a revocation endpoint and 11 scopes (projects, tasks, files and automations read or write, `tools:execute`, `billing:read`, `integrations:read`) chosen per area at approval. A personal API key (`adam_pk_...`, minted in team settings for one workspace with chosen scopes, shown once) works as a bearer token for clients without OAuth. Workspace admins can switch API and MCP access off or block single permissions, including full execution.",
      "pricing": "freemium",
      "pricingNotes": "Free, Pro, Max, Team Pro and Team Max (per seat) and Enterprise plans, with a daily usage pool on Free and monthly included usage on paid plans, plus prepaid add-on funds. The prices are drawn by script on adam.new/pricing and were not read; the Markdown version lists only the plan names. Engineering work through MCP or the API spends the workspace's usage. No per-call price is published.",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI specs, the MCP manifest, llms.txt or the docs (checked 3 November 2026). A 402 answer means a plan or usage is needed, with no payment requirements.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 5382,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.adam.new/mcp/overview",
      "llmsTxt": "https://adam.new/llms.txt",
      "openapi": "https://adam.new/openapi.json",
      "capabilities": [
        "cad.generate",
        "cad.edit",
        "cad.export",
        "cad.simulate"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "mcp",
        "remote-mcp",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "freemium",
        "beta",
        "soc2",
        "bug-bounty",
        "idempotency",
        "status-page"
      ],
      "lastRelease": "2026-09-10",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.4,
        "grade": "C",
        "agentReady": false,
        "rank": 630,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 55,
          "payments": 15,
          "reliability": 35,
          "schema": 81,
          "security": 74,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "An agent reaches Adam's CAD tasks over OAuth 2.1 with per-area scopes, idempotency keys and a public OpenAPI spec, and can export STEP, STL, IGES and 3MF from Adam-stored models. The MCP server and API are beta, numeric rate limits and plan prices are not published, and native CAD edits need a connected desktop application.",
        "bestFor": "An agent that drives mechanical CAD work in Onshape, Fusion or SOLIDWORKS through a hosted engineering agent, or needs STEP and 3MF exports of Adam-stored models.",
        "strengths": [
          "OAuth 2.1 with PKCE, automatic client registration and 11 scopes approved per area, with `tools:execute` kept separate from read and write",
          "Idempotency-Key required on task creation, messages and tool calls, replayed for 24 hours, with documented handling of an unknown outcome",
          "Public OpenAPI 3.1 specs, llms.txt, Markdown for every page on request, a docs index and a starter skill for MCP clients",
          "SOC 2 Type I, a bug bounty with safe harbour, patch SLAs by severity and a subprocessor list with regions, all published",
          "Deprecation and Sunset headers with at least 90 days' notice before a removal"
        ],
        "weaknesses": [
          "The MCP server and REST API are labelled beta, with breaking changes allowed",
          "Rate limits are documented only as headers; no numeric quota is published",
          "Plan prices are drawn by script on the pricing page and were not readable; the Markdown version lists only plan names",
          "Native CAD work needs the vendor's application connected on a desktop, which MCP sign-in does not do",
          "Not published in the official MCP registry, and no official SDK"
        ],
        "agentNotes": [
          "Call adam_get_context first and check the scopes; client-driven tool calls need `tasks:read`, `tasks:write` and `tools:execute`, which an admin may have blocked",
          "Send a fresh UUID as Idempotency-Key on every task, message and tool call, reuse it on a retry, and on status unknown inspect the task before retrying with a new key",
          "Poll adam_get_tool_call for queued or running calls; creating an external task starts no inference, but executing tools spends the workspace's usage",
          "Treat 402 as a plan or usage limit for the person to resolve, and on 429 wait for Retry-After",
          "Expect only Adam-stored models to export without a desktop; ask the person to connect Onshape, Fusion or SOLIDWORKS before native edits"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.4
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 55,
          "payments": 15,
          "reliability": 35,
          "schema": 81,
          "security": 74,
          "transparency": 67
        },
        "provenanceScore": 76,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"Authorization: Bearer $ADAM_API_KEY\" https://api.adam.new/v1/auth/context",
        "claudeCode": "claude mcp add --transport http --scope user adam https://adam.new/mcp",
        "config": {
          "mcpServers": {
            "adam": {
              "url": "https://adam.new/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/cad.generate",
        "tool": "https://letme.dev/adam-cad"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "Adam AI Labs, Inc.",
        "domain": "adam.new",
        "domainRegistered": "2025-07-13",
        "endpointOnVendorDomain": true,
        "terms": "https://adam.new/terms-of-service",
        "privacy": "https://adam.new/privacy-policy",
        "statusPage": "https://status.adam.new/",
        "changelog": "https://adam.new/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms of service (last updated 5 June 2026) and privacy policy (last updated 24 October 2026) name Adam AI Labs, Inc. Neither contains a clause on automated access, and the terms state no governing law.",
          "adam.new/robots.txt allows all crawlers except /api/, /_serverFn/, /gerhard-richter/ and /devtools/. docs.adam.new and status.adam.new were read.",
          "status.adam.new is a page of the company's own that loads its components and history by script; nothing readable was served, so no incident history was read.",
          "/.well-known/security.txt returns 404. The security page points to a bug bounty with a report form and hello@adam.new.",
          "RDAP at the .new registry gives a registration date of 13 July 2025 for adam.new."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/adam-cad.json",
      "live": {
        "slug": "adam-cad",
        "probe": {
          "target": "https://adam.new/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-04T19:34:15.861802715Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 210,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 235,
          "p95ms24h": 434,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 43,
              "ok": 43
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.adam.new",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:31:19.488859227Z"
        },
        "securityTxt": {
          "url": "https://adam.new/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:54:00.139268319Z"
        },
        "updatedAt": "2026-11-04T19:34:15.861802715Z"
      }
    },
    "answer": "Adam scores 59.4 (C) on agent readiness against Onshape's 55.7 (C), and leads in 4 of 7 scored categories. Onshape leads on reliability, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "onshape",
      "name": "Onshape",
      "vendor": "PTC",
      "vendorUrl": "https://www.onshape.com",
      "kind": "http-api",
      "category": "cad",
      "summary": "Onshape is PTC's cloud CAD platform. Its REST API reads and changes documents, Part Studios, assemblies and drawings with API keys or OAuth 2.0, and the FeatureScript MCP Server in Onshape Labs lets an assistant write FeatureScript into a document.",
      "url": "https://www.anchorterminal.com/tools/onshape",
      "markdownUrl": "https://www.anchorterminal.com/tools/onshape.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/onshape.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/onshape.json",
      "dns": "onshape.grade.anchorterminal.com",
      "repo": "https://github.com/onshape-public/go-client",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://fs-mcp.labs.onshape.app/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "API keys (an access key and a secret) created under My Account \u003e Developer, at most two active per individual account, scoped to permissions and revocable; each request carries a Date header, a 16-character On-Nonce and an HMAC-SHA256 signature in the Authorization header. OAuth 2.0 authorisation code for apps, with 60-minute access tokens and refresh tokens tied to the user's grant; App Store apps must use OAuth. The FeatureScript MCP Server is authorised in a browser after subscribing to it in the App Store. Keys work only on the stack where they were created.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 for non-commercial use with every document public; Standard $1,500 and Professional $2,500 per user per year, billed annually; Enterprise by quote. API calls are capped per year by plan, at 2,500 per user on Free, Standard and EDU Student, 5,000 per user on Professional, 10,000 per full user on Enterprise, with 402 Payment Required once spent and more calls sold by sales. Only 2xx and 3xx responses from keys and private OAuth apps count. A Professional trial of up to six months needs no card.",
      "priceSummary": "$125 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the API limits page or the terms (checked 2026-11-03). Onshape's 402 response means the annual API call quota is spent, not a machine payment challenge.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 13,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://onshape-public.github.io/docs/",
      "openapi": "https://cad.onshape.com/glassworks/explorer",
      "capabilities": [
        "cad.edit",
        "cad.generate",
        "cad.export"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "freemium",
        "free-tier",
        "api-key",
        "oauth",
        "mcp",
        "remote-mcp",
        "beta",
        "status-page",
        "soc2",
        "webhooks",
        "go",
        "typescript",
        "enterprise"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.7,
        "grade": "C",
        "agentReady": false,
        "rank": 820,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 79,
          "payments": 22,
          "reliability": 60,
          "schema": 63,
          "security": 63,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that read or change existing cloud CAD documents, run configurations, pull BOMs and drawings, or write FeatureScript for a team already on Onshape.",
        "strengths": [
          "API keys scoped to permissions and revocable, and OAuth 2.0 with 60-minute access tokens and refresh tokens tied to the user's grant",
          "Versioned API (v17) with dated release notes every three weeks, deprecations marked and an x-deprecated response header",
          "Official FeatureScript MCP Server over Streamable HTTP, added to Claude Code with one command after an App Store subscription",
          "Statuspage with regional components and a 90-day record of short degradations, none a full outage",
          "Free plan for non-commercial use and a Professional trial of up to six months with no card"
        ],
        "weaknesses": [
          "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",
          "Annual API call quotas (2,500 per user on Free and Standard) answer 402 when spent; per-endpoint rate limits are unpublished and 429 carries no documented header",
          "The Glassworks explorer and OpenAPI document are on cad.onshape.com, which robots.txt closes, and no llms.txt exists",
          "The MCP server is an early-access Labs feature with no public tool list, and AI agents are listed as coming soon",
          "The API agreement that governs programmatic use is on the developer portal and was not read; the privacy policy is PTC's"
        ],
        "agentNotes": [
          "Sign every API key request with a Date header within 5 minutes, a unique 16-character On-Nonce and `Authorization: On \u003cAccessKey\u003e:HmacSHA256:\u003csignature\u003e`; prefer OAuth 2.0 bearer tokens and refresh on 401",
          "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",
          "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",
          "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",
          "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"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.7
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 79,
          "payments": 22,
          "reliability": 60,
          "schema": 63,
          "security": 63,
          "transparency": 53
        },
        "provenanceScore": 66,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -u \"$ONSHAPE_ACCESS_KEY:$ONSHAPE_SECRET_KEY\" https://cad.onshape.com/api/v17/documents?limit=20",
        "claudeCode": "claude mcp add --transport http onshape https://fs-mcp.labs.onshape.app/mcp",
        "config": {
          "mcpServers": {
            "onshape": {
              "url": "https://fs-mcp.labs.onshape.app/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/cad.edit",
        "tool": "https://letme.dev/onshape"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Standard plan",
          "unit": "seat-month",
          "usd": 125,
          "note": "$1,500 per user per year, billed annually; 2,500 API calls per user per year"
        },
        {
          "item": "Professional plan",
          "unit": "seat-month",
          "usd": 208.33,
          "note": "$2,500 per user per year, billed annually; 5,000 API calls per user per year"
        }
      ],
      "provenance": {
        "legalEntity": "PTC Inc.",
        "domain": "onshape.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.onshape.com/en/legal/terms-of-use",
        "privacy": "https://www.ptc.com/en/documents/policies/privacy",
        "statusPage": "https://status.onshape.com/",
        "changelog": "https://onshape-public.github.io/docs/changelog/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "PTC Inc., acting through its Onshape business unit, is named in the Onshape Product Terms of Use effective 15 July 2020, under Massachusetts law.",
          "Section 4(b)(ix) of the terms forbids any robot, spider, scraper or other automated means to access the Service, and section 1 puts API use under a separate API agreement on the developer portal, which was not read. Recorded as facts.",
          "www.onshape.com/robots.txt disallows many marketing paths (enterprise, landing pages, the free product pages); the legal, pricing, blog and tech-tip pages read are not among them. cad.onshape.com/robots.txt disallows everything except /help and /FsDoc, and www.ptc.com/robots.txt answered 403, so the privacy policy at the URL above was not read.",
          "www.onshape.com/.well-known/security.txt answered 404.",
          "The MCP endpoint is on labs.onshape.app, an Onshape domain; the API is on cad.onshape.com."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/onshape.json",
      "live": {
        "slug": "onshape",
        "probe": {
          "target": "https://fs-mcp.labs.onshape.app/mcp",
          "method": "get",
          "lastAt": "2026-11-04T19:34:58.43584383Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 620,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 605,
          "p95ms24h": 705,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 43,
              "ok": 43
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.onshape.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T19:31:54.939960943Z"
        },
        "securityTxt": {
          "url": "https://onshape.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:18.491201234Z"
        },
        "updatedAt": "2026-11-04T19:34:58.43584383Z"
      }
    },
    "edges": [
      {
        "by": 36,
        "category": "ergonomics",
        "leads": "adam-cad",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The docs name 15 adam_ tools plus displayFile and loadSkill, so 11 to 30 (15), and task tools are discovered per task with adam_list_task_tools rather than listed up front, which earns 8 back (23 of 25). Cursor pagination with limit 1 to 50, status and project filters on tasks, and message parts that admins can trim, though results of tool calls may be truncated without a size control (18 of 20). One error envelope with type, message and requestId, 402 and 403 that name the plan or scope at fault, and a recovery table for each direct-tool failure (18 of 20). Idempotency-Key required on every write that starts work, a 24-hour replay, cancel documented as safe to repeat, and an unknown status that tells the agent to inspect before retrying; deletes need confirmation, but readOnlyHint and destructiveHint annotations were not confirmed since tools/list was not read (16 of 20). Few required parameters, but no official SDK in any language (7 of 15). 23 + 18 + 18 + 16 + 7 = 82.",
          "b": "Document and element endpoints take ids and the list endpoints take limit and offset, with no field selection documented in what we read; the MCP server's tool count is unknown (12 of 25). Pagination and filters on document lists, and revisions page (a paging loop was fixed in rel-1.219) (14 of 20). HTTP codes with 401, 402 and 429 meanings; the error body shape was on the unread response codes page (10 of 20). No idempotency keys; POSTs create microversions on every edit; no readOnlyHint or destructiveHint published for the MCP tools (2 of 20). Every API key request needs a Date header, a nonce and an HMAC-SHA256 signature, and 307 redirects need a new signature; official Go and TypeScript clients handle it (8 of 15). 12 + 14 + 10 + 2 + 8 = 46."
        },
        "scores": {
          "a": 82,
          "b": 46
        }
      },
      {
        "by": 25,
        "category": "reliability",
        "leads": "onshape",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. status.adam.new exists and is linked from the docs, but it loads its components and history by script and nothing readable was served, so the page counts for half (10 of 20) and the incident record is unread (5). Rate limits are documented as two refilling buckets reported in RateLimit, RateLimit-Policy and X-RateLimit headers, with no numeric quota published (5 of 15). 429 carries Retry-After, and Idempotency-Key is required on task creation, messages and tool calls and replayed for 24 hours (15). No SLA found (0). The MCP server and the REST API are labelled beta, with breaking changes allowed (0 of 10). 10 + 5 + 5 + 15 + 0 + 0 = 35.",
          "b": "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."
        },
        "scores": {
          "a": 35,
          "b": 60
        }
      },
      {
        "by": 24,
        "category": "maintenance",
        "leads": "onshape",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service. The changelog's newest entry is 10 September 2026, 54 days before this check (20). Entries dated 7, 10, 11 and 25 August and 4 to 10 September 2026, more than three in 90 days (20). A public changelog, hello@adam.new, a Discord and the CADAM repository with 26 open issues, which were not read for replies (10 of 15). The manifest follows the registry schema but new.adam/adam is not in the official MCP registry, and there is no official SDK (0 of 15). CADAM was pushed on 15 October 2026 and the service itself has no package to judge (5 of 10). 20 + 20 + 10 + 0 + 5 = 55.",
          "b": "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."
        },
        "scores": {
          "a": 55,
          "b": 79
        }
      },
      {
        "by": 18,
        "category": "schema",
        "leads": "adam-cad",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.1 for the REST API (adam.new/openapi.json and api.adam.new/openapi.json), a site spec for OAuth and MCP endpoints, and an MCP manifest. MCP tool schemas were not read, since tools/list needs a sign-in, though adam_list_task_tools is documented to return input schemas (20 of 25). llms.txt, a docs index at docs.adam.new/llms.txt, Markdown for every page on request through the Accept header, and a starter SKILL.md (10). The direct-tools page gives each MCP tool a purpose and its scopes, and OpenAPI descriptions state conditional requirements such as cron or runAt, but no tool definition says when not to use it (12 of 20). Enums for task status, limit 1 to 50, required fields and multipart file fields are typed; the component schemas past the first 100,000 characters were not read (11 of 15). Every operation documents 400 to 500 responses with one error envelope, and the API introduction carries curl and JSON examples (13 of 15). Versioned /v1 paths, Deprecation and Sunset headers with 90 days' notice, and a dated changelog, though its newest entry is 10 September 2026 (15). 20 + 10 + 12 + 11 + 13 + 15 = 81.",
          "b": "An OpenAPI document backs the Glassworks API Explorer and the generated Go and TypeScript clients, but cad.onshape.com/robots.txt closes the explorer and the document to readers, so the contract was seen only through the clients (18 of 25). No llms.txt and no Markdown twin of the docs (0). Guides per area state what each API does and the API intro explains documents, workspaces, versions and elements; the MCP server's tools are not listed anywhere public (12 of 20). The Go client's breaking-change list shows typed models with BTType mandatory; enums and constraints were not read in the spec itself (10 of 15). Guides carry examples; the response codes page linked from the docs answered 404 and the API limits page gives 429 and 402 meanings (8 of 15). Numbered API versions (v17), dated release notes every three weeks, deprecations marked and an x-deprecated header (15). 18 + 0 + 12 + 10 + 8 + 15 = 63."
        },
        "scores": {
          "a": 81,
          "b": 63
        }
      },
      {
        "by": 12,
        "category": "transparency",
        "leads": "adam-cad",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms of 5 June 2026 that name Adam AI Labs, Inc. but state no governing law, refund or notice terms beyond email; CADAM is GPL-3.0 (13 of 30). The privacy policy of 24 October 2026 keeps data as long as needed, while the compliance page of 7 October 2026 gives 30-day deletion after closure, 7-day backups, no training on model inputs under the providers' commercial terms, and a DPA on request; the two agree where they overlap (20 of 30). Removals announced at least 90 days ahead with Deprecation and Sunset headers and changelog notices, though no removal has been recorded yet (16 of 20). Every subprocessor named with purpose, data and region, and data residency by category (18 of 20). 13 + 20 + 16 + 18 = 67.",
          "b": "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."
        },
        "scores": {
          "a": 72,
          "b": 60
        }
      },
      {
        "by": 11,
        "category": "security",
        "leads": "adam-cad",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.1 authorisation code with PKCE S256, automatic client registration, RFC 8707 resource indicators, refresh tokens, a revocation endpoint and 11 scopes, or a personal key minted for one workspace with chosen scopes and shown once; bearer header only, no query-string option (30). Read and change approved separately per area, `tools:execute` kept apart and blockable by an admin under Allow full harness execution, deletes behind confirmation, and access revoked at once from Connected apps. `tools:execute` is broad, covering commands, connected accounts, paired devices, stored credentials and billable tools (18 of 20). Task messages return the agent's output and tool results, which can include web search and connected-account content, and no prompt-injection guidance was found; per-user sandboxes isolate execution but do not address it (4 of 15). Connected apps are listed with revocation, every error carries a requestId and the billing summary reports usage, but no audit log for the operator was found (6 of 15). SOC 2 Type I approved with Type II in progress, a bug bounty of $10 to $100 per finding with a 90-day window and safe harbour, patch SLAs by CVSS severity, 72-hour incident notification, and no security.txt (16 of 20). 30 + 18 + 4 + 6 + 16 = 74.",
          "b": "API keys scoped to permissions, revocable, two per individual account, with a signed request scheme; OAuth 2.0 authorisation code with 60-minute access tokens and refresh tokens revoked with the user's grant; no key expiry documented (26 of 30). Permission scopes allow read-only keys; no confirmation step before destructive calls and no approval gate on the MCP server beyond the App Store subscription (12 of 20). The MCP server reads FeatureScript errors and geometry from the document and no prompt-injection guidance was found (5 of 15). API usage counts are visible under Developer settings per company or user; no per-call audit log was found (6 of 15). SOC 2 Type 2 audited annually, AES-256 and TLS 1.2 with HSTS, paid researcher testing and security@onshape.com, but no security.txt (404), no public bug bounty and no advisories page (14 of 20). 26 + 12 + 5 + 6 + 14 = 63."
        },
        "scores": {
          "a": 74,
          "b": 63
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Adam AI Labs, Inc.",
        "b": "PTC",
        "name": "Vendor"
      },
      {
        "a": "https://adam.new/mcp",
        "b": "https://fs-mcp.labs.onshape.app/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed service under Adam's Terms of Service (Adam AI Labs, Inc., last updated 5 June 2026). The CADAM text-to-CAD web application is open source under GPL-3.0.",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-10",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "5.4k stars",
        "b": "13 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Adam scores 59.4 (C) on agent readiness against Onshape's 55.7 (C), and leads in 4 of 7 scored categories. Onshape leads on reliability, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Adam or Onshape?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Adam and Onshape need an API key?"
      },
      {
        "answer": "Yes. Adam has a hosted endpoint at https://adam.new/mcp and Onshape at https://fs-mcp.labs.onshape.app/mcp.",
        "question": "Can an agent call Adam and Onshape without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 63",
          "Agent ergonomics, 82 against 46",
          "Security \u0026 auth, 74 against 63",
          "Transparency \u0026 trust, 72 against 60"
        ],
        "also": null,
        "goodFor": "An agent that drives mechanical CAD work in Onshape, Fusion or SOLIDWORKS through a hosted engineering agent, or needs STEP and 3MF exports of Adam-stored models.",
        "slug": "adam-cad",
        "watchFor": "The MCP server and REST API are labelled beta, with breaking changes allowed"
      },
      {
        "aheadOn": [
          "Reliability, 60 against 35",
          "Payments \u0026 pricing, 22 against 15",
          "Maintenance \u0026 community, 79 against 55"
        ],
        "also": null,
        "goodFor": "Agents that read or change existing cloud CAD documents, run configurations, pull BOMs and drawings, or write FeatureScript for a team already on Onshape.",
        "slug": "onshape",
        "watchFor": "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"
      }
    ],
    "history": null,
    "job": {
      "capability": "cad.generate",
      "name": "Cad generate"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-autodesk-platform-services.json",
        "title": "Adam vs Autodesk Platform Services",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-autodesk-platform-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-ntop.json",
        "title": "Adam vs nTop",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-ntop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-zoo.json",
        "title": "Adam vs Zoo",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape.json",
        "title": "Autodesk Platform Services vs Onshape",
        "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ntop-vs-onshape.json",
        "title": "nTop vs Onshape",
        "url": "https://www.anchorterminal.com/compare/ntop-vs-onshape"
      },
      {
        "json": "https://www.anchorterminal.com/compare/onshape-vs-simscale.json",
        "title": "Onshape vs SimScale",
        "url": "https://www.anchorterminal.com/compare/onshape-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-simscale.json",
        "title": "Adam vs SimScale",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/onshape-vs-zoo.json",
        "title": "Onshape vs Zoo",
        "url": "https://www.anchorterminal.com/compare/onshape-vs-zoo"
      }
    ],
    "panel": null,
    "scores": [
      {
        "adam-cad": 35,
        "by": 25,
        "edge": "onshape",
        "key": "reliability",
        "name": "Reliability",
        "onshape": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "adam-cad": 81,
        "by": 18,
        "edge": "adam-cad",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "onshape": 63,
        "weight": 13
      },
      {
        "adam-cad": 82,
        "by": 36,
        "edge": "adam-cad",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "onshape": 46,
        "weight": 13
      },
      {
        "adam-cad": 74,
        "by": 11,
        "edge": "adam-cad",
        "key": "security",
        "name": "Security \u0026 auth",
        "onshape": 63,
        "weight": 14
      },
      {
        "adam-cad": 15,
        "by": 7,
        "edge": "onshape",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "onshape": 22,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "adam-cad": 55,
        "by": 24,
        "edge": "onshape",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "onshape": 79,
        "weight": 7
      },
      {
        "adam-cad": 72,
        "by": 12,
        "edge": "adam-cad",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "onshape": 60,
        "weight": 7
      }
    ],
    "summary": "Adam scores 59.4 (C) on agent readiness against Onshape's 55.7 (C), and leads in 4 of 7 scored categories. Onshape leads on reliability, payments \u0026 pricing and maintenance \u0026 community. Both do cad generate.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "adam-cad": "An agent reaches Adam's CAD tasks over OAuth 2.1 with per-area scopes, idempotency keys and a public OpenAPI spec, and can export STEP, STL, IGES and 3MF from Adam-stored models. The MCP server and API are beta, numeric rate limits and plan prices are not published, and native CAD edits need a connected desktop application.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adam-cad-vs-onshape",
    "json": "https://www.anchorterminal.com/compare/adam-cad-vs-onshape.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adam-cad-vs-onshape.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/adam-cad-vs-onshape.min.md"
  },
  "markdown": "Adam scores 59.4 (C) on agent readiness against Onshape's 55.7 (C), and leads in 4 of 7 scored categories. Onshape leads on reliability, payments \u0026 pricing and maintenance \u0026 community. Both do cad generate.\n\n- Adam: grade C, 59.4/100, rank #630 of 1349. Markdown https://www.anchorterminal.com/tools/adam-cad.md · JSON https://www.anchorterminal.com/api/v1/tools/adam-cad.json\n- 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\n- Best CAD, simulation and fabrication APIs for AI agents: https://www.anchorterminal.com/best/cad/index.md\n- All 15 cad comparisons: https://www.anchorterminal.com/compare/cad/index.md\n\n## Which one, for what\n\n### Adam (C)\n\nGood for: An agent that drives mechanical CAD work in Onshape, Fusion or SOLIDWORKS through a hosted engineering agent, or needs STEP and 3MF exports of Adam-stored models.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 63\n- Agent ergonomics, 82 against 46\n- Security \u0026 auth, 74 against 63\n- Transparency \u0026 trust, 72 against 60\n\nWatch for: The MCP server and REST API are labelled beta, with breaking changes allowed\n\n### Onshape (C)\n\nGood 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.\n\nAhead on:\n- Reliability, 60 against 35\n- Payments \u0026 pricing, 22 against 15\n- Maintenance \u0026 community, 79 against 55\n\nWatch 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\n\n\n## Why the edge\n\n### Agent ergonomics: Adam +36\n\n- Adam (82): The docs name 15 adam_ tools plus displayFile and loadSkill, so 11 to 30 (15), and task tools are discovered per task with adam_list_task_tools rather than listed up front, which earns 8 back (23 of 25). Cursor pagination with limit 1 to 50, status and project filters on tasks, and message parts that admins can trim, though results of tool calls may be truncated without a size control (18 of 20). One error envelope with type, message and requestId, 402 and 403 that name the plan or scope at fault, and a recovery table for each direct-tool failure (18 of 20). Idempotency-Key required on every write that starts work, a 24-hour replay, cancel documented as safe to repeat, and an unknown status that tells the agent to inspect before retrying; deletes need confirmation, but readOnlyHint and destructiveHint annotations were not confirmed since tools/list was not read (16 of 20). Few required parameters, but no official SDK in any language (7 of 15). 23 + 18 + 18 + 16 + 7 = 82.\n- Onshape (46): Document and element endpoints take ids and the list endpoints take limit and offset, with no field selection documented in what we read; the MCP server's tool count is unknown (12 of 25). Pagination and filters on document lists, and revisions page (a paging loop was fixed in rel-1.219) (14 of 20). HTTP codes with 401, 402 and 429 meanings; the error body shape was on the unread response codes page (10 of 20). No idempotency keys; POSTs create microversions on every edit; no readOnlyHint or destructiveHint published for the MCP tools (2 of 20). Every API key request needs a Date header, a nonce and an HMAC-SHA256 signature, and 307 redirects need a new signature; official Go and TypeScript clients handle it (8 of 15). 12 + 14 + 10 + 2 + 8 = 46.\n\n### Reliability: Onshape +25\n\n- Adam (35): Read with the hosted lines. status.adam.new exists and is linked from the docs, but it loads its components and history by script and nothing readable was served, so the page counts for half (10 of 20) and the incident record is unread (5). Rate limits are documented as two refilling buckets reported in RateLimit, RateLimit-Policy and X-RateLimit headers, with no numeric quota published (5 of 15). 429 carries Retry-After, and Idempotency-Key is required on task creation, messages and tool calls and replayed for 24 hours (15). No SLA found (0). The MCP server and the REST API are labelled beta, with breaking changes allowed (0 of 10). 10 + 5 + 5 + 15 + 0 + 0 = 35.\n- 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.\n\n### Maintenance \u0026 community: Onshape +24\n\n- Adam (55): Read for a closed service. The changelog's newest entry is 10 September 2026, 54 days before this check (20). Entries dated 7, 10, 11 and 25 August and 4 to 10 September 2026, more than three in 90 days (20). A public changelog, hello@adam.new, a Discord and the CADAM repository with 26 open issues, which were not read for replies (10 of 15). The manifest follows the registry schema but new.adam/adam is not in the official MCP registry, and there is no official SDK (0 of 15). CADAM was pushed on 15 October 2026 and the service itself has no package to judge (5 of 10). 20 + 20 + 10 + 0 + 5 = 55.\n- 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.\n\n### Schema \u0026 documentation: Adam +18\n\n- Adam (81): Public OpenAPI 3.1 for the REST API (adam.new/openapi.json and api.adam.new/openapi.json), a site spec for OAuth and MCP endpoints, and an MCP manifest. MCP tool schemas were not read, since tools/list needs a sign-in, though adam_list_task_tools is documented to return input schemas (20 of 25). llms.txt, a docs index at docs.adam.new/llms.txt, Markdown for every page on request through the Accept header, and a starter SKILL.md (10). The direct-tools page gives each MCP tool a purpose and its scopes, and OpenAPI descriptions state conditional requirements such as cron or runAt, but no tool definition says when not to use it (12 of 20). Enums for task status, limit 1 to 50, required fields and multipart file fields are typed; the component schemas past the first 100,000 characters were not read (11 of 15). Every operation documents 400 to 500 responses with one error envelope, and the API introduction carries curl and JSON examples (13 of 15). Versioned /v1 paths, Deprecation and Sunset headers with 90 days' notice, and a dated changelog, though its newest entry is 10 September 2026 (15). 20 + 10 + 12 + 11 + 13 + 15 = 81.\n- Onshape (63): An OpenAPI document backs the Glassworks API Explorer and the generated Go and TypeScript clients, but cad.onshape.com/robots.txt closes the explorer and the document to readers, so the contract was seen only through the clients (18 of 25). No llms.txt and no Markdown twin of the docs (0). Guides per area state what each API does and the API intro explains documents, workspaces, versions and elements; the MCP server's tools are not listed anywhere public (12 of 20). The Go client's breaking-change list shows typed models with BTType mandatory; enums and constraints were not read in the spec itself (10 of 15). Guides carry examples; the response codes page linked from the docs answered 404 and the API limits page gives 429 and 402 meanings (8 of 15). Numbered API versions (v17), dated release notes every three weeks, deprecations marked and an x-deprecated header (15). 18 + 0 + 12 + 10 + 8 + 15 = 63.\n\n### Transparency \u0026 trust: Adam +12\n\n- Adam (72): Closed service under terms of 5 June 2026 that name Adam AI Labs, Inc. but state no governing law, refund or notice terms beyond email; CADAM is GPL-3.0 (13 of 30). The privacy policy of 24 October 2026 keeps data as long as needed, while the compliance page of 7 October 2026 gives 30-day deletion after closure, 7-day backups, no training on model inputs under the providers' commercial terms, and a DPA on request; the two agree where they overlap (20 of 30). Removals announced at least 90 days ahead with Deprecation and Sunset headers and changelog notices, though no removal has been recorded yet (16 of 20). Every subprocessor named with purpose, data and region, and data residency by category (18 of 20). 13 + 20 + 16 + 18 = 67.\n- 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.\n\n### Security \u0026 auth: Adam +11\n\n- Adam (74): OAuth 2.1 authorisation code with PKCE S256, automatic client registration, RFC 8707 resource indicators, refresh tokens, a revocation endpoint and 11 scopes, or a personal key minted for one workspace with chosen scopes and shown once; bearer header only, no query-string option (30). Read and change approved separately per area, `tools:execute` kept apart and blockable by an admin under Allow full harness execution, deletes behind confirmation, and access revoked at once from Connected apps. `tools:execute` is broad, covering commands, connected accounts, paired devices, stored credentials and billable tools (18 of 20). Task messages return the agent's output and tool results, which can include web search and connected-account content, and no prompt-injection guidance was found; per-user sandboxes isolate execution but do not address it (4 of 15). Connected apps are listed with revocation, every error carries a requestId and the billing summary reports usage, but no audit log for the operator was found (6 of 15). SOC 2 Type I approved with Type II in progress, a bug bounty of $10 to $100 per finding with a 90-day window and safe harbour, patch SLAs by CVSS severity, 72-hour incident notification, and no security.txt (16 of 20). 30 + 18 + 4 + 6 + 16 = 74.\n- Onshape (63): API keys scoped to permissions, revocable, two per individual account, with a signed request scheme; OAuth 2.0 authorisation code with 60-minute access tokens and refresh tokens revoked with the user's grant; no key expiry documented (26 of 30). Permission scopes allow read-only keys; no confirmation step before destructive calls and no approval gate on the MCP server beyond the App Store subscription (12 of 20). The MCP server reads FeatureScript errors and geometry from the document and no prompt-injection guidance was found (5 of 15). API usage counts are visible under Developer settings per company or user; no per-call audit log was found (6 of 15). SOC 2 Type 2 audited annually, AES-256 and TLS 1.2 with HSTS, paid researcher testing and security@onshape.com, but no security.txt (404), no public bug bounty and no advisories page (14 of 20). 26 + 12 + 5 + 6 + 14 = 63.\n\n## Score by category\n\n| Category | Weight | Adam | Onshape | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 60 | Onshape +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 63 | Adam +18 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 46 | Adam +36 |\n| Security \u0026 auth | 14% (17.5 this run) | 74 | 63 | Adam +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 22 | Onshape +7 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 55 | 79 | Onshape +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 60 | Adam +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.4 · C** | **55.7 · C** | |\n\n## Facts side by side\n\n| Fact | Adam | Onshape |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Adam AI Labs, Inc. | PTC |\n| Hosted endpoint | `https://adam.new/mcp` | `https://fs-mcp.labs.onshape.app/mcp` |\n| Transports | Streamable HTTP | Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Closed service under Adam's Terms of Service (Adam AI Labs, Inc., last updated 5 June 2026). The CADAM text-to-CAD web application is open source under GPL-3.0. | none |\n| Tools exposed | none | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-09-10 | 2026-10-30 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | couldn't be read | couldn't be read |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | 5.4k stars | 13 stars |\n\n## Verdicts\n\n**Adam.** An agent reaches Adam's CAD tasks over OAuth 2.1 with per-area scopes, idempotency keys and a public OpenAPI spec, and can export STEP, STL, IGES and 3MF from Adam-stored models. The MCP server and API are beta, numeric rate limits and plan prices are not published, and native CAD edits need a connected desktop application.\n\n**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.\n\n## Before you call either\n\n### Adam\n\n1. Call adam_get_context first and check the scopes; client-driven tool calls need `tasks:read`, `tasks:write` and `tools:execute`, which an admin may have blocked\n2. Send a fresh UUID as Idempotency-Key on every task, message and tool call, reuse it on a retry, and on status unknown inspect the task before retrying with a new key\n3. Poll adam_get_tool_call for queued or running calls; creating an external task starts no inference, but executing tools spends the workspace's usage\n4. Treat 402 as a plan or usage limit for the person to resolve, and on 429 wait for Retry-After\n5. Expect only Adam-stored models to export without a desktop; ask the person to connect Onshape, Fusion or SOLIDWORKS before native edits\n\n### Onshape\n\n1. Sign every API key request with a Date header within 5 minutes, a unique 16-character On-Nonce and `Authorization: On \u003cAccessKey\u003e:HmacSHA256:\u003csignature\u003e`; prefer OAuth 2.0 bearer tokens and refresh on 401\n2. 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\n3. 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\n4. 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\n5. 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\n\n## Questions\n\n### Which is better for AI agents, Adam or Onshape?\n\nAdam scores 59.4 (C) on agent readiness against Onshape's 55.7 (C), and leads in 4 of 7 scored categories. Onshape leads on reliability, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Adam and Onshape need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Adam and Onshape without installing anything?\n\nYes. Adam has a hosted endpoint at https://adam.new/mcp and Onshape at https://fs-mcp.labs.onshape.app/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/adam-cad-vs-onshape.json, and with the fewest tokens: https://www.anchorterminal.com/compare/adam-cad-vs-onshape.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"adam-cad\", \"b\": \"onshape\"}`. From a terminal: `anchor compare adam-cad onshape`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/adam-cad.json and https://www.anchorterminal.com/api/v1/tools/onshape.json\n\n## Other comparisons with Adam or Onshape\n\n- [Adam vs Autodesk Platform Services](https://www.anchorterminal.com/compare/adam-cad-vs-autodesk-platform-services.md)\n- [Adam vs nTop](https://www.anchorterminal.com/compare/adam-cad-vs-ntop.md)\n- [Adam vs Zoo](https://www.anchorterminal.com/compare/adam-cad-vs-zoo.md)\n- [Autodesk Platform Services vs Onshape](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape.md)\n- [nTop vs Onshape](https://www.anchorterminal.com/compare/ntop-vs-onshape.md)\n- [Onshape vs SimScale](https://www.anchorterminal.com/compare/onshape-vs-simscale.md)\n- [Adam vs SimScale](https://www.anchorterminal.com/compare/adam-cad-vs-simscale.md)\n- [Onshape vs Zoo](https://www.anchorterminal.com/compare/onshape-vs-zoo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Adam vs Onshape",
        "url": ""
      }
    ],
    "description": "Adam scores 59.4 (C) to Onshape's 55.7 (C) for cad generate. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Adam C 59.4",
      "Onshape C 55.7",
      "scores"
    ],
    "h1": "Adam vs Onshape",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/adam-cad-vs-onshape",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adam vs Onshape for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/adam-cad-vs-onshape"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 3380
  },
  "version": 1
}
