{
  "data": {
    "category": {
      "area": "design-diagrams",
      "capabilities": [
        "cad.generate",
        "cad.edit",
        "cad.export",
        "cad.simulate",
        "cad.print",
        "cad.manufacture"
      ],
      "description": "Services where an agent makes and edits mechanical geometry, runs an engineering simulation, drives a 3D printer or orders a machined or printed part. Different from 3D worlds, which make scenes to look at. Compared on what geometry an agent can create and change, export formats, simulation access, how a print or an order is placed and what a licence costs.",
      "json": "https://www.anchorterminal.com/categories/cad.json",
      "name": "CAD, engineering \u0026 fabrication",
      "slug": "cad",
      "test": "In this run, public evidence against the published checklist. When the task suites run, the same bracket described in words to each listing that makes geometry, the model exported as STEP and checked for its holes and dimensions, then one part quoted or one print queued where the API allows. We check the geometry, the export, the quote and what it took to get a key.",
      "title": "CAD, simulation and fabrication APIs for AI agents",
      "toolCount": 7,
      "tools": [
        "adam-cad",
        "zoo",
        "onshape",
        "prusalink",
        "autodesk-platform-services",
        "simscale",
        "ntop"
      ],
      "url": "https://www.anchorterminal.com/categories/cad"
    },
    "tools": [
      {
        "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:03:31.721623871Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 235,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 235,
            "p95ms24h": 582,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "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:03:31.721623871Z"
        }
      },
      {
        "slug": "zoo",
        "name": "Zoo",
        "vendor": "Zoo Corporation",
        "vendorUrl": "https://zoo.dev",
        "kind": "http-api",
        "category": "cad",
        "summary": "Zoo is a hosted CAD platform from Zoo Corporation with a REST API, the Zookeeper design agent over a websocket, file conversion and analysis endpoints, a CLI and a local MCP server, all built on its KCL modelling language.",
        "url": "https://www.anchorterminal.com/tools/zoo",
        "markdownUrl": "https://www.anchorterminal.com/tools/zoo.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoo.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoo.json",
        "dns": "zoo.grade.anchorterminal.com",
        "repo": "https://github.com/KittyCAD/mcp",
        "transports": [
          "stdio",
          "streamable-http"
        ],
        "packages": [
          {
            "registry": "pypi",
            "name": "zoo-mcp"
          },
          {
            "registry": "pypi",
            "name": "kittycad"
          }
        ],
        "auth": "mixed",
        "authNotes": "Bearer API token minted at zoo.dev/account/developer after a browser sign-in (SSO by OAuth 2.0, OpenID Connect or email; Zoo uses no passwords). Tokens are listed, created and deleted at /user/api-tokens; no scopes were found. Team and Enterprise plans add organisation-wide service accounts, and OAuth 2.0 apps with PKCE and a device grant exist for apps. The MCP server reads ZOO_API_TOKEN (ZOO_TOKEN in the registry manifest). Websockets authenticate before the first message.",
        "pricing": "freemium",
        "pricingNotes": "Free plan with $10 of monthly usage (1,205 seconds) and no plan fee; Plus $20 a month with $200 of usage, Pro $99 with $1,245, Team $399 per user with $4,980, Enterprise by contract. Zookeeper reasoning and billable API calls (direct or through MCP) are metered per second at $0.0083, about $0.50 a minute, rounded up to the next second. Failed calls are not charged; GET, /user, /org and /oauth2 calls are free. Pay-as-you-go beyond the allowance is off by default and needs a payment method.",
        "priceSummary": "$0.0083 / credit",
        "where": "local",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the OpenAPI document (226 operations), the API pricing page, the FAQ or the MCP server source (checked 2026-11-03). Payment runs through Stripe-hosted pages and subscription endpoints.",
          "endpoints": []
        },
        "toolCount": 42,
        "popularity": {
          "githubStars": 11,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://zoo.dev/docs/developer-tools/agent-api",
        "openapi": "https://api.zoo.dev/",
        "registryName": "io.github.KittyCAD/zoo-mcp",
        "capabilities": [
          "cad.generate",
          "cad.edit",
          "cad.export"
        ],
        "tags": [
          "hosted",
          "official",
          "closed-source",
          "freemium",
          "usage-priced",
          "free-tier",
          "mcp",
          "mcp-registry",
          "openapi",
          "cli",
          "python",
          "typescript",
          "rust",
          "go",
          "status-page",
          "soc2",
          "security-txt",
          "bug-bounty"
        ],
        "lastRelease": "2026-10-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 58.7,
          "grade": "C",
          "agentReady": false,
          "rank": 669,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 2,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 44,
            "maintenance": 90,
            "payments": 35,
            "reliability": 55,
            "schema": 65,
            "security": 67,
            "transparency": 69
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "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.",
          "bestFor": "Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.",
          "strengths": [
            "OpenAPI 3.0.3 served at api.zoo.dev with 226 described operations, and SDKs in Python, TypeScript, Rust and Go generated from it",
            "Zookeeper returns editable KCL rather than a mesh, and the CLI or zoo-kcl package exports it to STEP",
            "Public per-second pricing ($0.0083 a second) with $10 of monthly usage on the Free plan and no charge for failed calls",
            "SOC 2 Type II, a disclosure policy with a 72-hour response commitment, and two published Trail of Bits reviews",
            "Status page with component history and no incidents reported for September to November 2026"
          ],
          "weaknesses": [
            "No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket",
            "API tokens carry no scopes and the MCP server has no read-only subset or tool annotations",
            "Free plan data is always used for training; Plus and Pro opt out manually, by the terms of 15 April 2026",
            "The 42 MCP tools and 30,000 characters of docstrings load into every session; the registry entry is at 0.10.0 while PyPI is at 0.33.0",
            "No llms.txt or Markdown docs, no API changelog, and no SLA on any plan"
          ],
          "agentNotes": [
            "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",
            "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",
            "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",
            "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",
            "Paginate list endpoints with `limit`, `page_token` and `sort_by`; nothing documents a rate limit, so back off on any 429 or 5xx yourself"
          ],
          "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": 58.7
            }
          ],
          "editorialScores": {
            "ergonomics": 44,
            "maintenance": 90,
            "payments": 35,
            "reliability": 55,
            "schema": 65,
            "security": 67,
            "transparency": 57
          },
          "provenanceScore": 80,
          "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": {
          "install": "uvx zoo-mcp",
          "http": "curl -H \"Authorization: Bearer $ZOO_API_TOKEN\" https://api.zoo.dev/user",
          "claudeCode": "claude mcp add zoo -e ZOO_API_TOKEN=$ZOO_API_TOKEN -- uvx zoo-mcp",
          "config": {
            "mcpServers": {
              "zoo": {
                "args": [
                  "zoo-mcp"
                ],
                "command": "uvx",
                "env": {
                  "ZOO_API_TOKEN": "YOUR_ZOO_API_TOKEN"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/cad.generate",
          "tool": "https://letme.dev/zoo"
        },
        "area": "design-diagrams",
        "unitPrices": [
          {
            "item": "Billable API second (Zookeeper, modeling, ML, file)",
            "unit": "credit",
            "usd": 0.0083,
            "note": "one credit is one second of a billable call, about $0.50 a minute, rounded up to the next second; GET, /user, /org and /oauth2 calls are free"
          },
          {
            "item": "Plus plan",
            "unit": "month",
            "usd": 20,
            "note": "includes $200 of usage (24,096 seconds); the Free plan includes $10"
          },
          {
            "item": "Pro plan",
            "unit": "month",
            "usd": 99,
            "note": "includes $1,245 of usage (150,000 seconds)"
          },
          {
            "item": "Team plan",
            "unit": "seat-month",
            "usd": 399,
            "note": "includes $4,980 of usage per month, service accounts, admin console and auditing"
          }
        ],
        "provenance": {
          "legalEntity": "Zoo Corporation",
          "domain": "zoo.dev",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://zoo.dev/terms-and-conditions",
          "privacy": "https://zoo.dev/privacy-policy",
          "statusPage": "https://status.zoo.dev/",
          "changelog": "https://github.com/KittyCAD/mcp/releases",
          "securityTxt": "valid",
          "checked": "2026-11-03",
          "notes": [
            "Zoo Corporation is named in the terms (last updated 15 April 2026) and the privacy policy (9 September 2026), with an Inglewood, California address. California law.",
            "Section 3(a)(vii) of the terms forbids accessing the Services with spiders, robots, crawlers or similar data mining tools unless Zoo supplies the tool. Recorded as a fact; zoo.dev/robots.txt allows all crawlers and api.zoo.dev has no robots.txt.",
            "security.txt at zoo.dev/.well-known/security.txt names the GitHub advisory form, security@zoo.dev and a policy, with no Expires line.",
            "No llms.txt (404) and no API changelog page (docs/changelog 404). Releases are tracked per repository on GitHub.",
            "The domain registration date was not checked (no RDAP lookup made)."
          ],
          "score": 80
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/zoo.json",
        "live": {
          "slug": "zoo",
          "vendorStatus": {
            "page": "https://status.zoo.dev",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-11-04T15:32:45.470053997Z"
          },
          "versions": [
            {
              "registry": "mcp-registry",
              "name": "io.github.KittyCAD/zoo-mcp",
              "version": "0.33.0",
              "seenAt": "2026-11-04T17:11:44.552009456Z"
            }
          ],
          "securityTxt": {
            "url": "https://zoo.dev/.well-known/security.txt",
            "state": "valid",
            "checkedAt": "2026-11-04T15:53:22.312502342Z"
          },
          "updatedAt": "2026-11-04T17:11:44.552009456Z"
        }
      },
      {
        "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:04:00.16422151Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 563,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 602,
            "p95ms24h": 705,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.onshape.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-11-04T18:57:25.276295768Z"
          },
          "securityTxt": {
            "url": "https://onshape.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:54:18.491201234Z"
          },
          "updatedAt": "2026-11-04T19:04:00.16422151Z"
        }
      },
      {
        "slug": "prusalink",
        "name": "PrusaLink",
        "vendor": "Prusa Research a.s.",
        "vendorUrl": "https://www.prusa3d.com",
        "kind": "http-api",
        "category": "cad",
        "summary": "PrusaLink is Prusa Research's local web interface and HTTP API for Original Prusa 3D printers, built into current models or run on a Raspberry Pi. It reports status, uploads files and starts, pauses and stops prints over the local network.",
        "url": "https://www.anchorterminal.com/tools/prusalink",
        "markdownUrl": "https://www.anchorterminal.com/tools/prusalink.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/prusalink.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/prusalink.json",
        "dns": "prusalink.grade.anchorterminal.com",
        "repo": "https://github.com/prusa3d/Prusa-Link",
        "license": "The Prusa-Link Python package declares its licence as Freeware in setup.py and ships no licence file. The Prusa-Link-Web interface is GPL-3.0, and its OpenAPI spec names AGPLv3. The firmware editions are part of Prusa's printer firmware.",
        "transports": [],
        "packages": [
          {
            "registry": "pypi",
            "name": "PrusaLink"
          }
        ],
        "auth": "mixed",
        "authNotes": "On a Buddy-firmware printer (CORE One, MK4/S, MK3.9, MK3.5, XL, MINI/+) the printer shows a username and password under Settings \u003e Network \u003e PrusaLink, and the OpenAPI spec declares HTTP digest authentication on every operation. On the Raspberry Pi edition for the MK3/S/+ and MK2.5/S, one API key is set or reset in PrusaLink's settings and sent as X-Api-Key; keys are trimmed of whitespace since the unreleased 0.9.0 change. One credential per printer, with no scopes or read-only mode.",
        "pricing": "free",
        "pricingNotes": "The software is free and ships in the printer firmware or as a free Raspberry Pi image and PyPI package. It needs an Original Prusa printer, and the Pi edition a Raspberry Pi Zero 2 W, Zero W, 3, 4 or 5. Prusa Connect, the cloud service PrusaLink can register with, is free for Prusa owners with 1 GB of storage, per the help centre.",
        "priceSummary": "Free",
        "where": "local",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the OpenAPI spec, the repository or the help centre (checked 3 November 2026). Nothing is sold through the API.",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 219,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://github.com/prusa3d/Prusa-Link-Web/blob/master/spec/openapi.yaml",
        "openapi": "https://raw.githubusercontent.com/prusa3d/Prusa-Link-Web/master/spec/openapi.yaml",
        "capabilities": [
          "cad.print"
        ],
        "tags": [
          "local",
          "official",
          "openapi",
          "api-key",
          "free",
          "python",
          "self-hosted",
          "hardware",
          "eu"
        ],
        "lastRelease": "2024-07-02",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 49.4,
          "grade": "D",
          "agentReady": false,
          "rank": 1036,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 4,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 48,
            "maintenance": 17,
            "payments": 60,
            "reliability": 55,
            "schema": 60,
            "security": 36,
            "transparency": 64
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "An agent on the same network can read printer status, upload G-code and start, pause or stop a print through a documented OpenAPI surface with one credential per printer. The spec is a 2024 draft, the Pi edition's last release is July 2024 with 102 open issues, and there is no read-only mode, pagination or SDK.",
          "bestFor": "An agent on the owner's network that queues and watches prints on an Original Prusa printer.",
          "strengths": [
            "OpenAPI 3.0.1 spec with enums for printer and job states and documented 401, 404 and 409 responses on most operations",
            "Free, local and offline; the printer needs no cloud account, and the API answers on the printer's own address",
            "Shipped in the firmware of every current Original Prusa printer, with a Raspberry Pi edition for the MK3 and MK2.5",
            "Prusa publishes a valid security.txt and a disclosure policy that rewards reports",
            "Source of the Pi edition and the web interface on GitHub, with CI and dependabot updates"
          ],
          "weaknesses": [
            "One credential per printer, a digest password or an API key, with no scopes, read-only mode or confirmation before a stop or delete",
            "The Pi edition's last release is 0.8.1 of 2 July 2024, and the spec is marked 1.0.0-draft with malformed YAML lines",
            "102 open issues with no visible maintainer reply in the newest 25, and no official SDK",
            "No pagination, filtering or output-size control on file listings, and no idempotency keys",
            "The Python package's licence is declared as Freeware with no licence file, while the web interface is GPL-3.0"
          ],
          "agentNotes": [
            "Reach the printer by its local address only; use HTTP digest with the username and password from Settings \u003e Network \u003e PrusaLink on a Buddy printer, or X-Api-Key on the Pi edition",
            "Check GET /api/v1/status before any change and expect 409 when the printer is busy; a stop or delete has no confirmation step",
            "Upload with PUT /api/v1/files/{storage}/{path}, set Print-After-Upload to ?1 to start at once, and send Overwrite ?1 only when replacing a file on purpose",
            "Read GET /api/version first, since the Pi edition and the firmware editions report different API versions and the Pi edition lacks Buddy-only fields",
            "Expect no rate limits or retry guidance; poll status at a modest interval rather than on every turn"
          ],
          "metrics": {
            "kind": "local",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 49.4
            }
          ],
          "editorialScores": {
            "ergonomics": 48,
            "maintenance": 17,
            "payments": 60,
            "reliability": 55,
            "schema": 60,
            "security": 36,
            "transparency": 44
          },
          "provenanceScore": 83,
          "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": {
          "install": "pip install PrusaLink",
          "http": "curl --digest -u \"$PRUSALINK_USER:$PRUSALINK_PASSWORD\" http://\u003cprinter-ip\u003e/api/v1/status"
        },
        "letme": {
          "capability": "https://letme.dev/cad.print",
          "tool": "https://letme.dev/prusalink"
        },
        "area": "design-diagrams",
        "provenance": {
          "legalEntity": "Prusa Research a.s.",
          "domain": "prusa3d.com",
          "domainRegistered": "2013-10-30",
          "endpointOnVendorDomain": null,
          "terms": "https://www.prusa3d.com/page/general-terms-and-conditions-of-use-of-the-prusa-websites_231226",
          "privacy": "https://www.prusa3d.com/page/privacy-policy_231258/",
          "statusPage": "",
          "changelog": "https://github.com/prusa3d/Prusa-Link/blob/master/ChangeLog",
          "securityTxt": "valid",
          "checked": "2026-11-03",
          "notes": [
            "The general terms and conditions of use of the Prusa websites apply from 20 April 2026 and name Prusa Research a.s. Article 9.1 forbids manual or automated extraction of website content including scraping, recorded as a fact; the GitHub repositories and the help centre were read, and help.prusa3d.com's robots.txt asks for 10 seconds between requests, which was kept.",
            "The privacy policy is in effect from 1 August 2022 with retention periods by service and a list of processors and group companies.",
            "www.prusa3d.com/.well-known/security.txt names security@prusa3d.com, expires 1 June 2027 and links the security policy page.",
            "status.prusa3d.com exists for Prusa's online services; it is not recorded for PrusaLink, which runs on the printer.",
            "RDAP gives prusa3d.com a registration date of 30 October 2013.",
            "pypi.org answered the PrusaLink project page with a script challenge, so the PyPI release list was not read."
          ],
          "score": 83
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/prusalink.json",
        "live": {
          "slug": "prusalink",
          "securityTxt": {
            "url": "https://prusa3d.com/.well-known/security.txt",
            "state": "valid",
            "expires": "2027-06-01T00:00:00.000Z",
            "checkedAt": "2026-11-04T15:53:25.511645444Z"
          },
          "updatedAt": "2026-11-04T15:53:25.511645444Z"
        }
      },
      {
        "slug": "autodesk-platform-services",
        "name": "Autodesk Platform Services",
        "vendor": "Autodesk",
        "vendorUrl": "https://aps.autodesk.com",
        "kind": "http-api",
        "category": "cad",
        "summary": "Autodesk Platform Services (APS, formerly Forge) is Autodesk's cloud API set. Its Automation API runs AutoCAD, Inventor, Revit, 3ds Max and Fusion headlessly on design files, beside Model Derivative, Data Management, OSS and Webhooks APIs under OAuth 2.0.",
        "url": "https://www.anchorterminal.com/tools/autodesk-platform-services",
        "markdownUrl": "https://www.anchorterminal.com/tools/autodesk-platform-services.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/autodesk-platform-services.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/autodesk-platform-services.json",
        "dns": "autodesk-platform-services.grade.anchorterminal.com",
        "repo": "https://github.com/autodesk-platform-services/aps-sdk-openapi",
        "transports": [],
        "packages": [
          {
            "registry": "npm",
            "name": "@aps_sdk/model-derivative"
          },
          {
            "registry": "npm",
            "name": "@aps_sdk/data-management"
          }
        ],
        "auth": "oauth",
        "authNotes": "OAuth 2.0 from the Authentication API v2, with two-legged client credentials for an app's own data, three-legged authorisation code for a user's data, with scopes such as data:read, data:write, data:create, bucket:create and code:all per the published OpenAPI specs, plus Secure Service Accounts for server workloads. An app is registered in the APS developer portal after an Autodesk account sign-in in a browser. The Design Automation reference pages did not render for our reader, so its scopes were not read.",
        "pricing": "usage",
        "pricingNotes": "Pricing is published on www.autodesk.com, whose robots.txt answered 403, so no price was read. The APS product pages link to a \"Compare pricing\" page and the blog's topic list names Cloud Credits; the per-operation rates for the Automation API and Model Derivative were not established. The developer portal describes a free trial and ADN membership for direct support without stating terms on the pages read.",
        "priceSummary": "Pay per use",
        "where": "local",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the seven OpenAPI specs of the aps-sdk-openapi repository, the product overview pages or the support page (checked 2026-11-03). Pricing pages on www.autodesk.com were not read.",
          "endpoints": []
        },
        "toolCount": 0,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://aps.autodesk.com/en/docs/design-automation/v3/developers_guide/overview/",
        "openapi": "https://github.com/autodesk-platform-services/aps-sdk-openapi",
        "capabilities": [
          "cad.generate",
          "cad.edit",
          "cad.export"
        ],
        "tags": [
          "hosted",
          "official",
          "closed-source",
          "oauth",
          "openapi",
          "enterprise",
          "status-page",
          "async-jobs",
          "typescript",
          "dotnet",
          "usage-priced"
        ],
        "lastRelease": "2026-09-16",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 44.3,
          "grade": "E",
          "agentReady": false,
          "rank": 1154,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 5,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 52,
            "maintenance": 53,
            "payments": 0,
            "reliability": 52,
            "schema": 59,
            "security": 47,
            "transparency": 34
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "low",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "OAuth 2.0 with scopes, public OpenAPI specs for six APIs and a status page with APS components make the platform callable by an agent that holds an app's credentials. The Automation API's own docs, quotas, pricing and terms sit on pages our reader could not load, so an agent must plan without published limits or rates.",
          "bestFor": "Agents that must process existing Autodesk files (Inventor, Revit, AutoCAD, Fusion) at scale with add-ins a team already has, or translate models for viewing.",
          "strengths": [
            "OAuth 2.0 with two-legged and three-legged flows, read and write scopes, and Secure Service Accounts, per the published Authentication v2 spec",
            "OpenAPI 3.0 specs with every operation described for Authentication, Data Management, Model Derivative, OSS, Webhooks and Construction, updated on 16 September 2026",
            "Five desktop engines run headlessly in the cloud, so an agent can drive Inventor, Revit, AutoCAD, 3ds Max or Fusion scripts without a workstation",
            "Status page lists APS components separately, with RSS and Atom history feeds",
            "Official SDKs on npm and NuGet, Stack Overflow tags, a fortnightly open expert call and paid ADN support"
          ],
          "weaknesses": [
            "The Design Automation v3 guide, reference, quotas and rate limits did not render for our reader, and no OpenAPI spec for it is published in the SDK repository",
            "Pricing, terms of service, privacy policy and the Autodesk MCP servers page live on www.autodesk.com, whose robots.txt answered 403",
            "No per-operation prices, free tier terms or SLA could be established from the pages read",
            "Workflows need an AppBundle, an Activity and a WorkItem per engine, with add-ins compiled for the desktop product before the first cloud run",
            "No llms.txt and no idempotency guidance were found"
          ],
          "agentNotes": [
            "Expect to hold an APS app's client id and secret, mint a two-legged token with the scopes the call needs, and refresh it; a person creates the app in the developer portal",
            "For the Automation API, the AppBundle (compiled add-in or script), Activity and WorkItem must exist before a job runs; the engine runs the add-in, so geometry edits are written in the desktop product's API, not in a request body",
            "Back off exponentially on 429, as the OSS spec asks, since no numeric limits were readable; check health.autodesk.com for the Automation API component before retrying failures",
            "Do not assume a price per job or translation; have the owner read the pricing page, which our reader could not",
            "Use data:read and read-only scopes for inspection tasks and ask the owner before data:write or bucket:delete, since no confirmation step is documented"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "low",
              "grade": "E",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 44.3
            }
          ],
          "editorialScores": {
            "ergonomics": 52,
            "maintenance": 53,
            "payments": 0,
            "reliability": 52,
            "schema": 59,
            "security": 47,
            "transparency": 10
          },
          "provenanceScore": 58,
          "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 -X POST https://developer.api.autodesk.com/authentication/v2/token -H \"Authorization: Basic $(printf '%s:%s' \"$APS_CLIENT_ID\" \"$APS_CLIENT_SECRET\" | base64)\" -d 'grant_type=client_credentials\u0026scope=data:read'"
        },
        "letme": {
          "capability": "https://letme.dev/cad.generate",
          "tool": "https://letme.dev/autodesk-platform-services"
        },
        "area": "design-diagrams",
        "provenance": {
          "legalEntity": "Autodesk, Inc.",
          "domain": "aps.autodesk.com",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "",
          "privacy": "",
          "statusPage": "https://health.autodesk.com/",
          "changelog": "https://github.com/autodesk-platform-services/aps-sdk-openapi/commits/main",
          "securityTxt": "unknown",
          "checked": "2026-11-03",
          "notes": [
            "Autodesk, Inc. is the vendor; the legal entity is taken from the Nasdaq listing recorded on Wikipedia, since www.autodesk.com (terms, privacy, legal notices) answered 403 to robots.txt and was not read.",
            "aps.autodesk.com/robots.txt allows the docs and product pages (Drupal defaults disallow admin and login paths). developer.api.autodesk.com/robots.txt disallows every path, so the API host was not fetched. health.autodesk.com disallows only /api/ and /embed/.",
            "aps.autodesk.com/.well-known/security.txt answered 406 to our reader, so its presence is unknown.",
            "Terms and privacy URLs are left empty because the documents could not be read; the policy reader should take them from www.autodesk.com when it can.",
            "The API endpoints are on developer.api.autodesk.com, an Autodesk domain."
          ],
          "score": 58
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/autodesk-platform-services.json",
        "live": {
          "slug": "autodesk-platform-services",
          "vendorStatus": {
            "page": "https://health.autodesk.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-11-04T18:56:31.650657051Z"
          },
          "securityTxt": {
            "url": "https://aps.autodesk.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:53:19.119162941Z"
          },
          "updatedAt": "2026-11-04T18:56:31.650657051Z"
        }
      },
      {
        "slug": "simscale",
        "name": "SimScale",
        "vendor": "SimScale GmbH",
        "vendorUrl": "https://www.simscale.com",
        "kind": "http-api",
        "category": "cad",
        "summary": "SimScale is a cloud engineering simulation platform from SimScale GmbH in Munich. Its REST API imports geometry, builds meshes, sets up and runs fluid, structural and thermal simulations and exports results, with Python and C# SDKs, on the Enterprise plan.",
        "url": "https://www.anchorterminal.com/tools/simscale",
        "markdownUrl": "https://www.anchorterminal.com/tools/simscale.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/simscale.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/simscale.json",
        "dns": "simscale.grade.anchorterminal.com",
        "repo": "https://github.com/SimScaleGmbH/simscale-python-sdk",
        "transports": [],
        "packages": [],
        "auth": "api-key",
        "authNotes": "An API key per user sent in the X-API-KEY header, issued to Enterprise plan customers; the SDK README asks prospective development partners to write to api@simscale.com. No scopes, expiry or rotation were documented. A sandbox at the /sandbox prefix accepts the fixed key `sandbox-example-api-key` and returns example data for every endpoint without creating anything.",
        "pricing": "paid",
        "pricingNotes": "API access is part of the paid Enterprise plan, priced on request with custom users, core hours and instances. Mechanical and Professional plans are also on request (3,000 and 10,000 core hours). The Community plan is free with 2,000 core hours and 10 unrestricted simulations but no API. No price is published and the pages read do not say whether a card is needed; subscriptions can be paid by purchase order or invoice.",
        "priceSummary": "Paid",
        "where": "local",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the v0 or v1 OpenAPI documents, the SDK README, the pricing page or the terms (checked 2026-11-03).",
          "endpoints": []
        },
        "toolCount": 0,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://www.simscale.com/docs/platform/api-and-sdk-documentation/",
        "openapi": "https://api.simscale.com/v0/openapi.json",
        "capabilities": [
          "cad.simulate",
          "cad.export"
        ],
        "tags": [
          "hosted",
          "official",
          "closed-source",
          "paid",
          "sales-led",
          "api-key",
          "openapi",
          "sandbox",
          "python",
          "dotnet",
          "soc2",
          "bug-bounty",
          "security-txt",
          "eu",
          "eu-region",
          "no-status-page",
          "enterprise",
          "async-jobs"
        ],
        "lastRelease": "2026-03-03",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 41,
          "grade": "E",
          "agentReady": false,
          "rank": 1203,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 6,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 55,
            "maintenance": 33,
            "payments": 10,
            "reliability": 15,
            "schema": 71,
            "security": 44,
            "transparency": 65
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "Public OpenAPI documents for v0 and the v1 beta, a keyless sandbox that answers every endpoint with example data, and official Python and C# SDKs let an agent plan a simulation before anyone signs a contract. Running one needs an Enterprise API key priced on request, with no status page, no published rate limits and SDK releases eight months old.",
          "bestFor": "An enterprise engineering team that wants an agent to automate CFD, FEA or thermal studies on a platform it already licenses, with a sandbox for development.",
          "strengths": [
            "OpenAPI 3.0.3 for v0 (98 operations) and the v1 beta (163 operations), with separately versioned simulation and meshing schemas selectable by query parameter",
            "Sandbox under /sandbox with a fixed public key that returns example data for every endpoint and starts nothing",
            "Official Python and C# SDKs generated from the document, with v1 editions named",
            "SOC 2 Type II, a public Intigriti bug bounty with the API in scope, and a security.txt",
            "Customers keep ownership of designs, simulations and results, and production runs on AWS in EU regions per the privacy statement"
          ],
          "weaknesses": [
            "API keys come only with the Enterprise plan, priced on request, and the SDK asks would-be integrators to email api@simscale.com",
            "No status page, no SLA on any plan, and no rate limit or Retry-After documented beyond a single 429 response in the spec",
            "One API key per user with no scopes, documented expiry or rotation",
            "The Python SDK's newest release is 19.1.0 of 3 March 2026 and the SDK repository has no CI",
            "API-created simulations may be locked out of the Workbench when schema versions diverge, and 10 of 98 v0 operations have no description"
          ],
          "agentNotes": [
            "Develop against https://api.simscale.com/v0/sandbox with X-API-KEY: sandbox-example-api-key, which returns example data and runs nothing; real keys need an Enterprise plan the owner must arrange",
            "Follow the geometry import flow in order, requesting a storage location, uploading the file, creating the import, polling its event log, then listing the geometries valid for setup",
            "Pin simulationSpecSchemaVersion and meshingSpecSchemaVersion when fetching the OpenAPI document, since spec schemas change more often than the API and a mismatch locks the Workbench",
            "Treat v1 as beta and build on v0 unless the owner wants v1, and read the migration guide in a browser, since it rendered empty for our reader",
            "No rate limit is published, so space out polling of run status and back off on 429; the terms allow SimScale to impose traffic limits without notice"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 41
            }
          ],
          "editorialScores": {
            "ergonomics": 55,
            "maintenance": 33,
            "payments": 10,
            "reliability": 15,
            "schema": 71,
            "security": 44,
            "transparency": 61
          },
          "provenanceScore": 69,
          "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 \"X-API-KEY: sandbox-example-api-key\" https://api.simscale.com/v0/sandbox/projects"
        },
        "letme": {
          "capability": "https://letme.dev/cad.simulate",
          "tool": "https://letme.dev/simscale"
        },
        "area": "design-diagrams",
        "provenance": {
          "legalEntity": "SimScale GmbH",
          "domain": "simscale.com",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://www.simscale.com/terms-and-conditions/",
          "privacy": "https://www.simscale.com/legal/data-privacy",
          "statusPage": "",
          "changelog": "https://github.com/SimScaleGmbH/simscale-python-sdk/releases",
          "securityTxt": "valid",
          "checked": "2026-11-03",
          "notes": [
            "SimScale GmbH is named in the terms and conditions (version July 2023, German law, Munich venue), the imprint (HRB 201813) and the data privacy statement (version November 2025, whose section 14 still says July 2023).",
            "Clause 3.5(g) of the terms forbids scraping or building databases from the Services, and clause 4.2 makes API access conditional on express permission in the agreement. Recorded as facts; www.simscale.com/robots.txt blocks six named bots and admin paths only, and api.simscale.com has no robots.txt.",
            "security.txt at www.simscale.com/.well-known/security.txt names the Intigriti programme and security@simscale.com as contacts and the programme as policy, with no Expires line.",
            "No status page was found, since status.simscale.com has no DNS record and no status link appears on the site, the docs hub or the API document.",
            "The API lives on api.simscale.com, a SimScale domain. The API changelog and migration pages at api.simscale.com/apidoc/v1/ render by script and were not read."
          ],
          "score": 69
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/simscale.json",
        "live": {
          "slug": "simscale",
          "securityTxt": {
            "url": "https://simscale.com/.well-known/security.txt",
            "state": "valid",
            "checkedAt": "2026-11-04T15:53:15.153089946Z"
          },
          "updatedAt": "2026-11-04T15:53:15.153089946Z"
        }
      },
      {
        "slug": "ntop",
        "name": "nTop",
        "vendor": "nTopology Inc.",
        "vendorUrl": "https://www.ntop.com",
        "kind": "sdk",
        "category": "cad",
        "summary": "nTop is nTopology's computational design software for implicit geometry, lattices and simulation-driven parts. nTop Automate runs a notebook headlessly from the ntopcl command line with JSON in and out under a paid licence; a beta Python package reads implicit bodies.",
        "url": "https://www.anchorterminal.com/tools/ntop",
        "markdownUrl": "https://www.anchorterminal.com/tools/ntop.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ntop.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ntop.json",
        "dns": "ntop.grade.anchorterminal.com",
        "transports": [
          "streamable-http"
        ],
        "remoteUrl": "https://docs.ntop.com/mcp",
        "packages": [],
        "auth": "mixed",
        "authNotes": "A licence, not an API key. ntopcl runs on a machine with nTop installed and signs in with cloud licence credentials (`ntopcl --username \u003cemail\u003e --password \u003cpassword\u003e`), a FlexNet floating licence server (`ntopcl --license PORT@HOSTNAME`) or a local .lic file. nTop Automate is a separate licence from the desktop seat, checked in the user dashboard at app.ntop.com. The nTop Core Python package is downloaded from app.ntop.com/addons behind the same login. The hosted docs MCP server at docs.ntop.com/mcp documents no authentication.",
        "pricing": "paid",
        "pricingNotes": "No price is published. Licences are per-user subscriptions sold through nTop, with cloud, cloud floating, on-premises FlexNet and local options, and nTop Automate licensed separately; the EULA of February 2026 limits use to one person at a time and bars servers and distributed systems unless the order form allows them. Educational licences exist; no trial terms were found on the pages read.",
        "priceSummary": "Paid",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 anywhere in the nTop docs, the Automate articles, the EULA or the MCP server article (checked 2026-11-03). The software is licensed, not metered.",
          "endpoints": []
        },
        "toolCount": 2,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://docs.ntop.com/lessons/intro-to-ntop-automate/what-you-will-need",
        "capabilities": [
          "cad.generate",
          "cad.export",
          "cad.simulate"
        ],
        "tags": [
          "local",
          "official",
          "closed-source",
          "paid",
          "sales-led",
          "cli",
          "python",
          "beta",
          "mcp",
          "remote-mcp",
          "read-only-mode",
          "enterprise",
          "no-status-page"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 40.2,
          "grade": "E",
          "agentReady": false,
          "rank": 1214,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 7,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 60,
            "maintenance": 45,
            "payments": 0,
            "reliability": 38,
            "schema": 61,
            "security": 26,
            "transparency": 51
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "low",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "An agent on a licensed Windows machine can run any nTop notebook headlessly through ntopcl with JSON in and out, and the beta Python package reads the resulting implicit bodies. Nothing is callable without a paid per-user licence, no price is public, the EULA bars servers without an order form, and licence credentials go on the command line.",
          "bestFor": "An engineering team that already runs nTop and wants an agent to drive design-of-experiments loops over a notebook or read exported implicit bodies in Python.",
          "strengths": [
            "ntopcl runs a whole notebook headlessly with a JSON input file and a JSON output file, and writes both templates from the notebook with `-t`",
            "The nTop Core Python package has a typed, NumPy-native API with builtin exceptions for field evaluation, meshing, slicing and voxelising implicit bodies",
            "A hosted MCP server over the docs with shell-style search (rg, head, cat) lets an agent read nTop's documentation without a licence",
            "Docs are served as Markdown with a .md suffix, and robots.txt on docs.ntop.com allows AI readers",
            "Release notes per version and a knowledge base of Automate articles on debugging, logging and design-of-experiments loops in Python"
          ],
          "weaknesses": [
            "Every geometry call needs nTop installed on Windows with a paid Automate licence; the Core package is beta, behind a login and not on PyPI",
            "No published price, trial terms, status page, security.txt, bug bounty or public issue tracker",
            "The EULA counts servers and distributed systems as unauthorised devices unless the order form allows them, which rules out most agent hosts",
            "ntopcl signs in with a username and password on the command line, with no scoped or revocable token",
            "Release notes carry no dates and support.ntop.com answers 403 to readers"
          ],
          "agentNotes": [
            "Only plan to call nTop from a Windows machine where nTop is installed and an Automate licence is signed in; there is no hosted geometry API, and running on a server needs an order form",
            "Run `ntopcl -t \u003cnotebook.ntop\u003e` first to get the input and output JSON templates, fill the inputs, then run the notebook with the input and output file paths; the Python helper ntopcl.py wraps the three calls",
            "Keep licence credentials out of prompts and logs: pass `--license PORT@HOSTNAME` for a floating server or a local .lic file rather than a username and password where the owner has one",
            "Treat the nTop Core package as beta; pin the version, since breaking changes may land between any two versions, and work in metres",
            "Use the docs MCP server (search first, then rg or head on the returned path with .mdx) to answer nTop questions; it reads only documentation and caps output at 30 KB"
          ],
          "metrics": {
            "kind": "local",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "low",
              "grade": "E",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 40.2
            }
          ],
          "editorialScores": {
            "ergonomics": 60,
            "maintenance": 45,
            "payments": 0,
            "reliability": 38,
            "schema": 61,
            "security": 26,
            "transparency": 37
          },
          "provenanceScore": 64,
          "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": {
          "install": "ntopcl -t my-notebook.ntop",
          "config": {
            "mcpServers": {
              "ntop-docs": {
                "url": "https://docs.ntop.com/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/cad.generate",
          "tool": "https://letme.dev/ntop"
        },
        "area": "design-diagrams",
        "provenance": {
          "legalEntity": "nTopology Inc.",
          "domain": "ntop.com",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://www.ntop.com/eula/",
          "privacy": "https://www.ntop.com/privacy-policy/",
          "statusPage": "",
          "changelog": "https://docs.ntop.com/Product-Documentation/ntop/release-notes",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "nTopology Inc., a Delaware corporation, is named in the EULA, the terms of use and the privacy policy, all last updated February 2026, under New York law with JAMS arbitration.",
            "Section 13(b) of the terms of use forbids accessing the site through bots, scripts or scraping. Recorded as a fact. ntop.com/robots.txt disallows nothing; docs.ntop.com/robots.txt disallows only /cdn-cgi/ and /_next/ and carries Content-Signal ai-train=yes, search=yes, ai-input=yes.",
            "support.ntop.com (Zendesk) answered 403 to every request, so the audit's lead article was read from its mirror on docs.ntop.com.",
            "www.ntop.com/.well-known/security.txt answered 404. status.ntop.com has no DNS record.",
            "The EULA is listed as the terms because it governs the software an agent would run; the website terms of use are at https://www.ntop.com/terms-of-use/."
          ],
          "score": 64
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/ntop.json",
        "live": {
          "slug": "ntop",
          "probe": {
            "target": "https://docs.ntop.com/mcp",
            "method": "mcp-initialize",
            "lastAt": "2026-11-04T19:03:59.212400928Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 349,
            "lastNote": "initialize answered",
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 262,
            "p95ms24h": 520,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "securityTxt": {
            "url": "https://ntop.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:53:29.976435108Z"
          },
          "updatedAt": "2026-11-04T19:03:59.212400928Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/cad",
    "json": "https://www.anchorterminal.com/categories/cad.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/cad.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/categories/cad.min.md"
  },
  "markdown": "Services where an agent makes and edits mechanical geometry, runs an engineering simulation, drives a 3D printer or orders a machined or printed part. Different from 3D worlds, which make scenes to look at. Compared on what geometry an agent can create and change, export formats, simulation access, how a print or an order is placed and what a licence costs.\n\n- Tools ranked: 7 · agent-ready (BB or better): 0 · accept x402: 0 · hosted endpoints: 3 · desk reviews by the panel: 0\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Shortlist and picks by need: https://www.anchorterminal.com/best/cad/index.md\n- Head-to-head comparisons (15): https://www.anchorterminal.com/compare/cad/index.md\n- Capabilities in this category: cad.generate, cad.edit, cad.export, cad.simulate, cad.print, cad.manufacture\n- https://letme.dev/cad.generate picks the top-graded tool in this list and says how to call it direct (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 630 | Adam | Adam AI Labs, Inc. | MCP server | CAD | C | 59.4 | medium | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/adam-cad.md |\n| 669 | Zoo | Zoo Corporation | HTTP API | CAD | C | 58.7 | medium | no | OAuth or key | local | none | https://www.anchorterminal.com/tools/zoo.md |\n| 820 | Onshape | PTC | HTTP API | CAD | C | 55.7 | medium | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/onshape.md |\n| 1036 | PrusaLink | Prusa Research a.s. | HTTP API | CAD | D | 49.4 | medium | no | OAuth or key | local | none | https://www.anchorterminal.com/tools/prusalink.md |\n| 1154 | Autodesk Platform Services | Autodesk | HTTP API | CAD | E | 44.3 | low | no | OAuth | local | none | https://www.anchorterminal.com/tools/autodesk-platform-services.md |\n| 1203 | SimScale | SimScale GmbH | HTTP API | CAD | E | 41 | medium | no | API key | local | none | https://www.anchorterminal.com/tools/simscale.md |\n| 1214 | nTop | nTopology Inc. | SDK + MCP | CAD | E | 40.2 | low | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/ntop.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 630. Adam, C (59.4)\n\nAdam 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. 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- Page: https://www.anchorterminal.com/tools/adam-cad · Markdown: https://www.anchorterminal.com/tools/adam-cad.md · JSON: https://www.anchorterminal.com/api/v1/tools/adam-cad.json\n- Capabilities: cad.generate, cad.edit, cad.export, cad.simulate · endpoint: `https://adam.new/mcp`\n\n### 669. Zoo, C (58.7)\n\nZoo is a hosted CAD platform from Zoo Corporation with a REST API, the Zookeeper design agent over a websocket, file conversion and analysis endpoints, a CLI and a local MCP server, all built on its KCL modelling language. 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.\n\n- Page: https://www.anchorterminal.com/tools/zoo · Markdown: https://www.anchorterminal.com/tools/zoo.md · JSON: https://www.anchorterminal.com/api/v1/tools/zoo.json\n- Capabilities: cad.generate, cad.edit, cad.export\n\n### 820. Onshape, C (55.7)\n\nOnshape 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. 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- Page: https://www.anchorterminal.com/tools/onshape · Markdown: https://www.anchorterminal.com/tools/onshape.md · JSON: https://www.anchorterminal.com/api/v1/tools/onshape.json\n- Capabilities: cad.edit, cad.generate, cad.export · endpoint: `https://fs-mcp.labs.onshape.app/mcp`\n\n### 1036. PrusaLink, D (49.4)\n\nPrusaLink is Prusa Research's local web interface and HTTP API for Original Prusa 3D printers, built into current models or run on a Raspberry Pi. It reports status, uploads files and starts, pauses and stops prints over the local network. An agent on the same network can read printer status, upload G-code and start, pause or stop a print through a documented OpenAPI surface with one credential per printer. The spec is a 2024 draft, the Pi edition's last release is July 2024 with 102 open issues, and there is no read-only mode, pagination or SDK.\n\n- Page: https://www.anchorterminal.com/tools/prusalink · Markdown: https://www.anchorterminal.com/tools/prusalink.md · JSON: https://www.anchorterminal.com/api/v1/tools/prusalink.json\n- Capabilities: cad.print\n\n### 1154. Autodesk Platform Services, E (44.3)\n\nAutodesk Platform Services (APS, formerly Forge) is Autodesk's cloud API set. Its Automation API runs AutoCAD, Inventor, Revit, 3ds Max and Fusion headlessly on design files, beside Model Derivative, Data Management, OSS and Webhooks APIs under OAuth 2.0. OAuth 2.0 with scopes, public OpenAPI specs for six APIs and a status page with APS components make the platform callable by an agent that holds an app's credentials. The Automation API's own docs, quotas, pricing and terms sit on pages our reader could not load, so an agent must plan without published limits or rates.\n\n- Page: https://www.anchorterminal.com/tools/autodesk-platform-services · Markdown: https://www.anchorterminal.com/tools/autodesk-platform-services.md · JSON: https://www.anchorterminal.com/api/v1/tools/autodesk-platform-services.json\n- Capabilities: cad.generate, cad.edit, cad.export\n\n### 1203. SimScale, E (41)\n\nSimScale is a cloud engineering simulation platform from SimScale GmbH in Munich. Its REST API imports geometry, builds meshes, sets up and runs fluid, structural and thermal simulations and exports results, with Python and C# SDKs, on the Enterprise plan. Public OpenAPI documents for v0 and the v1 beta, a keyless sandbox that answers every endpoint with example data, and official Python and C# SDKs let an agent plan a simulation before anyone signs a contract. Running one needs an Enterprise API key priced on request, with no status page, no published rate limits and SDK releases eight months old.\n\n- Page: https://www.anchorterminal.com/tools/simscale · Markdown: https://www.anchorterminal.com/tools/simscale.md · JSON: https://www.anchorterminal.com/api/v1/tools/simscale.json\n- Capabilities: cad.simulate, cad.export\n\n### 1214. nTop, E (40.2)\n\nnTop is nTopology's computational design software for implicit geometry, lattices and simulation-driven parts. nTop Automate runs a notebook headlessly from the ntopcl command line with JSON in and out under a paid licence; a beta Python package reads implicit bodies. An agent on a licensed Windows machine can run any nTop notebook headlessly through ntopcl with JSON in and out, and the beta Python package reads the resulting implicit bodies. Nothing is callable without a paid per-user licence, no price is public, the EULA bars servers without an order form, and licence credentials go on the command line.\n\n- Page: https://www.anchorterminal.com/tools/ntop · Markdown: https://www.anchorterminal.com/tools/ntop.md · JSON: https://www.anchorterminal.com/api/v1/tools/ntop.json\n- Capabilities: cad.generate, cad.export, cad.simulate · endpoint: `https://docs.ntop.com/mcp`\n\n## How we test this category\n\nIn this run, public evidence against the published checklist. When the task suites run, the same bracket described in words to each listing that makes geometry, the model exported as STEP and checked for its holes and dimensions, then one part quoted or one print queued where the API allows. We check the geometry, the export, the quote and what it took to get a key. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "CAD, engineering \u0026 fabrication",
        "url": ""
      }
    ],
    "description": "7 CAD, engineering \u0026 fabrication listings ranked by the Anchor benchmark. Leader Adam (C). Services where an agent makes and edits mechanical geometry, runs an engineering simulation, drives a 3D printer or orders a machined or printed part. Different from 3D worlds, which make scenes to look at. Compared on what geometry an agent can create and change, export formats, simulation access, how a print or an order is placed and what a licence costs.",
    "facts": [
      "Adam C",
      "Zoo C",
      "Onshape C"
    ],
    "h1": "CAD, simulation and fabrication APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-cad.png",
    "path": "/categories/cad",
    "published": "",
    "section": "tools",
    "title": "CAD, simulation and fabrication APIs for AI agents, ranked",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/categories/cad"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 430
  },
  "version": 1
}
