{
  "fixes": {
    "slug": "coda",
    "name": "Coda (Superhuman Docs)",
    "listing": "https://www.anchorterminal.com/tools/coda",
    "markdown": "# Fix list: Coda (Superhuman Docs)\n\nFrom Anchor Terminal's listing at https://www.anchorterminal.com/tools/coda, the October 2026 research run, assessed 8 October 2026. Grade B, 64.8 out of 100.\n\nThis is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public.\n\nFor a coding agent working on Coda (Superhuman Docs): work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published.\n\n## 1. Payments \u0026 pricing, 30 out of 100, up to 8.8 more on the total\n\nWhy it scored 30: No x402, MPP or L402 (0). Plan prices are public per member a month, shown to us in pounds (Pro £10, Business £28 billed yearly), with nothing per call, and the API itself is free (10). A Free plan exists and the API works on free workspaces. No card requirement was found (20). A person signs up in a browser and creates a token or approves OAuth (0).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-payments):\n\nThe published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).\n\n- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.\n- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for \"contact sales\" or prices behind a login.\n- 20, a free tier or trial that doesn't need a card.\n- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).\n\nPayment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.\n\nOpen-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol.\n\n## 2. Agent ergonomics, 61 out of 100, up to 6.3 more on the total\n\nWhy it scored 61: Row listings take `limit` (default 25), `visibleOnly` and three `valueFormat` levels, with no column selection on REST. The MCP server has 34 tools, `columnsToInclude` on row reads and a `tool_guide` tool that loads guidance by topic (15). `pageToken` paging, `sortBy`, `syncToken` for changes since an earlier call, and a `query` filter limited to one column and value (17). Errors return `statusCode`, `statusMessage` and `message` with no machine codes beyond the HTTP status (12). Upserts by `keyColumns` and `/mutationStatus/{requestId}` allow safe retries. No idempotency keys, writes are asynchronous with 202, and MCP annotations were unchecked (10). Few required parameters and sensible defaults. No official client libraries apart from Google Apps Script (7).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics):\n\n- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).\n- 20, pagination, filtering and output-size controls.\n- 20, actionable, documented error responses, codes and messages an agent can recover from.\n- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.\n- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.\n\nModels are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs.\n\n## 3. Security \u0026 auth, 71 out of 100, up to 5.1 more on the total\n\nWhy it scored 71: API tokens can be restricted to one doc or one table and to read or write. Unrestricted tokens carry all of the owner's access, and the docs say a token can't be viewed or changed after creation. MCP uses OAuth with PKCE S256 and dynamic client registration but one scope, `mcp:all` (26). Read-only tokens per doc or table, read-only MCP on the Free plan, and page locking enforced on MCP writes. The MCP product page says read-only and write-only controls are coming soon, and no confirmation step was found for `document_delete` or `table_delete` (13). The vendor has a help centre article titled Security recommendations for the Coda MCP, which a bot check stopped us reading, so only its existence is counted (4). Audit APIs with 12 months of events for Enterprise workspaces, and admin control over API tokens used with MCP (10). Public HackerOne bug bounty, ISO 27001, 27017 and 27018, SOC 2 Type 2, SOC 3 and annual penetration tests. security.txt expired on 31 December 2024 (18).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-security):\n\n- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.\n- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.\n- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.\n- 0 to 15, audit logs or per-call visibility for the operator.\n- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.\n\nModels are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing.\n\n## 4. Schema \u0026 documentation, 76 out of 100, up to 3.9 more on the total\n\nWhy it scored 76: Public OpenAPI 3.0 description in JSON and YAML, version 1.6.0, 125 operations. MCP tool schemas need a signed-in session and were not read (25). No llms.txt on coda.io, docs.superhuman.com or superhuman.com, all 404, and no Markdown docs found (0). All 125 operations carry descriptions, with guidance such as preferring IDs over names, and the vendor's MCP page gives each of 34 tools a purpose, use cases and key parameters (15). 411 schemas and 175 enums with `additionalProperties: false` on request bodies. Cell values are loosely typed (13). 651 examples, code samples in Python, shell and Google Apps Script, and 429 documented on 124 operations. Error bodies are generic (13). The API is versioned at v1 with a three-month removal notice, and the MCP server has a dated changelog. The REST update log needs JavaScript and was not read, which is our limitation (10).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-schema):\n\nAPIs and MCP servers.\n\n- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).\n- 10, llms.txt or Markdown docs served for agents.\n- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.\n- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.\n- 0 to 15, examples and documented error responses.\n- 15, versioning and a public changelog.\n\nModels are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference.\n\n## 5. Reliability, 81 out of 100, up to 3.8 more on the total\n\nWhy it scored 81: Graded on the hosted REST API, with the MCP server noted, using the hosted lines. Statuspage site at status.coda.io with API, Coda MCP, Docs, Doc Processing and Login among its components (20). Three incidents since 10 July 2026. Access to coda.io was affected for 4 hours 19 minutes on 16 July during a CloudFront outage (minor), docs were slow for 38 minutes on 29 July (marked major), and the coda.new shortcut was down on 13 and 14 August (minor). None was an hour or more of the API down (20). Limits are published per user, 100 reads and 10 writes per 6 seconds (15). The docs tell scripts to back off and retry on 429 and upserts take `keyColumns`, but no Retry-After header or idempotency key is documented (9). The trust page states a 99.9 per cent uptime commitment for Enterprise customers (10). The REST API is generally available and the MCP server is in beta (7).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability):\n\nHosted APIs, MCP servers, models and platforms.\n\n- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).\n- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.\n- 15, rate limits documented with numbers.\n- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.\n- 10, an SLA published for any paid tier.\n- 10, the surface agents use is generally available, not beta or preview.\n\nLocal packages, SDKs, frameworks and stdio MCP servers.\n\n- 20, installs from an official package with supported runtimes stated.\n- 25, a public CI and test suite, passing on the default branch.\n- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).\n- 15, semver discipline and breaking changes called out in a changelog.\n- 15, version 1.0 or later, or declared stable.\n\nProtocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors.\n\n## 6. Maintenance \u0026 community, 72 out of 100, up to 2.5 more on the total\n\nWhy it scored 72: The MCP changelog's newest entries are dated 24 September 2026, and Packs SDK 1.18.0 followed on 7 October (30). The MCP changelog has nine dated entries in July and three in September (20). Staff answer on the developer forum within a day in the threads we read, and the MCP server has a public changelog (12). No vendor entry in the official MCP registry, where a search for coda and superhuman returned only community servers, and no official API client libraries. The Packs SDK is current (4). Packs SDK CI and dependency updates are public, but it is not the API surface (6).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance):\n\n- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.\n- 20, at least three releases or dated changelog entries in the last 90 days.\n- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.\n- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).\n- 10, package health, current dependencies and CI.\n\nModels are read for deprecation notice periods and model churn rather than release counts.\n\n## 7. Transparency \u0026 trust, 78 out of 100, up to 1.9 more on the total\n\nMade of editorial 65, provenance 90.\n\nWhy it scored 78: Closed service with published terms, developer terms and an MIT Packs SDK (15). Privacy policy effective 6 July 2026, DPA effective 8 July 2026 and a sub-processor list. Retention is stated as as long as necessary with no periods, user content can be used to train the vendor's AI models subject to an account setting whose default we did not establish, and enterprise customers sit under a separate agreement (19). The API docs promise three months' notice before removals and the developer terms 30 days before term changes. MCP tools changed in September 2026 with no advance notice (14). Sub-processors are listed with purpose and country, all USA (17).\n\nThe checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency):\n\n- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.\n- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).\n- 0 to 20, a deprecation policy or notices with dates.\n- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).\n\nThe other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two.\n\nProvenance checks not met in full (half of this category, computed from checked facts):\n\n- Terms of service: read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points (5.1 of 10)\n- security.txt: published but past its Expires date (5 of 10)\n\n## Deductions\n\nEach comes off the total. A fixed and documented problem counts for less at the next check.\n\n- 24 September 2026 (date approximate per the vendor). The MCP changelog records chart `viewLayout` values renamed so the old ones are no longer valid, and `table_columns_manage` restructured, both marked as documented after shipping. The MCP server is in beta and its tools page warns that names can change, so the deduction is the minimum, 3 (https://docs.superhuman.com/@bharat-batra/tools-and-endpoints/changelog-3).\n\n## What we couldn't check\n\nWhat we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it.\n\n- unchecked: help.superhuman.com answers with a bot check, so the MCP connection guide and the article Security recommendations for the Coda MCP were not read. Supported clients, admin controls and injection guidance may be better than scored\n- unchecked: the REST API update log at docs.superhuman.com/api-updates needs JavaScript, so the date of the last REST API change is unknown. lastRelease uses the MCP changelog date of 24 September 2026\n- unchecked: the Docs plan table at superhuman.com/plans/docs renders in the browser only. Prices come from superhuman.com/plans as shown in pounds to a UK request, and US dollar prices were not seen\n- unchecked: MCP tool input schemas and annotations, which need a signed-in session\n- Whether user content is used for AI training by default was not established. The privacy policy says an account setting controls it\n- Whether the Free plan needs a card at signup was not tested. No requirement is stated on the pages read\n- The MCP guides call the server available to everyone while the tools page still calls it beta. We treated it as beta\n- API timeouts on 26 March 2026 were confirmed by staff on the forum but are missing from status.coda.io. Not deducted, since the rubric has no line for it\n\n## Weaknesses\n\n- Row writes return 202 and take a few seconds to apply, and reads come from a snapshot that can be stale\n- No idempotency keys and no Retry-After header documented, and error bodies carry only a status and a message\n- No official client libraries apart from a Google Apps Script library\n- The MCP server is in beta, and its changelog records renamed tools and parameters documented after they shipped\n- MCP OAuth has one scope, `mcp:all`, and no confirmation step was found for `document_delete` or `table_delete`\n- security.txt on coda.io expired on 31 December 2024\n\n## What costs an agent a turn today\n\nThe notes we give agents before they call it. Each one is a workaround an agent shouldn't need.\n\n- Poll `/mutationStatus/{requestId}` after every row write. A 202 means queued, and the edit can still fail\n- Send `X-Coda-Doc-Version: latest` when a read must reflect recent edits, and handle the 400 it returns when the snapshot is behind\n- Use `keyColumns` on `POST .../rows` so a retried insert updates the same row instead of adding a duplicate\n- Ask for a token restricted to the one doc or table and to read access where the task allows. An unrestricted token can do anything its owner can\n- Read MCP tool names from the tool list at run time. The vendor says names and parameters can change during the beta\n\n## When it's done\n\nSend what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `\"kind\": \"dispute\"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.\n",
    "grade": "B",
    "score": 64.8,
    "assessed": "2026-10-08",
    "run": "October 2026 research run",
    "categories": [
      {
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "score": 30,
        "maxGain": 8.8,
        "reason": "No x402, MPP or L402 (0). Plan prices are public per member a month, shown to us in pounds (Pro £10, Business £28 billed yearly), with nothing per call, and the API itself is free (10). A Free plan exists and the API works on free workspaces. No card requirement was found (20). A person signs up in a browser and creates a token or approves OAuth (0).",
        "checklist": [
          "The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).",
          "- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.\n- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for \"contact sales\" or prices behind a login.\n- 20, a free tier or trial that doesn't need a card.\n- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).",
          "Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.",
          "Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-payments"
      },
      {
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "score": 61,
        "maxGain": 6.3,
        "reason": "Row listings take `limit` (default 25), `visibleOnly` and three `valueFormat` levels, with no column selection on REST. The MCP server has 34 tools, `columnsToInclude` on row reads and a `tool_guide` tool that loads guidance by topic (15). `pageToken` paging, `sortBy`, `syncToken` for changes since an earlier call, and a `query` filter limited to one column and value (17). Errors return `statusCode`, `statusMessage` and `message` with no machine codes beyond the HTTP status (12). Upserts by `keyColumns` and `/mutationStatus/{requestId}` allow safe retries. No idempotency keys, writes are asynchronous with 202, and MCP annotations were unchecked (10). Few required parameters and sensible defaults. No official client libraries apart from Google Apps Script (7).",
        "checklist": [
          "- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).\n- 20, pagination, filtering and output-size controls.\n- 20, actionable, documented error responses, codes and messages an agent can recover from.\n- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.\n- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.",
          "Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-ergonomics"
      },
      {
        "key": "security",
        "name": "Security \u0026 auth",
        "score": 71,
        "maxGain": 5.1,
        "reason": "API tokens can be restricted to one doc or one table and to read or write. Unrestricted tokens carry all of the owner's access, and the docs say a token can't be viewed or changed after creation. MCP uses OAuth with PKCE S256 and dynamic client registration but one scope, `mcp:all` (26). Read-only tokens per doc or table, read-only MCP on the Free plan, and page locking enforced on MCP writes. The MCP product page says read-only and write-only controls are coming soon, and no confirmation step was found for `document_delete` or `table_delete` (13). The vendor has a help centre article titled Security recommendations for the Coda MCP, which a bot check stopped us reading, so only its existence is counted (4). Audit APIs with 12 months of events for Enterprise workspaces, and admin control over API tokens used with MCP (10). Public HackerOne bug bounty, ISO 27001, 27017 and 27018, SOC 2 Type 2, SOC 3 and annual penetration tests. security.txt expired on 31 December 2024 (18).",
        "checklist": [
          "- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.\n- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.\n- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.\n- 0 to 15, audit logs or per-call visibility for the operator.\n- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.",
          "Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-security"
      },
      {
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "score": 76,
        "maxGain": 3.9,
        "reason": "Public OpenAPI 3.0 description in JSON and YAML, version 1.6.0, 125 operations. MCP tool schemas need a signed-in session and were not read (25). No llms.txt on coda.io, docs.superhuman.com or superhuman.com, all 404, and no Markdown docs found (0). All 125 operations carry descriptions, with guidance such as preferring IDs over names, and the vendor's MCP page gives each of 34 tools a purpose, use cases and key parameters (15). 411 schemas and 175 enums with `additionalProperties: false` on request bodies. Cell values are loosely typed (13). 651 examples, code samples in Python, shell and Google Apps Script, and 429 documented on 124 operations. Error bodies are generic (13). The API is versioned at v1 with a three-month removal notice, and the MCP server has a dated changelog. The REST update log needs JavaScript and was not read, which is our limitation (10).",
        "checklist": [
          "APIs and MCP servers.",
          "- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).\n- 10, llms.txt or Markdown docs served for agents.\n- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.\n- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.\n- 0 to 15, examples and documented error responses.\n- 15, versioning and a public changelog.",
          "Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-schema"
      },
      {
        "key": "reliability",
        "name": "Reliability",
        "score": 81,
        "maxGain": 3.8,
        "reason": "Graded on the hosted REST API, with the MCP server noted, using the hosted lines. Statuspage site at status.coda.io with API, Coda MCP, Docs, Doc Processing and Login among its components (20). Three incidents since 10 July 2026. Access to coda.io was affected for 4 hours 19 minutes on 16 July during a CloudFront outage (minor), docs were slow for 38 minutes on 29 July (marked major), and the coda.new shortcut was down on 13 and 14 August (minor). None was an hour or more of the API down (20). Limits are published per user, 100 reads and 10 writes per 6 seconds (15). The docs tell scripts to back off and retry on 429 and upserts take `keyColumns`, but no Retry-After header or idempotency key is documented (9). The trust page states a 99.9 per cent uptime commitment for Enterprise customers (10). The REST API is generally available and the MCP server is in beta (7).",
        "checklist": [
          "Hosted APIs, MCP servers, models and platforms.",
          "- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).\n- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.\n- 15, rate limits documented with numbers.\n- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.\n- 10, an SLA published for any paid tier.\n- 10, the surface agents use is generally available, not beta or preview.",
          "Local packages, SDKs, frameworks and stdio MCP servers.",
          "- 20, installs from an official package with supported runtimes stated.\n- 25, a public CI and test suite, passing on the default branch.\n- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).\n- 15, semver discipline and breaking changes called out in a changelog.\n- 15, version 1.0 or later, or declared stable.",
          "Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-reliability"
      },
      {
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "score": 72,
        "maxGain": 2.5,
        "reason": "The MCP changelog's newest entries are dated 24 September 2026, and Packs SDK 1.18.0 followed on 7 October (30). The MCP changelog has nine dated entries in July and three in September (20). Staff answer on the developer forum within a day in the threads we read, and the MCP server has a public changelog (12). No vendor entry in the official MCP registry, where a search for coda and superhuman returned only community servers, and no official API client libraries. The Packs SDK is current (4). Packs SDK CI and dependency updates are public, but it is not the API surface (6).",
        "checklist": [
          "- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.\n- 20, at least three releases or dated changelog entries in the last 90 days.\n- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.\n- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).\n- 10, package health, current dependencies and CI.",
          "Models are read for deprecation notice periods and model churn rather than release counts."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-maintenance"
      },
      {
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "score": 78,
        "maxGain": 1.9,
        "reason": "Closed service with published terms, developer terms and an MIT Packs SDK (15). Privacy policy effective 6 July 2026, DPA effective 8 July 2026 and a sub-processor list. Retention is stated as as long as necessary with no periods, user content can be used to train the vendor's AI models subject to an account setting whose default we did not establish, and enterprise customers sit under a separate agreement (19). The API docs promise three months' notice before removals and the developer terms 30 days before term changes. MCP tools changed in September 2026 with no advance notice (14). Sub-processors are listed with purpose and country, all USA (17).",
        "blend": "editorial 65, provenance 90",
        "checklist": [
          "- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.\n- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).\n- 0 to 20, a deprecation policy or notices with dates.\n- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).",
          "The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two."
        ],
        "checklistUrl": "https://www.anchorterminal.com/benchmark/#checklist-transparency"
      }
    ],
    "provenance": [
      {
        "label": "Terms of service",
        "value": "read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points",
        "points": 5.1,
        "max": 10
      },
      {
        "label": "security.txt",
        "value": "published but past its Expires date",
        "points": 5,
        "max": 10
      }
    ],
    "deductions": [
      "24 September 2026 (date approximate per the vendor). The MCP changelog records chart `viewLayout` values renamed so the old ones are no longer valid, and `table_columns_manage` restructured, both marked as documented after shipping. The MCP server is in beta and its tools page warns that names can change, so the deduction is the minimum, 3 (https://docs.superhuman.com/@bharat-batra/tools-and-endpoints/changelog-3)."
    ],
    "unchecked": [
      "unchecked: help.superhuman.com answers with a bot check, so the MCP connection guide and the article Security recommendations for the Coda MCP were not read. Supported clients, admin controls and injection guidance may be better than scored",
      "unchecked: the REST API update log at docs.superhuman.com/api-updates needs JavaScript, so the date of the last REST API change is unknown. lastRelease uses the MCP changelog date of 24 September 2026",
      "unchecked: the Docs plan table at superhuman.com/plans/docs renders in the browser only. Prices come from superhuman.com/plans as shown in pounds to a UK request, and US dollar prices were not seen",
      "unchecked: MCP tool input schemas and annotations, which need a signed-in session",
      "Whether user content is used for AI training by default was not established. The privacy policy says an account setting controls it",
      "Whether the Free plan needs a card at signup was not tested. No requirement is stated on the pages read",
      "The MCP guides call the server available to everyone while the tools page still calls it beta. We treated it as beta",
      "API timeouts on 26 March 2026 were confirmed by staff on the forum but are missing from status.coda.io. Not deducted, since the rubric has no line for it"
    ],
    "weaknesses": [
      "Row writes return 202 and take a few seconds to apply, and reads come from a snapshot that can be stale",
      "No idempotency keys and no Retry-After header documented, and error bodies carry only a status and a message",
      "No official client libraries apart from a Google Apps Script library",
      "The MCP server is in beta, and its changelog records renamed tools and parameters documented after they shipped",
      "MCP OAuth has one scope, `mcp:all`, and no confirmation step was found for `document_delete` or `table_delete`",
      "security.txt on coda.io expired on 31 December 2024"
    ],
    "agentNotes": [
      "Poll `/mutationStatus/{requestId}` after every row write. A 202 means queued, and the edit can still fail",
      "Send `X-Coda-Doc-Version: latest` when a read must reflect recent edits, and handle the 400 it returns when the snapshot is behind",
      "Use `keyColumns` on `POST .../rows` so a retried insert updates the same row instead of adding a duplicate",
      "Ask for a token restricted to the one doc or table and to read access where the task allows. An unrestricted token can do anything its owner can",
      "Read MCP tool names from the tool list at run time. The vendor says names and parameters can change during the beta"
    ],
    "recheck": "https://www.anchorterminal.com/builders/#disputes"
  },
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  }
}
