{
  "data": {
    "a": {
      "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"
      }
    },
    "answer": "Zoo scores 58.7 (C) on agent readiness against SimScale's 41 (E), and leads in 5 of 7 scored categories. SimScale leads on schema \u0026 documentation and agent ergonomics.",
    "b": {
      "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"
      }
    },
    "edges": [
      {
        "by": 57,
        "category": "maintenance",
        "leads": "zoo",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service with open SDK sources. The Python SDK's newest release is 19.1.0 of 3 March 2026, 245 days before the check, and the v1 document carries no date (5 of 30, for a change in the window being likely from the v1 beta but unproven). Ten SDK releases from February 2025 to March 2026 and none since (0 of 20). api@simscale.com, support@simscale.com and a community forum; response times were not tested and the SDK repository has no issue activity we could read (10 of 15). Official Python and C# SDKs, with v1 editions, generated from the document (15). The SDK repository has no CI workflow and pins the document version at 0.0.0 (3 of 10). 5 + 0 + 10 + 15 + 3 = 33.",
          "b": "Read for a hosted service with open-source clients. zoo-mcp v0.33.0 on 30 October 2026, the CLI v0.2.209 on 28 October and kittycad 1.8.0 on 15 October (30). Nine zoo-mcp tags from 24 to 30 October alone, with CLI and SDK releases through October (20). Commits land daily across the KittyCAD organisation, with a Discord and a community forum; issue response times were not read because GitHub's issue pages refused us (15 of 25). io.github.KittyCAD/zoo-mcp is in the official MCP registry under a GitHub-verified namespace, though at version 0.10.0 of 27 January 2026 (15). pytest across Python 3.11 to 3.14, ruff, ty, a security workflow and Dependabot, with the scheduled run on main passing on 3 November (10). 30 + 20 + 15 + 15 + 10 = 90."
        },
        "scores": {
          "a": 33,
          "b": 90
        }
      },
      {
        "by": 40,
        "category": "reliability",
        "leads": "zoo",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines on api.simscale.com. No status page, since status.simscale.com has no DNS record and none is linked from the site, the docs hub or the API document (0). No readable incident history (5). No rate limit with a number; the terms reserve the right to impose rate or traffic limits and the v0 document mentions a 429 response once (0). No Retry-After, backoff guidance or idempotency keys; runs can be cancelled (0). No SLA, and the terms say SimScale cannot warrant uninterrupted availability with Free plans carrying no availability obligation (0). /v0 is the generally available version; /v1 is in beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.",
          "b": "Read with the hosted lines on api.zoo.dev. A Better Stack status page at status.zoo.dev lists public and internal components with uptime figures (20). Its incident pages show no incidents for September, October and November 2026; the June to August archive didn't render for our reader, so about three weeks of the 90-day window are unread (25 of 30). No rate limit with a number was found in the OpenAPI document, the API docs, the FAQ or the MCP source (0). No Retry-After or backoff guidance and no idempotency keys; the document says only that cancellation is idempotent (3 of 15). No SLA on any plan, and the terms disclaim uninterrupted service (0). The REST API and Zookeeper are not labelled beta, while POST /ml/kcl/completions carries the `beta` tag and zoo-mcp declares the Beta classifier (7 of 10). 20 + 25 + 0 + 3 + 0 + 7 = 55."
        },
        "scores": {
          "a": 15,
          "b": 55
        }
      },
      {
        "by": 25,
        "category": "payments",
        "leads": "zoo",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No price is published; Mechanical, Professional and Enterprise are on request and the Community plan carries no API (0). The sandbox with its fixed public key lets an agent exercise every endpoint without an account or card, though it runs nothing, and the free Community plan has no API; read as a partial free route (10 of 20). An API key comes with an Enterprise contract arranged by people (0). 0 + 0 + 10 + 0 = 10.",
          "b": "No x402, MPP or L402 (0). The per-second rate ($0.0083) and plan allowances are public in the pricing JSON the site loads and on the blog, with the FAQ stating rounding and free GETs (20). The Free plan carries $10 of usage a month with no plan fee; whether sign-up asks for a card was not established, and pay-as-you-go needs a payment method (15 of 20). A person signs in with SSO in a browser and mints the token; service accounts come only after an organisation exists (0). 0 + 20 + 15 + 0 = 35."
        },
        "scores": {
          "a": 10,
          "b": 35
        }
      },
      {
        "by": 23,
        "category": "security",
        "leads": "zoo",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One API key per user in the X-API-KEY header, with no scopes, documented expiry, rotation or revocation; the SDK reads it from an environment variable (10 of 30). Project and space permission endpoints exist and the sandbox cannot change data, but no read-only key or confirmation step for deletes was found (8 of 20). The API returns the owner's own geometry and results and no third-party content, so there is little untrusted content to inject (10 of 15). No audit log or per-call visibility found on the pages read (0 of 15). SOC 2 Type II by Prescient Assurance, a public Intigriti bug bounty with the API in scope, security.txt and AES encryption (16 of 20). 10 + 8 + 10 + 0 + 16 = 44.",
          "b": "Bearer API tokens minted in the account, several per user, listed and deleted at /user/api-tokens, organisation service accounts on Team and Enterprise, and OAuth 2.0 apps with PKCE and a device grant; no scopes were found on tokens and no rotation guidance (22 of 30). No read-only token or MCP subset; the Team plan's admin console and auditing give oversight after the fact, and the MCP client's own file permissions govern writes to main.kcl (8 of 20). Zookeeper carries a web_search tool and the MCP server returns KCL samples and docs, with no prompt-injection guidance found (5 of 15). Organisation admins get an API activity log and /user/api-calls lists each call with its cost (12 of 15). security.txt with a GitHub advisory contact and a policy committing to a 72-hour reply and severity-based rewards, SOC 2 Type II on the trust centre, and two Trail of Bits reviews published in 2024 and 2026 (20 of 20). 22 + 8 + 5 + 12 + 20 = 67."
        },
        "scores": {
          "a": 44,
          "b": 67
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "simscale",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "List endpoints page with limit and page parameters and results are fetched per run and per export rather than whole (15 of 25). Pagination on lists and filters on some, such as valid geometries only (15 of 20). Typed error responses by status code; message shapes were not read in detail and the v1 error format page rendered empty (10 of 20). No idempotency keys; runs are asynchronous with event logs and cancel, so a retry can start a second run (5 of 20). Official Python and C# SDKs cover the surface, but a simulation setup needs a full Simulation Spec object with many required fields and a matching schema version (10 of 15). 15 + 15 + 10 + 5 + 10 = 55.",
          "b": "zoo-mcp lists 42 tools in one process with no toolset switch, read-only subset or dynamic loading, and their docstrings total about 30,000 characters (5 of 25). List endpoints take `limit`, `page_token` and `sort_by` (31 paginated operations), with no field selection or filtering (15 of 20). Errors are a generic object with a message and request_id, no error codes, and MCP tools return a string on failure (8 of 20). No idempotency keys, no readOnlyHint or destructiveHint in the tool source, and the websocket needs a ping every 5 seconds to stay open (4 of 20). Few required parameters, official SDKs in Python, TypeScript, Rust and Go, but one modeling session per MCP process and a websocket protocol an agent has to drive by hand (12 of 15). 5 + 15 + 8 + 4 + 12 = 44."
        },
        "scores": {
          "a": 55,
          "b": 44
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "simscale",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.0.3 documents for /v0 (98 operations) and /v1 (163 operations), with the simulation and meshing schema versions selectable by query parameter (25). No llms.txt and no Markdown docs; the API docs are Swagger UI and script-rendered pages (0). The introduction explains the sandbox, versioning and Workbench compatibility, and operations carry one-line summaries, but 10 of the 98 v0 operations have no description and the guides for v1 rendered empty (12 of 20). 2,112 schemas with 355 enum lists, required fields and a typed security scheme (13 of 15). The sandbox answers every endpoint with example data, which stands in for examples, and responses are typed for 400, 403, 404, 409, 422 and 429 (11 of 15). Path versions v0 and v1 with a migration guide and changelog for v1, and dated SDK releases, though the changelog page itself rendered empty (10 of 15). 25 + 0 + 12 + 13 + 11 + 10 = 71.",
          "b": "OpenAPI 3.0.3 served at the root of api.zoo.dev, 174 paths and 226 operations each with a summary, and MCP tools whose inputs are typed Python signatures that the SDK turns into JSON Schema (25). No llms.txt (404) and no Markdown twin of the docs (0). The MCP docstrings average about 725 characters and say what each tool is for and when to use another, with snapshot at 3,500 characters; the OpenAPI summaries are one line and the websocket page lists one client message type (14 of 20). 583 schemas with 976 enum lists and required fields, and the file conversion path takes typed format parameters (12 of 15). Each docs endpoint page carries a request example, but errors are one generic object with request_id and message, and the websocket's server messages are not enumerated in the docs (9 of 15). The document reports version 0.1.0, there is no API changelog page, and changes are announced per repository release or on the blog, as the per-second billing change of 30 September 2025 was (5 of 15). 25 + 0 + 14 + 12 + 9 + 5 = 65."
        },
        "scores": {
          "a": 71,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "SimScale GmbH",
        "b": "Zoo Corporation",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "0",
        "b": "42",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.KittyCAD/zoo-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-03-03",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-04-15",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-09-09",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "11 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Zoo scores 58.7 (C) on agent readiness against SimScale's 41 (E), and leads in 5 of 7 scored categories. SimScale leads on schema \u0026 documentation and agent ergonomics.",
        "question": "Which is better for AI agents, SimScale or Zoo?"
      },
      {
        "answer": "SimScale needs an API key. Zoo takes an API key or an OAuth sign-in.",
        "question": "Do SimScale and Zoo need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for SimScale. Zoo runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call SimScale and Zoo without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 71 against 65",
          "Agent ergonomics, 55 against 44"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "simscale",
        "watchFor": "API keys come only with the Enterprise plan, priced on request, and the SDK asks would-be integrators to email api@simscale.com"
      },
      {
        "aheadOn": [
          "Reliability, 55 against 15",
          "Security \u0026 auth, 67 against 44",
          "Payments \u0026 pricing, 35 against 10",
          "Maintenance \u0026 community, 90 against 33"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.",
        "slug": "zoo",
        "watchFor": "No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket"
      }
    ],
    "history": null,
    "job": {
      "capability": "cad.export",
      "name": "Cad export"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-zoo.json",
        "title": "Adam vs Zoo",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.json",
        "title": "Autodesk Platform Services vs Zoo",
        "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ntop-vs-zoo.json",
        "title": "nTop vs Zoo",
        "url": "https://www.anchorterminal.com/compare/ntop-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-simscale.json",
        "title": "Autodesk Platform Services vs SimScale",
        "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/onshape-vs-simscale.json",
        "title": "Onshape vs SimScale",
        "url": "https://www.anchorterminal.com/compare/onshape-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-simscale.json",
        "title": "Adam vs SimScale",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ntop-vs-simscale.json",
        "title": "nTop vs SimScale",
        "url": "https://www.anchorterminal.com/compare/ntop-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/onshape-vs-zoo.json",
        "title": "Onshape vs Zoo",
        "url": "https://www.anchorterminal.com/compare/onshape-vs-zoo"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 40,
        "edge": "zoo",
        "key": "reliability",
        "name": "Reliability",
        "simscale": 15,
        "weight": 16,
        "zoo": 55
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "simscale",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "simscale": 71,
        "weight": 13,
        "zoo": 65
      },
      {
        "by": 11,
        "edge": "simscale",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "simscale": 55,
        "weight": 13,
        "zoo": 44
      },
      {
        "by": 23,
        "edge": "zoo",
        "key": "security",
        "name": "Security \u0026 auth",
        "simscale": 44,
        "weight": 14,
        "zoo": 67
      },
      {
        "by": 25,
        "edge": "zoo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "simscale": 10,
        "weight": 10,
        "zoo": 35
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 57,
        "edge": "zoo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "simscale": 33,
        "weight": 7,
        "zoo": 90
      },
      {
        "by": 4,
        "edge": "zoo",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "simscale": 65,
        "weight": 7,
        "zoo": 69
      }
    ],
    "summary": "Zoo scores 58.7 (C) on agent readiness against SimScale's 41 (E), and leads in 5 of 7 scored categories. SimScale leads on schema \u0026 documentation and agent ergonomics. Both do cad export.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "simscale": "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.",
      "zoo": "A public OpenAPI document, SDKs in four languages, a 42-tool MCP server and a $10 monthly allowance let an agent generate KCL geometry and export STEP without a contract. No rate limits, retry guidance or scoped tokens are documented, the MCP server has no read-only subset, and the Free plan's data trains Zoo's models with no opt-out."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/simscale-vs-zoo",
    "json": "https://www.anchorterminal.com/compare/simscale-vs-zoo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/simscale-vs-zoo.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/simscale-vs-zoo.min.md"
  },
  "markdown": "Zoo scores 58.7 (C) on agent readiness against SimScale's 41 (E), and leads in 5 of 7 scored categories. SimScale leads on schema \u0026 documentation and agent ergonomics. Both do cad export.\n\n- SimScale: grade E, 41/100, rank #1203 of 1349. Markdown https://www.anchorterminal.com/tools/simscale.md · JSON https://www.anchorterminal.com/api/v1/tools/simscale.json\n- Zoo: grade C, 58.7/100, rank #669 of 1349. Markdown https://www.anchorterminal.com/tools/zoo.md · JSON https://www.anchorterminal.com/api/v1/tools/zoo.json\n- Best CAD, simulation and fabrication APIs for AI agents: https://www.anchorterminal.com/best/cad/index.md\n- All 15 cad comparisons: https://www.anchorterminal.com/compare/cad/index.md\n\n## Which one, for what\n\n### SimScale (E)\n\nGood for: 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.\n\nAhead on:\n- Schema \u0026 documentation, 71 against 65\n- Agent ergonomics, 55 against 44\n\nWatch for: API keys come only with the Enterprise plan, priced on request, and the SDK asks would-be integrators to email api@simscale.com\n\n### Zoo (C)\n\nGood for: Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.\n\nAhead on:\n- Reliability, 55 against 15\n- Security \u0026 auth, 67 against 44\n- Payments \u0026 pricing, 35 against 10\n- Maintenance \u0026 community, 90 against 33\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Zoo +57\n\n- SimScale (33): Read for a closed service with open SDK sources. The Python SDK's newest release is 19.1.0 of 3 March 2026, 245 days before the check, and the v1 document carries no date (5 of 30, for a change in the window being likely from the v1 beta but unproven). Ten SDK releases from February 2025 to March 2026 and none since (0 of 20). api@simscale.com, support@simscale.com and a community forum; response times were not tested and the SDK repository has no issue activity we could read (10 of 15). Official Python and C# SDKs, with v1 editions, generated from the document (15). The SDK repository has no CI workflow and pins the document version at 0.0.0 (3 of 10). 5 + 0 + 10 + 15 + 3 = 33.\n- Zoo (90): Read for a hosted service with open-source clients. zoo-mcp v0.33.0 on 30 October 2026, the CLI v0.2.209 on 28 October and kittycad 1.8.0 on 15 October (30). Nine zoo-mcp tags from 24 to 30 October alone, with CLI and SDK releases through October (20). Commits land daily across the KittyCAD organisation, with a Discord and a community forum; issue response times were not read because GitHub's issue pages refused us (15 of 25). io.github.KittyCAD/zoo-mcp is in the official MCP registry under a GitHub-verified namespace, though at version 0.10.0 of 27 January 2026 (15). pytest across Python 3.11 to 3.14, ruff, ty, a security workflow and Dependabot, with the scheduled run on main passing on 3 November (10). 30 + 20 + 15 + 15 + 10 = 90.\n\n### Reliability: Zoo +40\n\n- SimScale (15): Read with the hosted lines on api.simscale.com. No status page, since status.simscale.com has no DNS record and none is linked from the site, the docs hub or the API document (0). No readable incident history (5). No rate limit with a number; the terms reserve the right to impose rate or traffic limits and the v0 document mentions a 429 response once (0). No Retry-After, backoff guidance or idempotency keys; runs can be cancelled (0). No SLA, and the terms say SimScale cannot warrant uninterrupted availability with Free plans carrying no availability obligation (0). /v0 is the generally available version; /v1 is in beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n- Zoo (55): Read with the hosted lines on api.zoo.dev. A Better Stack status page at status.zoo.dev lists public and internal components with uptime figures (20). Its incident pages show no incidents for September, October and November 2026; the June to August archive didn't render for our reader, so about three weeks of the 90-day window are unread (25 of 30). No rate limit with a number was found in the OpenAPI document, the API docs, the FAQ or the MCP source (0). No Retry-After or backoff guidance and no idempotency keys; the document says only that cancellation is idempotent (3 of 15). No SLA on any plan, and the terms disclaim uninterrupted service (0). The REST API and Zookeeper are not labelled beta, while POST /ml/kcl/completions carries the `beta` tag and zoo-mcp declares the Beta classifier (7 of 10). 20 + 25 + 0 + 3 + 0 + 7 = 55.\n\n### Payments \u0026 pricing: Zoo +25\n\n- SimScale (10): No x402, MPP or L402 (0). No price is published; Mechanical, Professional and Enterprise are on request and the Community plan carries no API (0). The sandbox with its fixed public key lets an agent exercise every endpoint without an account or card, though it runs nothing, and the free Community plan has no API; read as a partial free route (10 of 20). An API key comes with an Enterprise contract arranged by people (0). 0 + 0 + 10 + 0 = 10.\n- Zoo (35): No x402, MPP or L402 (0). The per-second rate ($0.0083) and plan allowances are public in the pricing JSON the site loads and on the blog, with the FAQ stating rounding and free GETs (20). The Free plan carries $10 of usage a month with no plan fee; whether sign-up asks for a card was not established, and pay-as-you-go needs a payment method (15 of 20). A person signs in with SSO in a browser and mints the token; service accounts come only after an organisation exists (0). 0 + 20 + 15 + 0 = 35.\n\n### Security \u0026 auth: Zoo +23\n\n- SimScale (44): One API key per user in the X-API-KEY header, with no scopes, documented expiry, rotation or revocation; the SDK reads it from an environment variable (10 of 30). Project and space permission endpoints exist and the sandbox cannot change data, but no read-only key or confirmation step for deletes was found (8 of 20). The API returns the owner's own geometry and results and no third-party content, so there is little untrusted content to inject (10 of 15). No audit log or per-call visibility found on the pages read (0 of 15). SOC 2 Type II by Prescient Assurance, a public Intigriti bug bounty with the API in scope, security.txt and AES encryption (16 of 20). 10 + 8 + 10 + 0 + 16 = 44.\n- Zoo (67): Bearer API tokens minted in the account, several per user, listed and deleted at /user/api-tokens, organisation service accounts on Team and Enterprise, and OAuth 2.0 apps with PKCE and a device grant; no scopes were found on tokens and no rotation guidance (22 of 30). No read-only token or MCP subset; the Team plan's admin console and auditing give oversight after the fact, and the MCP client's own file permissions govern writes to main.kcl (8 of 20). Zookeeper carries a web_search tool and the MCP server returns KCL samples and docs, with no prompt-injection guidance found (5 of 15). Organisation admins get an API activity log and /user/api-calls lists each call with its cost (12 of 15). security.txt with a GitHub advisory contact and a policy committing to a 72-hour reply and severity-based rewards, SOC 2 Type II on the trust centre, and two Trail of Bits reviews published in 2024 and 2026 (20 of 20). 22 + 8 + 5 + 12 + 20 = 67.\n\n### Agent ergonomics: SimScale +11\n\n- SimScale (55): List endpoints page with limit and page parameters and results are fetched per run and per export rather than whole (15 of 25). Pagination on lists and filters on some, such as valid geometries only (15 of 20). Typed error responses by status code; message shapes were not read in detail and the v1 error format page rendered empty (10 of 20). No idempotency keys; runs are asynchronous with event logs and cancel, so a retry can start a second run (5 of 20). Official Python and C# SDKs cover the surface, but a simulation setup needs a full Simulation Spec object with many required fields and a matching schema version (10 of 15). 15 + 15 + 10 + 5 + 10 = 55.\n- Zoo (44): zoo-mcp lists 42 tools in one process with no toolset switch, read-only subset or dynamic loading, and their docstrings total about 30,000 characters (5 of 25). List endpoints take `limit`, `page_token` and `sort_by` (31 paginated operations), with no field selection or filtering (15 of 20). Errors are a generic object with a message and request_id, no error codes, and MCP tools return a string on failure (8 of 20). No idempotency keys, no readOnlyHint or destructiveHint in the tool source, and the websocket needs a ping every 5 seconds to stay open (4 of 20). Few required parameters, official SDKs in Python, TypeScript, Rust and Go, but one modeling session per MCP process and a websocket protocol an agent has to drive by hand (12 of 15). 5 + 15 + 8 + 4 + 12 = 44.\n\n### Schema \u0026 documentation: SimScale +6\n\n- SimScale (71): Public OpenAPI 3.0.3 documents for /v0 (98 operations) and /v1 (163 operations), with the simulation and meshing schema versions selectable by query parameter (25). No llms.txt and no Markdown docs; the API docs are Swagger UI and script-rendered pages (0). The introduction explains the sandbox, versioning and Workbench compatibility, and operations carry one-line summaries, but 10 of the 98 v0 operations have no description and the guides for v1 rendered empty (12 of 20). 2,112 schemas with 355 enum lists, required fields and a typed security scheme (13 of 15). The sandbox answers every endpoint with example data, which stands in for examples, and responses are typed for 400, 403, 404, 409, 422 and 429 (11 of 15). Path versions v0 and v1 with a migration guide and changelog for v1, and dated SDK releases, though the changelog page itself rendered empty (10 of 15). 25 + 0 + 12 + 13 + 11 + 10 = 71.\n- Zoo (65): OpenAPI 3.0.3 served at the root of api.zoo.dev, 174 paths and 226 operations each with a summary, and MCP tools whose inputs are typed Python signatures that the SDK turns into JSON Schema (25). No llms.txt (404) and no Markdown twin of the docs (0). The MCP docstrings average about 725 characters and say what each tool is for and when to use another, with snapshot at 3,500 characters; the OpenAPI summaries are one line and the websocket page lists one client message type (14 of 20). 583 schemas with 976 enum lists and required fields, and the file conversion path takes typed format parameters (12 of 15). Each docs endpoint page carries a request example, but errors are one generic object with request_id and message, and the websocket's server messages are not enumerated in the docs (9 of 15). The document reports version 0.1.0, there is no API changelog page, and changes are announced per repository release or on the blog, as the per-second billing change of 30 September 2025 was (5 of 15). 25 + 0 + 14 + 12 + 9 + 5 = 65.\n\n## Score by category\n\n| Category | Weight | SimScale | Zoo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 15 | 55 | Zoo +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 65 | SimScale +6 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 44 | SimScale +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 67 | Zoo +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 35 | Zoo +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 33 | 90 | Zoo +57 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 69 | Zoo +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **41 · E** | **58.7 · C** | |\n\n## Facts side by side\n\n| Fact | SimScale | Zoo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | SimScale GmbH | Zoo Corporation |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Tools exposed | 0 | 42 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| MCP registry | not listed | `io.github.KittyCAD/zoo-mcp` |\n| Last release | 2026-03-03 | 2026-10-30 |\n| Terms last updated | no date given | 2026-04-15 |\n| Privacy policy last updated | no date given | 2026-09-09 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 11 stars |\n\n## Verdicts\n\n**SimScale.** 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**Zoo.** A public OpenAPI document, SDKs in four languages, a 42-tool MCP server and a $10 monthly allowance let an agent generate KCL geometry and export STEP without a contract. No rate limits, retry guidance or scoped tokens are documented, the MCP server has no read-only subset, and the Free plan's data trains Zoo's models with no opt-out.\n\n## Before you call either\n\n### SimScale\n\n1. 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\n2. 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\n3. Pin simulationSpecSchemaVersion and meshingSpecSchemaVersion when fetching the OpenAPI document, since spec schemas change more often than the API and a mismatch locks the Workbench\n4. 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\n5. 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\n\n### Zoo\n\n1. 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\n2. 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\n3. 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\n4. 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\n5. Paginate list endpoints with `limit`, `page_token` and `sort_by`; nothing documents a rate limit, so back off on any 429 or 5xx yourself\n\n## Questions\n\n### Which is better for AI agents, SimScale or Zoo?\n\nZoo scores 58.7 (C) on agent readiness against SimScale's 41 (E), and leads in 5 of 7 scored categories. SimScale leads on schema \u0026 documentation and agent ergonomics.\n\n### Do SimScale and Zoo need an API key?\n\nSimScale needs an API key. Zoo takes an API key or an OAuth sign-in.\n\n### Can an agent call SimScale and Zoo without installing anything?\n\nNo hosted endpoint is listed for SimScale. Zoo runs on your own machine, with no hosted endpoint listed.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/simscale-vs-zoo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/simscale-vs-zoo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"simscale\", \"b\": \"zoo\"}`. From a terminal: `anchor compare simscale zoo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/simscale.json and https://www.anchorterminal.com/api/v1/tools/zoo.json\n\n## Other comparisons with SimScale or Zoo\n\n- [Adam vs Zoo](https://www.anchorterminal.com/compare/adam-cad-vs-zoo.md)\n- [Autodesk Platform Services vs Zoo](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.md)\n- [nTop vs Zoo](https://www.anchorterminal.com/compare/ntop-vs-zoo.md)\n- [Autodesk Platform Services vs SimScale](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-simscale.md)\n- [Onshape vs SimScale](https://www.anchorterminal.com/compare/onshape-vs-simscale.md)\n- [Adam vs SimScale](https://www.anchorterminal.com/compare/adam-cad-vs-simscale.md)\n- [nTop vs SimScale](https://www.anchorterminal.com/compare/ntop-vs-simscale.md)\n- [Onshape vs Zoo](https://www.anchorterminal.com/compare/onshape-vs-zoo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "SimScale vs Zoo",
        "url": ""
      }
    ],
    "description": "Zoo scores 58.7 (C) to SimScale's 41 (E) for cad export. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "SimScale E 41",
      "Zoo C 58.7",
      "scores"
    ],
    "h1": "SimScale vs Zoo",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/simscale-vs-zoo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "SimScale vs Zoo for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/simscale-vs-zoo"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2930
  },
  "version": 1
}
