{
 "slug": "turso",
 "name": "Turso",
 "url": "https://turso.tech",
 "domain": "turso.tech",
 "category": "databases",
 "category_name": "Databases",
 "tested_at": "2026-10-06",
 "run": "20261006T094654Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261002T052254Z",
   "date": "2026-10-02",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": null,
    "driver": null,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "start"
   }
  },
  {
   "run": "20261006T094654Z",
   "date": "2026-10-06",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 2,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "start"
   }
  }
 ],
 "level": 1,
 "level_name": "Needs a person",
 "level_selfhost": null,
 "entry": "closed",
 "door": {
  "passed": 0,
  "tries": 2,
  "self_start": false
 },
 "badges": [],
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "no",
   "text": "Can't get in on its own",
   "at": "signup"
  },
  {
   "key": "work",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "Payment not reached",
   "value": "unreached",
   "route": "billing_api"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "unreached",
   "text": "Leaving not reached",
   "how": "no-account"
  }
 ],
 "outcomes": [
  {
   "key": "find",
   "label": "Find",
   "state": "yes",
   "text": "Docs agents can read: llms.txt, an OpenAPI and an MCP server",
   "have": [
    "llms_txt",
    "openapi",
    "mcp"
   ]
  },
  {
   "key": "access",
   "label": "Access",
   "state": "no",
   "text": "Can't get in on its own",
   "at": "signup",
   "stage": "in"
  },
  {
   "key": "use",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured",
   "stage": "work"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "Payment not reached",
   "value": "unreached",
   "route": "billing_api",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "unreached",
   "text": "Leaving not reached",
   "how": "no-account",
   "stage": "leave"
  }
 ],
 "access": [
  {
   "key": "person",
   "label": "A person sets it up",
   "routes": [],
   "minutes": null,
   "core": null
  }
 ],
 "minutes": null,
 "next": {
  "to": 2,
  "text": "Next: let an agent sign up on its own"
 },
 "stop": "signup",
 "core": "2/9",
 "scores": {
  "coverage": null,
  "reliability": null,
  "resilience": null,
  "setup": 100,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": null,
  "docs_match": null,
  "setup": 100,
  "security": null,
  "standards": [
   {
    "standard": "MCP client registration",
    "state": "current",
    "behind": null,
    "value": "cimd"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 2,
    "value": "3.0.1"
   },
   {
    "standard": "A2A",
    "state": "behind",
    "behind": 1,
    "value": "0.3"
   }
  ]
 },
 "reliability_method": null,
 "resilience": null,
 "stress": [],
 "surface_audit": null,
 "coverage_core": null,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 2,
  "model": "claude-opus-5-5",
  "profile": "full",
  "assisted": false,
  "handoff": null,
  "prompt_sha": "f3d0adeeb256",
  "kb_version": "2+overlay-9e43028a2c",
  "identity": null
 },
 "methodology": 15,
 "rules_date": "2026-10-15",
 "engine": {
  "runner": "omp",
  "model": "claude-opus-5-5",
  "driver": 2,
  "signed": true,
  "inbox": [
   "agentdrives.com"
  ],
  "robots": "start"
 },
 "same_level_drives": 2,
 "drives": 2,
 "works_assisted": null,
 "freshness": "fresh",
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": {
  "rung": "signup",
  "vendor": "Cloudflare Turnstile (via Clerk bot protection)",
  "visible": true,
  "type": "network",
  "human": null,
  "how": "Let verified bots and signed agents past the check on sign-up: in Cloudflare, add a WAF custom rule that skips the bot challenge on your sign-up paths for verified bots and for signed agents (rule field cf.bot_management.signed_agent; since 1 July 2026 signed agents count as verified bots), and render Turnstile only when the request is not from a verified agent.",
  "signed": true
 },
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "form"
  },
  "signed": {
   "state": "page",
   "kind": "signup",
   "at": "2026-10-13"
  },
  "browser": {
   "state": "through",
   "measured": false
  },
  "our_key": "pending",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "docs.turso.tech: llms.txt, .md pages, Accept: text/markdown; OpenAPI 3.0.1 at turso.tech/openapi.json; MCP card at turso.tech/.well-known/mcp"
  },
  "signup": {
   "status": "human",
   "note": "No API or CLI sign-up: `turso auth signup --headless` only prints a URL to the Clerk web form. In the browser, Continue (email/password) and 'Sign in with AgentID' both swap the form for a visible Cloudflare Turnstile 'Verify you are human'."
  },
  "verify": {
   "status": "",
   "note": "Not reached: sign-up stopped at Turnstile before any mail was requested",
   "reached": false
  },
  "credentials": {
   "status": "",
   "note": "No account. `turso auth login --headless` prints a URL and exits; MCP OAuth is authorization_code + PKCE only (no device grant)",
   "via": "",
   "reached": false
  },
  "first_call": {
   "status": "",
   "note": "Every Platform API path answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token; MCP endpoint 401 with resource_metadata",
   "reached": false
  },
  "first_action": {
   "status": "",
   "note": "Could not create a cloud database (no account). The embedded engine runs locally through the official SDK with no account (see coverage)",
   "reached": false
  },
  "pay": {
   "status": "",
   "grade": "P3",
   "rails": [
    "card on the account (added in the dashboard), then `turso plan upgrade` / `turso plan select` in the CLI (docs only, not exercised)"
   ],
   "rail_ids": [
    "card"
   ],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "free tier",
   "note": "No 402 anywhere (API answers 401); x402./mpp./agents.turso.tech do not resolve; no x-payment-info, no /.well-known/ucp; not in x402 Bazaar or mpp.dev. projects.dev (Stripe Projects) lists a 'turso/database' provider: a listing only, not confirmed. From the CLI docs ('add your credit card details to your account before you can upgrade'); where the card is added was not seen.",
   "detected_grade": "P3",
   "exercised": false,
   "reached": false
  },
  "cancel": {
   "status": "",
   "note": "No plan started. Docs: `turso plan select` switches plan from the CLI (not exercised)",
   "docs_grade": "",
   "reached": false
  },
  "delete": {
   "status": "",
   "note": "No account was created. Docs have `turso org destroy` for orgs, and say a personal account cannot be destroyed that way. No account-deletion API or CLI command was found in the docs",
   "account": false,
   "reached": false
  }
 },
 "routes": [],
 "checkout": null,
 "docs": null,
 "claims": null,
 "pay_options": {
  "checked": "2026-10-06",
  "source": "drive",
  "options": [
   {
    "id": "card",
    "name": "Card checkout",
    "kind": "checkout",
    "first_party": false,
    "lead": false,
    "networks": [],
    "testnet": false
   }
  ],
  "agentic": [],
  "paid": null,
  "exercised": false,
  "detected_grade": "P3",
  "trial": {
   "no_card": null,
   "card_required": null,
   "free_plan": true
  },
  "owner_fixes": [
   {
    "title": "Accept x402 or MPP on your API",
    "how": "Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card."
   },
   {
    "title": "List your plans on Stripe Projects",
    "how": "Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev)."
   }
  ]
 },
 "surfaces": {
  "api": true,
  "openapi": true,
  "cli": true,
  "sdk": true,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "surface_notes": {
  "api": "REST Platform API, 53 operations in openapi.json; all 401 without token",
  "openapi": "3.0.1, 40 paths, no x-payment-info",
  "mcp": "official hosted, OAuth (CIMD + DCR), not reachable without account; card at turso.tech/.well-known/mcp (non-standard path); docs MCP is Mintlify search",
  "cli": "turso CLI v1.0.33; signup/login --headless only print a URL",
  "sdk": "@tursodatabase/database 0.8.2 runs the embedded engine with no account"
 },
 "can_do": [
  "Read all docs as Markdown (llms.txt, .md pages, Accept: text/markdown)",
  "Run an embedded Turso database locally through the official JS SDK with no account: tables, writes, ALTER TABLE",
  "Store vectors and run nearest-neighbour queries (vector_distance_cos) in the embedded engine",
  "Build a full-text search index and rank results (fts_match/fts_score) in the embedded engine, with the experimental 'index_method' option",
  "Capture inserts/updates/deletes with CDC (PRAGMA capture_data_changes_conn) in the embedded engine"
 ],
 "cannot_do": [
  {
   "what": "Create a Turso Cloud account",
   "why": "Web-only Clerk sign-up; a visible Cloudflare Turnstile appears on submit (email and AgentID alike)"
  },
  {
   "what": "Get a Platform API token or MCP access",
   "why": "Needs an account; CLI login and MCP OAuth go through the browser, no device flow"
  },
  {
   "what": "Create, branch, restore or delete cloud databases, groups, tokens",
   "why": "No account"
  },
  {
   "what": "Sync a local database with Turso Cloud",
   "why": "No account / database URL"
  }
 ],
 "blockers": [
  "Visible Cloudflare Turnstile on the Clerk sign-up form at app.turso.tech/signup"
 ],
 "tips_for_owner": [
  "Let verified agents sign up without Turnstile",
  "Add a device flow to CLI and MCP login",
  "Document the 'Sign in with AgentID' option",
  "Say what is missing on a 401",
  "Document the experimental flag for FTS",
  "Add account deletion to the API or CLI",
  "Serve the MCP server card at the endpoint"
 ],
 "tips_for_agents": [
  "Read docs as Markdown: append .md to any docs.turso.tech page or send Accept: text/markdown; llms.txt lists them all.",
  "The embedded engine needs no account: npm i @tursodatabase/database and connect('file.db').",
  "FTS indexes need connect(path, {experimental: ['index_method']}) in the JS SDK 0.8.2.",
  "Cloud access needs a human to sign up (Turnstile) and log in once; then use `turso auth api-tokens mint` for a Platform API token.",
  "The hosted MCP server (https://mcp.turso.ai/mcp) uses OAuth with CIMD; there is no device flow."
 ],
 "selfhost": null,
 "summary": "Turso's docs are very agent-friendly (llms.txt, Markdown pages, OpenAPI, a hosted OAuth MCP server with CIMD), and its embedded engine runs locally through the official SDK with no account: SQL, vectors, FTS and CDC all worked. The cloud product stopped at sign-up: the only route is a Clerk web form that shows a visible Cloudflare Turnstile on submit, so no account, token or cloud database was made.",
 "wall": "Cloudflare Turnstile on the sign-up form",
 "plan_scope": "",
 "robots_stop": null,
 "robots": null,
 "plain": {
  "summary": "Turso's documentation is easy for an automated agent to read, and its local embedded database engine works fully without any account. But the cloud product (hosted databases, branching, tokens) is reachable only through a web sign-up form that shows a visible 'prove you are human' check, which stopped the agent before it could create an account.",
  "can_do": [
   "Read all of the product's documentation in machine-friendly formats",
   "Run a local database on its own machine with no account needed: tables, searches, vector similarity, and change tracking all worked"
  ],
  "cannot_do": [
   {
    "what": "Create a cloud account",
    "why": "the sign-up form shows a human verification check the agent cannot pass"
   },
   {
    "what": "Create, manage, or pay for a hosted cloud database",
    "why": "all of this needs the account that sign-up blocks"
   }
  ]
 },
 "plan_gated": [],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "group": "Database lifecycle",
   "capability": "Create a database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/databases",
    "mcp": "create database tool",
    "cli": "turso db create",
    "ui": "Dashboard > Databases > Create"
   },
   "check": "GET /v1/organizations/{organizationSlug}/databases/{database} returns the new database; turso db list shows it",
   "source": "https://docs.turso.tech/api-reference/databases/create.md; https://docs.turso.tech/cli/db/create.md"
  },
  {
   "id": "cap-02",
   "group": "Database lifecycle",
   "capability": "Run SQL queries, writes, and schema changes against a database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/pipeline (SQL over HTTP)",
    "mcp": "separate read-only query / write / schema-change tools",
    "cli": "turso db shell",
    "ui": "Dashboard > Drizzle Studio"
   },
   "check": "SELECT against the table shows the inserted/updated/altered rows or schema",
   "source": "https://docs.turso.tech/sdk/http/reference.md; https://docs.turso.tech/cli/db/shell.md; https://docs.turso.tech/integrations/mcp.md"
  },
  {
   "id": "cap-03",
   "group": "Database lifecycle",
   "capability": "Delete a database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "DELETE /v1/organizations/{organizationSlug}/databases/{database}",
    "mcp": "delete database tool",
    "cli": "turso db destroy",
    "ui": "Dashboard > Databases > Settings > Delete"
   },
   "check": "GET on the database id returns 404 / db no longer in turso db list",
   "source": "https://docs.turso.tech/api-reference/databases/delete.md; https://docs.turso.tech/cli/db/destroy.md"
  },
  {
   "id": "cap-04",
   "group": "Branching",
   "capability": "Branch a database from an existing database or point-in-time snapshot",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/databases with seed.type=database",
    "mcp": "branch database tool (incl. point-in-time branches)",
    "cli": "turso db create --from-db <name>",
    "ui": "Dashboard > Databases > Create > From existing database"
   },
   "check": "GET on the new database shows it seeded from the source database's schema/data at creation time",
   "source": "https://docs.turso.tech/features/branching.md"
  },
  {
   "id": "cap-05",
   "group": "Backup/recovery",
   "capability": "Restore a database to an earlier point in time",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "restore/recovery tool",
    "cli": null,
    "ui": "Dashboard > Database > Restore"
   },
   "check": "Querying the restored database shows the data as it existed at the chosen timestamp",
   "source": "https://docs.turso.tech/features/point-in-time-recovery.md; https://turso.tech/pricing"
  },
  {
   "id": "cap-06",
   "group": "Backup/recovery",
   "capability": "Recover a deleted database or group",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": "GET /v1/.../databases-deleted and POST .../restore",
    "mcp": "list and restore deleted databases/groups tool",
    "cli": null,
    "ui": "Dashboard > Databases > Deleted"
   },
   "check": "GET /v1/organizations/{org}/databases/{database} succeeds again after restore, within 5 days of deletion",
   "source": "https://docs.turso.tech/api-reference/databases/list-deleted.md; https://docs.turso.tech/api-reference/databases/restore.md; https://docs.turso.tech/features/recover-deleted-databases.md"
  },
  {
   "id": "cap-07",
   "group": "Groups / replication",
   "capability": "Create and manage a group (replicated location set) for databases",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/groups",
    "mcp": null,
    "cli": "turso group create",
    "ui": "Dashboard > Groups"
   },
   "check": "GET /v1/organizations/{organizationSlug}/groups/{group} returns the created group with its locations",
   "source": "https://docs.turso.tech/api-reference/groups/create.md; https://docs.turso.tech/cli/group/create.md"
  },
  {
   "id": "cap-08",
   "group": "AI data",
   "capability": "Store and query vector embeddings (native vector/similarity search)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "SQL: vector columns + vector functions over SQL-over-HTTP",
    "mcp": "SQL query tool",
    "cli": "turso db shell",
    "ui": null
   },
   "check": "SELECT ... ORDER BY vector_distance_cos(...) returns nearest-neighbor rows",
   "source": "https://docs.turso.tech/sql-reference/functions/vector.md; https://docs.turso.tech/guides/vector-search.md; https://docs.turso.tech/features/ai-and-embeddings.md"
  },
  {
   "id": "cap-09",
   "group": "Local-first sync",
   "capability": "Sync a local embedded database with Turso Cloud (push/pull)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "After calling sync in an SDK, local embedded DB reflects remote changes and vice versa",
   "source": "https://docs.turso.tech/sync/usage.md"
  },
  {
   "id": "cap-10",
   "group": "Full-text search",
   "capability": "Create and query a full-text search index (BM25 ranking)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "SQL: CREATE VIRTUAL TABLE ... fts / fts functions over SQL-over-HTTP",
    "mcp": "SQL query tool",
    "cli": "turso db shell",
    "ui": null
   },
   "check": "SELECT with MATCH/bm25 returns ranked matching rows",
   "source": "https://docs.turso.tech/sql-reference/functions/fts.md; https://turso.tech/"
  },
  {
   "id": "cap-11",
   "group": "Change tracking",
   "capability": "Enable Change Data Capture to audit-log every mutation",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Querying the CDC table/log after a write shows a row recording the mutation",
   "source": "https://docs.turso.tech/tursodb/cdc.md"
  },
  {
   "id": "cap-12",
   "group": "Access control",
   "capability": "Create a scoped database/group authorization token",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/databases/{database}/auth/tokens",
    "mcp": null,
    "cli": "turso db tokens create",
    "ui": "Dashboard > Database > Tokens"
   },
   "check": "Issued token authenticates a connection with the configured read-only/full-access permission",
   "source": "https://docs.turso.tech/api-reference/databases/create-token.md; https://docs.turso.tech/cli/db/tokens/create.md; https://docs.turso.tech/sdk/authorization.md"
  },
  {
   "id": "cap-13",
   "group": "Access control",
   "capability": "Invalidate all auth tokens for a database or group",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/databases/{database}/auth/rotate",
    "mcp": null,
    "cli": "turso db tokens invalidate",
    "ui": "Dashboard > Database > Tokens > Rotate"
   },
   "check": "A previously valid token for that database now fails to authenticate",
   "source": "https://docs.turso.tech/api-reference/databases/invalidate-tokens.md; https://docs.turso.tech/cli/db/tokens/invalidate.md"
  },
  {
   "id": "cap-14",
   "group": "Access control",
   "capability": "Restrict database access with IP/CIDR/AWS VPC allow rules",
   "weight": "secondary",
   "plan": "developer",
   "surfaces": {
    "api": "PATCH /v1/organizations/{organizationSlug}/databases/{database}/configuration",
    "mcp": "update configuration (IP/VPC allow rules) tool",
    "cli": "turso db config allow-rules set",
    "ui": "Dashboard > Database > Settings > Allow Rules"
   },
   "check": "turso db config allow-rules show / GET configuration lists the configured rule; disallowed IP is rejected",
   "source": "https://docs.turso.tech/cloud/allow-rules.md; https://docs.turso.tech/cli/db/config/allow-rules/set.md"
  },
  {
   "id": "cap-15",
   "group": "Access control",
   "capability": "Encrypt a database at rest with a customer-supplied (BYOK) key",
   "weight": "secondary",
   "plan": "pro",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Database > Settings > Encryption"
   },
   "check": "Database configuration reports BYOK encryption enabled with the supplied key reference",
   "source": "https://docs.turso.tech/cloud/encryption.md; https://turso.tech/pricing"
  },
  {
   "id": "cap-16",
   "group": "Import/export",
   "capability": "Import an existing SQLite database into Turso",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/databases with upload",
    "mcp": null,
    "cli": "turso db import",
    "ui": "Dashboard > Databases > Create > Import"
   },
   "check": "turso db shell on the new database shows the imported tables/rows",
   "source": "https://docs.turso.tech/cli/db/import.md; https://docs.turso.tech/api-reference/databases/upload.md; https://docs.turso.tech/cloud/migrate-to-turso.md"
  },
  {
   "id": "cap-17",
   "group": "Import/export",
   "capability": "Export a database to a SQLite file",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "turso db export",
    "ui": null
   },
   "check": "Resulting local .db file opens with sqlite3 and contains the same tables/rows",
   "source": "https://docs.turso.tech/cli/db/export.md"
  },
  {
   "id": "cap-18",
   "group": "Observability",
   "capability": "View per-database usage (rows read/written, storage, syncs)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/organizations/{organizationSlug}/databases/{database}/usage",
    "mcp": "insight/analytics tool",
    "cli": null,
    "ui": "Dashboard > Database > Usage"
   },
   "check": "Returned usage numbers increase after running queries against the database",
   "source": "https://docs.turso.tech/api-reference/databases/usage.md"
  },
  {
   "id": "cap-19",
   "group": "Observability",
   "capability": "View top queries / query stats (rows read and written per query)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/organizations/{organizationSlug}/databases/{database}/stats",
    "mcp": "insight tool (top queries by frequency/latency)",
    "cli": null,
    "ui": "Dashboard > Database > Insights"
   },
   "check": "Running a new distinctive query causes it to appear in the stats response",
   "source": "https://docs.turso.tech/api-reference/databases/stats.md"
  },
  {
   "id": "cap-20",
   "group": "Observability",
   "capability": "View organization-wide audit logs",
   "weight": "secondary",
   "plan": "developer",
   "surfaces": {
    "api": "GET /v1/organizations/{organizationSlug}/audit-logs",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Organization > Audit Logs"
   },
   "check": "A recent admin/API action (e.g. token creation) appears as an entry in the audit log response",
   "source": "https://docs.turso.tech/api-reference/audit-logs/list.md; https://turso.tech/pricing"
  },
  {
   "id": "cap-21",
   "group": "Instances/replicas",
   "capability": "List and inspect database replica instances by region",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/organizations/{organizationSlug}/databases/{database}/instances",
    "mcp": "inspect database tool",
    "cli": null,
    "ui": "Dashboard > Database > Instances"
   },
   "check": "Response lists each primary/replica instance with its region/location",
   "source": "https://docs.turso.tech/api-reference/databases/list-instances.md"
  },
  {
   "id": "cap-29",
   "group": "Connectivity",
   "capability": "Connect an application via a client SDK (JS, Python, Go, Rust, Java, etc.)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "SQL over HTTP",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "SDK connect + query call returns rows from the target database",
   "source": "https://docs.turso.tech/sdk/introduction.md; https://docs.turso.tech/connect/javascript.md"
  },
  {
   "id": "cap-22",
   "group": "Locations",
   "capability": "List available deployment locations / find closest region",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/locations and GET /v1/locations/closest",
    "mcp": null,
    "cli": "turso db locations",
    "ui": "Dashboard > Databases > Create (region picker)"
   },
   "check": "Response lists region codes; closest-region call returns a single region code matching caller location",
   "source": "https://docs.turso.tech/api-reference/locations/list.md; https://docs.turso.tech/api-reference/locations/closest-region.md"
  },
  {
   "id": "cap-23",
   "group": "Team",
   "capability": "Invite and manage organization members and roles",
   "weight": "peripheral",
   "plan": "scaler",
   "surfaces": {
    "api": "POST /v1/organizations/{organizationSlug}/invites, PATCH .../members/{username}",
    "mcp": null,
    "cli": "turso org members invite",
    "ui": "Dashboard > Organization > Members"
   },
   "check": "GET /v1/organizations/{organizationSlug}/members lists the new member with the assigned role",
   "source": "https://docs.turso.tech/api-reference/organizations/members/add.md; https://docs.turso.tech/cli/org/members/invite.md; https://turso.tech/pricing"
  },
  {
   "id": "cap-24",
   "group": "Team",
   "capability": "Create and switch between organizations",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/organizations",
    "mcp": null,
    "cli": "turso org create / turso org switch",
    "ui": "Dashboard > Organization switcher"
   },
   "check": "GET /v1/organizations lists the new organization",
   "source": "https://docs.turso.tech/api-reference/organizations/list.md; https://docs.turso.tech/cli/org/switch.md"
  },
  {
   "id": "cap-25",
   "group": "Billing",
   "capability": "View and change subscription plan",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/organizations/{organizationSlug}/subscription",
    "mcp": null,
    "cli": "turso plan show / turso plan select",
    "ui": "Dashboard > Billing"
   },
   "check": "GET subscription reflects the newly selected plan name",
   "source": "https://docs.turso.tech/api-reference/organizations/subscription.md; https://docs.turso.tech/cli/plan/select.md"
  },
  {
   "id": "cap-26",
   "group": "Billing",
   "capability": "Enable/disable usage overages and view invoices",
   "weight": "peripheral",
   "plan": "developer",
   "surfaces": {
    "api": "GET /v1/organizations/{organizationSlug}/invoices",
    "mcp": null,
    "cli": "turso plan overages enable / disable",
    "ui": "Dashboard > Billing > Overages"
   },
   "check": "turso plan show reflects overages toggle state; invoices list reflects billed overage usage",
   "source": "https://docs.turso.tech/api-reference/organizations/invoices.md; https://docs.turso.tech/cli/plan/overages/enable.md; https://turso.tech/pricing"
  },
  {
   "id": "cap-27",
   "group": "Platform tokens",
   "capability": "Mint and revoke personal API tokens",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/auth/api-tokens",
    "mcp": null,
    "cli": "turso auth api-tokens mint",
    "ui": "Dashboard > Account > Tokens"
   },
   "check": "turso auth api-tokens list shows the new token; using it authenticates a Platform API call",
   "source": "https://docs.turso.tech/api-reference/tokens/create.md; https://docs.turso.tech/cli/auth/api-tokens/mint.md"
  },
  {
   "id": "cap-28",
   "group": "Connectivity",
   "capability": "Deploy a private network endpoint (AWS PrivateLink) for a database",
   "weight": "peripheral",
   "plan": "developer",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Database > Settings > Private Endpoints"
   },
   "check": "Database configuration shows a private endpoint entry reachable only from the configured VPC",
   "source": "https://docs.turso.tech/cloud/private-endpoints.md"
  }
 ],
 "attempts": [
  {
   "t": "01:26",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "robots.txt + Content-Usage",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "turso.tech/robots.txt: User-agent * Disallow /api.turso.tech/ /app/ /turso-soc2.pdf, no Content-Usage. docs.turso.tech/robots.txt: 'Content-Signal: ai-train=yes, search=yes, ai-input=yes' (Cloudflare Content Signals scheme, parses yes/no). No Content-Usage header on turso.tech",
   "notes": ""
  },
  {
   "t": "01:26",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "llms.txt",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "https://turso.tech/llms.txt 200 text/plain (H1 '# Turso'); https://docs.turso.tech/llms.txt 200 listing .md pages",
   "notes": ""
  },
  {
   "t": "01:26",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "Markdown docs",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "GET docs.turso.tech/introduction with Accept: text/markdown -> content-type text/markdown, vary includes Accept; .md URLs (e.g. /cli/auth/login.md) serve markdown",
   "notes": ""
  },
  {
   "t": "01:26",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "OpenAPI",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "https://turso.tech/openapi.json 200 application/json, openapi: 3.0.1, 40 paths / 53 operations; no x-payment-info/x-service-info",
   "notes": ""
  },
  {
   "t": "01:26",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "MCP discovery cards",
   "route": "api",
   "documented": true,
   "result": "partial",
   "verified": true,
   "evidence": "turso.tech/.well-known/mcp 200 JSON (endpoint https://mcp.turso.ai/mcp, oauth2). turso.tech/.well-known/ai-catalog.json 404; mcp.turso.ai/mcp/server-card 404 JSON route_not_found. docs.turso.tech/.well-known/mcp/server-card.json 200 (Docs MCP, Mintlify). docs.turso.tech/.well-known/agent-card.json 200 JSON protocolVersion 0.3. turso.tech/.well-known/agent-card.json 404 HTML",
   "notes": ""
  },
  {
   "t": "01:26",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "MCP server/discover on mcp.turso.ai/mcp",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "POST server/discover (2026-07-28 headers) -> HTTP 401, WWW-Authenticate: Bearer resource_metadata=\"https://mcp.turso.ai/.well-known/oauth-protected-resource/mcp\", body {\"error\":\"token contains an invalid number of segments\"}. PRM 200 (authorization_servers https://api.turso.tech). AS metadata: client_id_metadata_document_supported true, registration_endpoint present, grant authorization_code only, S256",
   "notes": "auth required before discover; no device flow",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "03:32",
   "cap": "signup",
   "capability": "Sign up",
   "task": "Create a Turso account headless via CLI",
   "route": "cli",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "turso auth signup --headless (CLI v1.0.33) only prints 'Visit the following URL to login: https://api.turso.tech/signup?redirect=false' and exits 0; URL 302 -> /auth/clerk -> app.turso.tech Clerk web form. No API/CLI sign-up, no device flow.",
   "notes": "Sign-up is web-form only (Clerk)",
   "quality": {
    "error_legibility": "n/a"
   }
  },
  {
   "t": "03:32",
   "cap": "signup",
   "capability": "Sign up",
   "task": "Create account in browser on app.turso.tech/signup (Clerk form)",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "Filled First name AgentDrives, Last name Test, username, email, password, clicked Continue -> form replaced by Cloudflare Turnstile widget 'Verify you are human' (screenshot browser/shots/003.png). Not solved by us.",
   "notes": "Visible Cloudflare Turnstile on the Clerk sign-up form; our pw detector reported visible_challenge false but the screenshot shows the checkbox widget"
  },
  {
   "t": "05:24",
   "cap": "cap-08",
   "capability": "Store and query vector embeddings",
   "task": "Store 3 embeddings in F32_BLOB column and find nearest neighbours",
   "route": "sdk",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "CREATE TABLE docs(... emb F32_BLOB(3)); INSERT vector32(...); SELECT ... ORDER BY vector_distance_cos(emb, vector32('[1,0,0]')) -> cat (4.5e-8), dog (0.0061)",
   "notes": "Local embedded Turso engine via official JS SDK @tursodatabase/database 0.8.2 (no cloud account available: sign-up blocked)",
   "quality": {
    "verify_route": "yes",
    "docs_match": "match"
   }
  },
  {
   "t": "05:24",
   "cap": "cap-10",
   "capability": "Create and query a full-text search index (BM25 ranking)",
   "task": "Create FTS index on articles and rank matches for 'database'",
   "route": "sdk",
   "documented": true,
   "result": "failed",
   "verified": true,
   "evidence": "connect('local.db') then CREATE INDEX idx_art ON articles USING fts (title, body) -> 'Parse error: index method is an experimental feature. Enable with --experimental-index-method flag'; fts_match then returned rows with fts_score 0",
   "notes": "Local embedded Turso engine via official JS SDK @tursodatabase/database 0.8.2 (no cloud account available: sign-up blocked); docs page sql-reference/functions/fts.md does not mention the experimental flag",
   "quality": {
    "error_legibility": "clear",
    "docs_match": "drift",
    "recoverable": "yes"
   }
  },
  {
   "t": "05:24",
   "cap": "cap-10",
   "capability": "Create and query a full-text search index (BM25 ranking)",
   "task": "Retry with connect(path, {experimental:['index_method']})",
   "route": "sdk",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "CREATE INDEX ... USING fts ok; SELECT title, fts_score(title, body,'database') ... WHERE fts_match(...) ORDER BY s DESC -> 'SQLite tips' 0.508, 'Cooking' 0.373",
   "notes": "Local embedded Turso engine via official JS SDK @tursodatabase/database 0.8.2 (no cloud account available: sign-up blocked); option found in SDK types (ExperimentalFeature 'index_method')",
   "quality": {
    "verify_route": "yes",
    "docs_match": "drift"
   }
  },
  {
   "t": "05:24",
   "cap": "cap-11",
   "capability": "Enable Change Data Capture",
   "task": "PRAGMA capture_data_changes_conn('full'), insert/update/delete a row, read turso_cdc",
   "route": "sdk",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "turso_cdc rows for table users: change_type 1 (insert, after {id:1,name:alice}), 0 (update, after alice2), -1 (delete)",
   "notes": "Local embedded Turso engine via official JS SDK @tursodatabase/database 0.8.2 (no cloud account available: sign-up blocked)",
   "quality": {
    "verify_route": "yes",
    "docs_match": "match"
   }
  },
  {
   "t": "06:20",
   "cap": "signup",
   "capability": "Sign up",
   "task": "Sign up with 'Sign in with AgentID' (Clerk custom provider) on app.turso.tech/signup",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "Clicked .cl-socialButtonsIconButton__custom_agentid -> same Cloudflare Turnstile 'Verify you are human' widget before any redirect (browser/shots/008.png)",
   "notes": "AgentID option is not described anywhere in docs.turso.tech/llms-full.txt."
  },
  {
   "t": "06:48",
   "cap": "cap-02",
   "capability": "Run SQL queries, writes, and schema changes",
   "task": "Create table, insert, update, ALTER TABLE ADD COLUMN, select, reopen file",
   "route": "sdk",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "SELECT * FROM notes -> [{id:1, body:'edited', tag:'t1'}]; sqlite_schema shows ALTER applied; count 1 after reopening app.db",
   "notes": "Local embedded Turso engine via official JS SDK @tursodatabase/database 0.8.2 (no cloud account available: sign-up blocked). Not tested against a Turso Cloud database (no account).",
   "quality": {
    "verify_route": "yes",
    "docs_match": "match"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-29",
   "capability": "Connect an application via a client SDK",
   "task": "npm i @tursodatabase/database; connect('app.db'); query rows",
   "route": "sdk",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "connect + prepare.all returned rows (see attempt); follows docs.turso.tech/connect/javascript.md quickstart verbatim",
   "notes": "Local embedded Turso engine via official JS SDK @tursodatabase/database 0.8.2 (no cloud account available: sign-up blocked). Remote/cloud connection not tested (no account, no database URL or token).",
   "quality": {
    "docs_match": "match"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-01",
   "capability": "Create a database",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-03",
   "capability": "Delete a database",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-04",
   "capability": "Branch a database from an existing database or point-in-time snapshot",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-05",
   "capability": "Restore a database to an earlier point in time",
   "task": "Attempt via mcp",
   "route": "mcp",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-06",
   "capability": "Recover a deleted database or group",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: paid",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-07",
   "capability": "Create and manage a group (replicated location set) for databases",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-09",
   "capability": "Sync a local embedded database with Turso Cloud (push/pull)",
   "task": "Attempt via sdk",
   "route": "sdk",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-12",
   "capability": "Create a scoped database/group authorization token",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-13",
   "capability": "Invalidate all auth tokens for a database or group",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-14",
   "capability": "Restrict database access with IP/CIDR/AWS VPC allow rules",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: developer",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-15",
   "capability": "Encrypt a database at rest with a customer-supplied (BYOK) key",
   "task": "Attempt via none",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: pro",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-16",
   "capability": "Import an existing SQLite database into Turso",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-17",
   "capability": "Export a database to a SQLite file",
   "task": "Attempt via cli",
   "route": "cli",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-18",
   "capability": "View per-database usage (rows read/written, storage, syncs)",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-19",
   "capability": "View top queries / query stats (rows read and written per query)",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-20",
   "capability": "View organization-wide audit logs",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: developer",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-21",
   "capability": "List and inspect database replica instances by region",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-22",
   "capability": "List available deployment locations / find closest region",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-23",
   "capability": "Invite and manage organization members and roles",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: scaler",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-24",
   "capability": "Create and switch between organizations",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-25",
   "capability": "View and change subscription plan",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-26",
   "capability": "Enable/disable usage overages and view invoices",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: developer",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-27",
   "capability": "Mint and revoke personal API tokens",
   "task": "Attempt via api",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "06:48",
   "cap": "cap-28",
   "capability": "Deploy a private network endpoint (AWS PrivateLink) for a database",
   "task": "Attempt via none",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": "plan per map: developer",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "07:18",
   "cap": "docs",
   "capability": "Find docs",
   "task": "Find docs, OpenAPI, llms.txt, MCP card",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "docs.turso.tech llms.txt + .md pages, Accept text/markdown; turso.tech/openapi.json (3.0.1); turso.tech/.well-known/mcp",
   "notes": "",
   "quality": {
    "docs_match": "match"
   }
  },
  {
   "t": "07:18",
   "cap": "verify",
   "capability": "Verify email",
   "task": "Verify the sign-up email",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Never reached: sign-up form stopped at Cloudflare Turnstile; no mail requested",
   "notes": ""
  },
  {
   "t": "07:18",
   "cap": "credentials",
   "capability": "Get API credentials",
   "task": "turso auth login --headless, then platform token",
   "route": "cli",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "turso auth login --headless prints 'Visit the following URL to login: https://api.turso.tech?redirect=false' and exits; turso db list -> 'You are not logged in, please login with turso auth login'. MCP OAuth: authorization_code + PKCE only (no device grant) via app.turso.tech/oauth/mcp/authorize, which needs an account.",
   "notes": "No account (sign-up wall)",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "07:18",
   "cap": "first_call",
   "capability": "First API call",
   "task": "GET /v1/organizations without credentials",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "GET https://api.turso.tech/v1/organizations -> 401 application/json {\"error\":\"token contains an invalid number of segments\"} (also /v1/locations)",
   "notes": "error is JSON but not problem+json and does not say a token is missing or how to get one",
   "quality": {
    "error_legibility": "vague"
   }
  },
  {
   "t": "07:18",
   "cap": "first_action",
   "capability": "First real action",
   "task": "Create a cloud database",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Blocked: no Turso Cloud account. Sign-up is web-only (Clerk) behind a visible Cloudflare Turnstile. Platform API answers 401 {\"error\":\"token contains an invalid number of segments\"} without a token.",
   "notes": ""
  },
  {
   "t": "07:18",
   "cap": "pay",
   "capability": "Pay step",
   "task": "Probe agent payment rails",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "401 (not 402) on /v1/organizations/x/subscription and /invoices without token; x402./mpp./agents.turso.tech do not resolve (curl 000); /.well-known/ucp 404 JSON; no x-payment-info in openapi.json; Coinbase x402 Bazaar and mpp.dev/api/services: no 'turso'; projects.dev (Stripe Projects) catalog lists provider slug 'turso/database' (listing only, not confirmed); docs llms-full.txt: no x402/MPP/Stripe/checkout; docs cli/plan/select & cli/plan/upgrade: 'You will need to add your credit card details to your account before you can upgrade to a paid plan.' Pricing: Free $0/month, 'Start free, no credit card required.'",
   "notes": "Free tier needs no card; paid upgrade via CLI after a card is on the account (docs only, not exercised)"
  },
  {
   "t": "07:18",
   "cap": "cancel",
   "capability": "Cancel",
   "task": "Downgrade plan",
   "route": "cli",
   "documented": true,
   "result": "skipped",
   "verified": false,
   "evidence": "No plan started (no account). Docs: turso plan select switches plan from the CLI.",
   "notes": ""
  },
  {
   "t": "07:18",
   "cap": "delete",
   "capability": "Delete account",
   "task": "Delete account and data",
   "route": "cli",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account created. Docs: turso org destroy deletes an org you own but 'Users cannot also destroy the a personal account or active organization'; no account-deletion command or API found in llms-full.txt (searched 'delete account', 'account deletion').",
   "notes": ""
  },
  {
   "t": "07:18",
   "cap": "discovery",
   "capability": "Agent discovery",
   "task": "Docs MCP server/discover",
   "route": "mcp",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "POST https://turso.main-kill-isr.mintlify.me/mcp server/discover -> 200 supportedVersions [\"2026-07-28\"] (Mintlify docs MCP, search tools; from docs.turso.tech/.well-known/mcp/server-card.json)",
   "notes": ""
  }
 ],
 "stale": false,
 "icon": "/logos/turso.png",
 "monitored": false,
 "verdict": "Needs a person: L1 · Needs a person. Our agent read Turso's docs on its own, headless, with llms.txt and Markdown pages, then hit a Clerk web form for sign-up. Submitting it showed a visible Cloudflare Turnstile check our agent could not pass, so no account, token or cloud database followed, and every API path answered that no token was present. Through the API it reached nothing live, but the embedded engine ran locally through the official SDK with no account at all: SQL, vectors, full-text search and CDC all worked there. Paying and leaving were never reached: no plan was started and no account existed to delete.",
 "page": "https://agentdrives.com/tools/turso?via=api"
}