{
 "$schema": "https://agentdrives.com/schemas/tool.schema.json",
 "id": "prd_01m5vdfz0zt954t7t9zjszdch2",
 "ids": {
  "org": "org_01m5vdfz0zt1pyfb3yqs6j5jf2",
  "surfaces": {
   "web": "srf_01m5vdfz0zmqm8hewfcyn87hm2",
   "api": "srf_01m5vdfz0zf0s7jdake5jnm1he",
   "mcp": "srf_01m5vdfz0z91kxy9dnn7m81m7f",
   "cli": "srf_01m5vdfz0z9q5b1921yxwfcyed"
  },
  "slugs": [
   "motherduck"
  ],
  "domain": "motherduck.com"
 },
 "slug": "motherduck",
 "name": "MotherDuck",
 "url": "https://motherduck.com",
 "domain": "motherduck.com",
 "category": "data-warehouses",
 "category_name": "Data warehouses",
 "tested_at": "2026-10-26",
 "run": "20261026T021818Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261026T021818Z",
   "date": "2026-10-26",
   "level": 4,
   "engine": {
    "model": "claude-opus-5-5",
    "driver": 5,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": "2026.10.25",
    "commit": "12db9b239d2f67056567f6e048e27e0e5abc6a10",
    "prompts": {
     "version": "2026.10.25",
     "commit": "91b82cb48a69d1b477a3a4749cea228ed563c85c"
    },
    "rules": {
     "version": "2026.10.25",
     "commit": "6076b99274a3dc4f96f06f95d78404f71141246d"
    }
   },
   "stop": null,
   "paid": false,
   "agent_paid": null
  }
 ],
 "level": 4,
 "level_name": "Runs on its own",
 "level_selfhost": null,
 "entry": "self-start",
 "door": {
  "passed": 1,
  "tries": 1,
  "self_start": true
 },
 "badges": [
  "agent-can-leave"
 ],
 "not_counted": null,
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "yes",
   "text": "Gets in on its own: try first, claim later, MCP sign-in, sign-up in a browser",
   "way": "email_password"
  },
  {
   "key": "work",
   "label": "Use",
   "state": "yes",
   "text": "Work done: 100% of the core"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "No payment made: its robots.txt closes the payment page",
   "value": "not_tried",
   "route": "card_checkout",
   "why": "robots"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Leaves on its own: nothing to cancel, deletes its account",
   "left": "deleted",
   "delete": {
    "state": "yes",
    "text": "Deletes its account",
    "why": null
   }
  }
 ],
 "outcomes": [
  {
   "key": "find",
   "label": "Learn",
   "state": "yes",
   "text": "Docs it can act on: llms.txt, an OpenAPI and an MCP server",
   "have": [
    "llms_txt",
    "openapi",
    "mcp"
   ],
   "docs": "complete"
  },
  {
   "key": "access",
   "label": "Access",
   "state": "yes",
   "text": "Gets in on its own: try first, claim later, MCP sign-in, sign-up in a browser",
   "way": "email_password",
   "stage": "in"
  },
  {
   "key": "use",
   "label": "Use",
   "state": "yes",
   "text": "Work done: 100% of the core",
   "stage": "work"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "No payment made: its robots.txt closes the payment page",
   "value": "not_tried",
   "route": "card_checkout",
   "why": "robots",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Leaves on its own: nothing to cancel, deletes its account",
   "left": "deleted",
   "delete": {
    "state": "yes",
    "text": "Deletes its account",
    "why": null
   },
   "stage": "leave"
  }
 ],
 "access": [
  {
   "key": "try_first",
   "label": "Try first, claim later",
   "routes": [
    "claimable"
   ],
   "minutes": 2,
   "core": "0/10"
  },
  {
   "key": "mcp_signin",
   "label": "MCP sign-in",
   "routes": [
    "oauth_consent"
   ],
   "minutes": 3,
   "core": "10/10"
  },
  {
   "key": "browser_signup",
   "label": "Sign-up in a browser",
   "routes": [
    "email_password",
    "device_login"
   ],
   "minutes": 2,
   "core": "10/10",
   "by_route": {
    "email_password": "10/10",
    "device_login": "0/10"
   }
  }
 ],
 "minutes": 2,
 "next": {
  "to": 5,
  "text": "Next: pay without a person"
 },
 "stop": null,
 "core": "10/10",
 "scores": {
  "coverage": 92,
  "reliability": 70,
  "resilience": 72,
  "setup": 100,
  "surface_coverage": 97,
  "docs_accuracy": 99,
  "docs_completeness": 75
 },
 "parts": {
  "holds_up": 71,
  "docs_match": 92,
  "setup": 100,
  "security": "private",
  "standards": [
   {
    "standard": "MCP discovery",
    "state": "behind",
    "behind": null,
    "value": "legacy"
   },
   {
    "standard": "MCP client registration",
    "state": "behind",
    "behind": null,
    "value": "dcr"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 2,
    "value": "3.0.3"
   }
  ]
 },
 "reliability_method": "pass^k",
 "resilience": {
  "parts": {
   "error_legibility": 84,
   "recovery": 100,
   "idempotency": 33
  },
  "summary": {
   "error_legibility": "clear",
   "recovery": "good",
   "idempotency": "risky",
   "rate_limits": "none-seen",
   "notes": "Errors name the field, column or rule (Binder errors with candidates, cron format, ttl minimum, issues lists for two invalid fields); save_dive duplicates on repeat while create_flight refuses a duplicate name. 15 quick reads all 200 with no rate-limit headers."
  }
 },
 "stress": [
  {
   "capability": "Run a SQL query against a MotherDuck database",
   "probe": "revoked OAuth access token still used",
   "outcome": "revoke -> 200; MCP afterwards -> 200, list_databases success",
   "grade": "silent",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a database",
   "probe": "create a database whose name exists",
   "outcome": "success: false\nerror: \"Binder Error: Failed to create database: database with name \\\"ad_work\\\" already exists\"\nerrorType: Error",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Generate an interactive visualization (Dive) from a natural-language question",
   "probe": "save_dive without required content",
   "outcome": "MCP error -32602: Input validation error: Invalid arguments for tool save_dive: Invalid input: expected string, received undefined at content",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Read Flight run history and logs",
   "probe": "get_flight with a well-formed id that does not exist",
   "outcome": "success: false\nerror: \"Flight \\\"00000000-0000-4000-8000-000000000000\\\" not found\"",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Build and deploy a scheduled Python data pipeline (Flight)",
   "probe": "create_flight with an invalid cron",
   "outcome": "success: false\nerror: \"Invalid schedule_cron: Cron expression must have 5 space-separated fields (got 2): minute hour day-of-month month day-of-week\"",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a SQL query against a MotherDuck database",
   "probe": "REST create token with ttl below minimum (300)",
   "outcome": "HTTP/2 400 {\"message\":\"Input validation failed\",\"code\":\"BAD_REQUEST\",\"data\":{\"code\":\"BAD_REQUEST\",\"httpStatus\":400,\"path\":\"users.createToken\"},\"issues\":[{\"code\":\"too_small\",\"minimum\":300,\"type\":\"numbe",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Generate an interactive visualization (Dive) from a natural-language question",
   "probe": "repeat the same save_dive",
   "outcome": "two Dives created: ['9efc96a5-2edc-4ac4-8f0a-504e553b1205', 'f1c95ddb-1b62-43d2-a6ad-86b9c703f0af']",
   "grade": "clear",
   "idempotent": "no",
   "rate_limit": null
  },
  {
   "capability": "Build and deploy a scheduled Python data pipeline (Flight)",
   "probe": "repeat the same create_flight (same name)",
   "outcome": "second -> success=False; ids ['283ba024-b863-4bb7-928d-06245bec3aad']; success: false\nerror: \"Flight with name \\\"ad-idem\\\" already exists\"",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "Run a SQL query against a MotherDuck database",
   "probe": "REST call with a wrong token",
   "outcome": "HTTP/2 403 {\"errMessage\":\"Invalid authentication token, please fetch a new one at https://app.motherduck.com\",\"mdFriendlyStatusCode\":\"AUTHENTICATION_ERROR\"} (403, not 401; no WWW-Authenticate; message",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "List databases and read their schema",
   "probe": "MCP initialize with a wrong bearer token",
   "outcome": "HTTP/2 401 {'jsonrpc': '2.0', 'error': {'code': -32001, 'message': 'Invalid token format: not a valid JWT'}, 'id': 1}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a SQL query against a MotherDuck database",
   "probe": "burst of 15 sequential reads",
   "outcome": "statuses ['200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200']; no RateLimit/X-RateLimit/Retry-After headers seen",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "none-seen"
  },
  {
   "capability": "Trigger a Flight run on demand",
   "probe": "cancel a running flight mid-way (cancel_flight_run) and check the state",
   "outcome": "cancel -> success: true\nflight_id: 4797e7b9-91bc-4468-8dd7-f963cbf3efe2\nrun_number: 1\ncanceled: true; final status CANCELLED; tables present: ess: true\ncolumns[1]: table_name\ncolumnTypes[1]: VARCHAR\nr",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  }
 ],
 "surface_audit": {
  "totals": {
   "items": 204,
   "documented": 194,
   "safe": 191,
   "exercised": 187,
   "passed": 186,
   "skipped": 5,
   "blocked": 1,
   "not_run": 3,
   "match": 185,
   "drift": 2,
   "broken_doc": 0,
   "docs_complete": 96,
   "docs_partial": 98,
   "docs_missing": 0,
   "errors_clear": 9,
   "errors_vague": 0,
   "errors_silent": 0
  }
 },
 "coverage_core": 100,
 "coverage_own": 100,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 5,
  "model": "claude-opus-5-5",
  "profile": "full",
  "assisted": false,
  "handoff": false
 },
 "methodology": 42,
 "rules_date": "2026-10-30",
 "engine": {
  "model": "claude-opus-5-5",
  "driver": 5,
  "signed": true,
  "inbox": [
   "agentdrives.com"
  ],
  "robots": "skip",
  "version": "2026.10.25",
  "commit": "12db9b239d2f67056567f6e048e27e0e5abc6a10",
  "prompts": {
   "version": "2026.10.25",
   "commit": "91b82cb48a69d1b477a3a4749cea228ed563c85c"
  },
  "rules": {
   "version": "2026.10.25",
   "commit": "6076b99274a3dc4f96f06f95d78404f71141246d"
  }
 },
 "same_level_drives": 2,
 "drives": 2,
 "same_stop_drives": 1,
 "works_assisted": null,
 "freshness": "fresh",
 "newer_drives": {
  "count": 1,
  "newest": "2026-11-02"
 },
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": null,
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "in"
  },
  "signed": {
   "state": "robots",
   "kind": "signup",
   "at": "2026-11-02"
  },
  "browser": {
   "state": "in",
   "measured": false
  },
  "our_key": "pending",
  "robots": "closed",
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "llms.txt (site and /docs), markdown on every docs page (Accept: text/markdown with Vary: Accept, and .md URLs), OpenAPI 3.0.3 at /openapi.json, robots.txt lists the MCP server, OpenAPI and agent-skills index."
  },
  "signup": {
   "status": "n/a",
   "note": "Not needed on the main way: the documented CLI command `motherduck new` made an unclaimed Free Plan organization and token in 3 s with no form, email or browser; a person must claim it within 72 h to keep it. The web sign-up (email + password on auth.motherduck.com, no CAPTCHA) also worked in the browser; it asked for a name, a team name and a region; our agent answered.",
   "way": "email_password"
  },
  "verify": {
   "status": "n/a",
   "note": "motherduck new needs no email. On the web sign-up the 'Verify your email' mail came within a minute and the link's Continue form was submitted without a browser."
  },
  "credentials": {
   "status": "headless",
   "note": "motherduck new saves a read/write token to credentials.json. Later tokens (scoped, expiring, read-only) come from POST /v1/users/{username}/tokens; the web sign-up's first token needs Settings > Access Tokens in the browser.",
   "via": ""
  },
  "first_call": {
   "status": "headless",
   "note": "motherduck query \"SELECT count(*) FROM sample_data.nyc.taxi\" -> 3252717 on the account `motherduck new` made, with no sign-up. On the web account GET /v1/users/drive_070/tokens -> 200 and MCP tools/list -> 47 tools.",
   "route": "no_account",
   "reaches_core": false
  },
  "first_action": {
   "status": "headless",
   "note": "CREATE DATABASE and CREATE TABLE through the CLI (and through MCP query_rw on the web account), read back."
  },
  "pay": {
   "status": "browser",
   "grade": "P2",
   "rails": [
    "Stripe Checkout (card)"
   ],
   "rail_ids": [
    "stripe-checkout"
   ],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "no-card trial",
   "3ds": "none",
   "route": "card_checkout",
   "checkout": {
    "reached": "plan_page",
    "processor": "stripe_checkout",
    "captcha": "none",
    "three_ds": "not_seen",
    "card_form": false,
    "phone_field": "none",
    "wallets": [],
    "rail_offer": "none",
    "price": "250.00",
    "currency": "USD",
    "period": "month",
    "plan": "Business",
    "last_button": "Start Business plan"
   },
   "person": null,
   "ours": "robots",
   "note": "No 402, x402, MPP or billing API (OpenAPI, MCP tools, CLI). Sign-up starts a 7-day Business trial without a card; Lite is $0 + usage. Settings > Plans > Select Business > 'Start Business plan now? ... your card will be charged' > Start Business plan opened a Stripe Checkout tab (checkout.stripe.com, cs_live); we stopped there: Stripe's checkout host disallows all user agents in robots.txt and we have no card. We paid nothing (no 402 on the product's endpoints)."
  },
  "cancel": {
   "status": "n/a",
   "note": "Nothing to cancel: our agent started no paid plan.",
   "docs_note": "Nothing to cancel: the drive used the no-card Business trial and the Free Plan. Plan changes are in the web app (Settings > Plans and Billing); no billing API, MCP tool or CLI command.",
   "docs_grade": "",
   "nothing": "no_plan"
  },
  "delete": {
   "status": "headless",
   "note": "DELETE /v1/users/drive_070 with our own token (documented 'Delete a user'; the only member's delete removes the organization) -> 200. REST answered 404 at once; MCP and CLI refused the token from about 5 minutes later. The unclaimed CLI account went the same way (DELETE /v1/users/agent_03eab390, CLI refused at once). The sign-in identity at auth.motherduck.com remains and only offers to create a new account.",
   "left": "deleted",
   "after_hours": null,
   "account": true
  }
 },
 "routes": [
  {
   "route": "claimable",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": 2,
   "browser": false
  },
  {
   "route": "api_signup",
   "offered": "documented",
   "tried": false,
   "not_tried": "same_as",
   "result": null,
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": 0,
   "browser": null
  },
  {
   "route": "email_password",
   "offered": "seen",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "inbox",
   "fresh": true,
   "minutes": 7,
   "browser": true
  },
  {
   "route": "device_login",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": false,
   "minutes": 2,
   "browser": true
  },
  {
   "route": "oauth_consent",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": false,
   "minutes": 3,
   "browser": true
  }
 ],
 "checkout": {
  "reached": "plan_page",
  "processor": "stripe_checkout",
  "captcha": "none",
  "three_ds": "not_seen",
  "phone_field": "none",
  "rail_offer": "none",
  "period": "month",
  "card_form": false,
  "price": "250.00",
  "currency": "USD",
  "plan": "Business",
  "last_button": "Start Business plan"
 },
 "docs": {
  "at": "2026-10-26",
  "read": 596,
  "listed": 743,
  "sampled": true,
  "overall": "complete",
  "getting_started": "found",
  "auth": "found",
  "errors": "found",
  "examples": "good",
  "freshness": "fresh",
  "newest": "2026-10-26",
  "core_pages": "10 of 10",
  "capabilities": "covered",
  "label": "No gaps in what we read"
 },
 "claims": {
  "claimed": 12,
  "tried": 12,
  "held": 12,
  "broken": 0,
  "unclear": 0,
  "not_tried": 0,
  "undocumented_works": 0
 },
 "pay_options": {
  "checked": "2026-10-26",
  "source": "probe",
  "options": [],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": true,
   "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,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "urls": {
  "docs": "https://motherduck.com/docs/getting-started/",
  "llms_txt": "https://motherduck.com/llms.txt",
  "mcp": "https://api.motherduck.com/mcp"
 },
 "surface_notes": {
  "api": "REST admin API, 10 operations (users, tokens, ducklings, embed sessions); data work is SQL",
  "openapi": "3.0.3, 10 operations",
  "mcp": "official remote server, 47 tools (SQL, schema, Dives, Flights, Guides, docs Q&A)",
  "cli": "MotherDuck CLI v1.5.6-2026-10-707: new, login (device flow), query, dive, flight, guide",
  "llms_txt": "llms.txt and docs/llms.txt; markdown via Accept or .md"
 },
 "surface_sizes": [
  {
   "kind": "api",
   "listed": 10,
   "tested": 10
  },
  {
   "kind": "mcp",
   "listed": 41,
   "tested": 41
  },
  {
   "kind": "cli",
   "listed": 35,
   "tested": 35
  },
  {
   "kind": "sdk",
   "listed": 101,
   "tested": 94
  }
 ],
 "can_do": [
  "Create its own account and token from the terminal with motherduck new, no form or email",
  "Run SQL queries and write data through the MCP server, the CLI or SQL",
  "Create, alter, clone, snapshot, restore and drop databases, including managed DuckLake databases",
  "Create and change tables and query them, with time travel on DuckLake",
  "Build, update, read and delete Dives (React data apps) and embed one with an embed session",
  "Create, schedule, run, cancel and read the logs of Python Flights",
  "Write, edit and browse Guides for other agents",
  "Create scoped, expiring and read-only tokens and service accounts without a browser",
  "Share databases with table patterns and secure views",
  "Delete its own account through the REST API"
 ],
 "cannot_do": [
  {
   "what": "Pay for a plan on its own",
   "why": "Buying is a Stripe Checkout card form opened from the web app; no billing API, MCP tool, CLI command or agent payment rail."
  },
  {
   "what": "Connect an Iceberg REST catalog",
   "why": "Needs an existing external catalog and cloud credentials, which account does not have."
  },
  {
   "what": "Keep a CLI-created account past 72 hours",
   "why": "motherduck new makes an unclaimed organization; a person must open the claim link and sign up to keep it."
  }
 ],
 "blockers": [
  "Paid plans only through a Stripe Checkout card form in the web app"
 ],
 "tips_for_agents": [
  "Install the MotherDuck CLI from https://install.motherduck.com and run 'motherduck new -o json' to get an account and token with no browser; delete it with DELETE /v1/users/<username> when done.",
  "On an existing account, use 'motherduck login --headless' then 'motherduck login --device-code=<code>' after a person confirms the code.",
  "Use the remote MCP server at https://api.motherduck.com/mcp with 'Authorization: Bearer <token>' (protocol 2025-11-25); call get_dive_guide or get_flight_guide before writing Dives or Flights.",
  "The MCP 'query' tool refuses CALL, SHOW ALL ROLES and EXPLAIN ANALYZE as not read-only: send them through query_rw.",
  "Find your username with GET /v1/users before calling /v1/users/{username}/... (the email's local part with '-' turned into '_').",
  "Create scoped tokens with POST /v1/users/{username}/tokens (ttl >= 300, token_type read_scaling for read-only)."
 ],
 "selfhost": null,
 "edge_case": "none",
 "summary": "An agent can run MotherDuck end to end on its own: the CLI's motherduck new creates an account and token with no browser, and the official MCP server, CLI and SQL cover every core task (queries, databases, tables, DuckLake, Dives with embedding, scheduled Flights) through to deleting the account with a REST call. All 10 core capabilities worked; most were repeated three times, with one create that needed a clean re-run and one log read that did not verify on the third try. Paying is the gap: plans are bought only through a Stripe Checkout card form opened from the web app. Revoked or deleted credentials also kept working on MCP for a while.",
 "wall": "Paid plans only by card form in web app",
 "plan_scope": "no-card trial (Business, 7 days) on the web account; Free Plan on the CLI account",
 "robots_stop": null,
 "robots": {
  "rule": "star",
  "step": null,
  "seen": "2026-11-02",
  "held": false
 },
 "terms": null,
 "terms_read": "2026-10-26",
 "email_gate": null,
 "plain": {
  "summary": "MotherDuck is a cloud database service built on DuckDB. An agent got its own account and key from the terminal with no form or email, then ran queries, built tables, charts and scheduled jobs, and deleted the account. It stopped only at buying a plan, which needs a card form in the web app.",
  "can_do": [
   "Create its own account and access key from the terminal",
   "Run queries and create databases and tables",
   "Build a chart (Dive) and embed it in a page",
   "Create, schedule, run and read logs of Python jobs (Flights)",
   "Create limited or read-only keys",
   "Delete its own account"
  ],
  "cannot_do": [
   {
    "what": "Pay for a plan",
    "why": "Buying is a card form in the web app; no billing API or agent payment."
   },
   {
    "what": "Connect an Iceberg catalog",
    "why": "Needs an outside catalog and cloud credentials the account lacked."
   },
   {
    "what": "Keep a terminal-made account past 72 hours",
    "why": "A person must claim it first."
   }
  ]
 },
 "plan_gated": [
  {
   "capability": "Set up AWS PrivateLink or IP allowlisting",
   "plan": "Enterprise",
   "evidence": "Plans page: Enterprise 'Talk to Sales' lists 'AWS Private Link'"
  }
 ],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "capability": "Run a SQL query against a MotherDuck database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "query",
    "cli": "duckdb -ui / SQL client",
    "ui": "MotherDuck UI SQL editor"
   },
   "check": "Query result rows returned, or query_history shows the executed SQL text",
   "capability_id": "cap_hw0v5ga0",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/sql-reference/mcp/",
    "https://motherduck.com/docs/getting-started/interfaces/motherduck-quick-tour/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-02",
   "capability": "Create a database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "CREATE DATABASE (SQL)",
    "ui": "MotherDuck UI"
   },
   "check": "md_information_schema.databases lists the new database",
   "capability_id": "cap_9a3jhdb4",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/concepts/snapshots/",
    "https://motherduck.com/product/ducklake/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-03",
   "capability": "List databases and read their schema",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "list_databases / list_tables",
    "cli": null,
    "ui": "Schema tree in UI"
   },
   "check": "list_databases / list_tables tool call returns schema, tables, and columns",
   "capability_id": "cap_xqrrtrx2",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/sql-reference/mcp/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-04",
   "capability": "Create a table",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "CREATE TABLE (SQL)",
    "ui": "MotherDuck UI"
   },
   "check": "list_tables shows the new table",
   "capability_id": "cap_ec6ajdnd",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/getting-started/interfaces/motherduck-quick-tour/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-05",
   "capability": "Generate an interactive visualization (Dive) from a natural-language question",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "create_dive",
    "cli": "md pull/push dive",
    "ui": "Dives tab"
   },
   "check": "The Dive is saved in the workspace and renders live query results when opened",
   "capability_id": "cap_911r6a88",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/dives/",
    "https://motherduck.com/docs/sql-reference/mcp/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "browser",
    "cli"
   ]
  },
  {
   "id": "cap-06",
   "capability": "Embed a Dive in an external application",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dive embed snippet"
   },
   "check": "The embed snippet loads the live Dive inside a third-party page",
   "capability_id": "cap_re4q6bgh",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/key-tasks/ai-and-motherduck/dives/embedding-dives/",
    "https://motherduck.com/product/pricing/"
   ],
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "browser"
   ]
  },
  {
   "id": "cap-07",
   "capability": "Build and deploy a scheduled Python data pipeline (Flight)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "create/update Flight tools",
    "cli": "md push flight",
    "ui": "Flights tab"
   },
   "check": "md_flight_runs shows a completed run for the created Flight",
   "capability_id": "cap_kdfqww03",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/flights/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-08",
   "capability": "Trigger a Flight run on demand",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "run Flight tool",
    "cli": null,
    "ui": "Flights tab run button"
   },
   "check": "md_flight_runs lists a new run with status completed",
   "capability_id": "cap_bqf6tqmr",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/flights/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-09",
   "capability": "Read Flight run history and logs",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "md_flight_runs",
    "cli": null,
    "ui": "Flights tab"
   },
   "check": "md_flight_runs / run logs return timestamped execution records",
   "capability_id": "cap_ydwsadjh",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/flights/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-10",
   "capability": "Build a managed Iceberg/DuckLake lakehouse on cloud object storage",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "CREATE DATABASE ... TYPE DUCKLAKE (SQL)",
    "ui": "MotherDuck UI"
   },
   "check": "The DuckLake database appears in md_information_schema.databases with TYPE DUCKLAKE",
   "capability_id": "cap_53z76bgf",
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/product/ducklake/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli"
   ]
  },
  {
   "id": "cap-11",
   "capability": "Query a table as of a past time or snapshot version (time travel)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "SELECT ... AT (TIMESTAMP/VERSION) (SQL)",
    "ui": null
   },
   "check": "Query against an AT clause returns the historical row values",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/product/ducklake/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-12",
   "capability": "Create and manage a read-only data share of a database",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "attach/detach share tools",
    "cli": "CREATE SHARE (SQL)",
    "ui": "Share dialog"
   },
   "check": "md_information_schema shows the new share; consumer's ATTACH creates a read-only clone",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/docs/key-tasks/sharing-data/sharing-overview/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-13",
   "capability": "Scope a share to specific tables and mask or filter rows/columns",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "CREATE SHARE INCLUDE_PATTERN / ALTER SHARE ADD SECURE VIEW (SQL)",
    "ui": "Share custom tables config"
   },
   "check": "Consumer attaching the share sees only the included tables / masked columns",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/docs/key-tasks/sharing-data/sharing-overview/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-14",
   "capability": "Restore a database from a snapshot",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "CREATE DATABASE FROM ... SNAPSHOT (SQL)",
    "ui": "UI restore flow"
   },
   "check": "New database contains the data state from the referenced snapshot",
   "capability_id": "cap_ykvspbps",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/concepts/snapshots/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-15",
   "capability": "Create a named long-lived backup snapshot",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "CREATE SNAPSHOT (SQL)",
    "ui": null
   },
   "check": "md_information_schema.database_snapshots lists the named snapshot",
   "capability_id": "cap_drp5sav8",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/concepts/snapshots/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-16",
   "capability": "Write a Guide capturing org metric definitions and query conventions for AI agents",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "create_guide",
    "cli": null,
    "ui": null
   },
   "check": "MD_LIST_GUIDES / list_guides returns the new Guide by id",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/docs/key-tasks/guides/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-17",
   "capability": "Read and browse existing Guides by topic",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "list_guides / get_query_guide",
    "cli": null,
    "ui": null
   },
   "check": "get_query_guide returns topic tree and Guide content",
   "capability_id": "cap_5s4b1zbk",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/key-tasks/guides/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-18",
   "capability": "Update or edit a Guide's content",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "update_guide / edit_guide_content",
    "cli": null,
    "ui": null
   },
   "check": "MD_GET_GUIDE shows an incremented current_version with the new content",
   "capability_id": "cap_5wfd6v1f",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/key-tasks/guides/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-19",
   "capability": "Ask a natural-language documentation question (ask_docs_question)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "ask_docs_question",
    "cli": null,
    "ui": null
   },
   "check": "Tool call returns a documentation-grounded answer with citations",
   "capability_id": "cap_7f00vc9t",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/mcp-server/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-20",
   "capability": "Search the catalog for databases, tables, shares and Guides",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "search_catalog",
    "cli": null,
    "ui": "UI search"
   },
   "check": "search_catalog returns matching catalog objects for a query string",
   "capability_id": "cap_j1x1a2f4",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/mcp-server/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-21",
   "capability": "Auto-fix a broken SQL query (FixIt)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "SQL editor FixIt button"
   },
   "check": "Editor replaces the failing query with a corrected, runnable one",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/product/pricing/",
    "https://motherduck.com/docs/getting-started/interfaces/motherduck-quick-tour/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-22",
   "capability": "Visualize result-set columns instantly (Column Explorer)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Column Explorer panel"
   },
   "check": "Column Explorer panel renders distribution charts for the query's result columns",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/docs/getting-started/interfaces/motherduck-quick-tour/",
    "https://motherduck.com/product/pricing/"
   ],
   "result": "done",
   "via": "browser",
   "done_on": [
    "browser"
   ]
  },
  {
   "id": "cap-23",
   "capability": "Run SQL AI functions (prompt, embedding) over data",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "prompt/embedding (SQL)",
    "ui": null
   },
   "check": "Query using prompt/embedding returns generated text/vector output billed as AI Units",
   "capability_id": "cap_0g9776e9",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-24",
   "capability": "Read Apache Iceberg tables via REST catalog",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "ATTACH ... (TYPE ICEBERG) (SQL)",
    "ui": null
   },
   "check": "Query against the attached Iceberg catalog returns rows",
   "capability_id": "cap_xqrrtrx2",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/"
   ],
   "result": "blocked",
   "via": "mcp"
  },
  {
   "id": "cap-25",
   "capability": "Scale read workloads with read-scaling replicas",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Instance settings"
   },
   "check": "md_information_schema shows additional active read replicas serving queries",
   "capability_id": "cap_j8kyym81",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/",
    "https://motherduck.com/docs/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/"
   ],
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-26",
   "capability": "View consolidated query history across the organization",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "md_information_schema.query_history (SQL)",
    "ui": "Query History tab"
   },
   "check": "query_history view lists executed queries with user, timestamp, and SQL text",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/product/pricing/",
    "https://motherduck.com/docs/sql-reference/motherduck-sql-reference/md_information_schema/query_history/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-27",
   "capability": "Ingest data from cloud storage, databases, or SaaS sources",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "COPY/dlt ingest (SQL/Python)",
    "ui": null
   },
   "check": "Target table row count increases to match the source after an ingest run",
   "capability_id": "cap_yr6whrah",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/integrations/cloud-storage/amazon-s3/",
    "https://motherduck.com/product/flights/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-28",
   "capability": "Resize compute instance type/size",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "ALTER DATABASE / instance size setting (SQL)",
    "ui": "Instance settings"
   },
   "check": "md_information_schema.databases reflects the new instance type (Pulse/Standard/Jumbo/Mega/Giga)",
   "capability_id": "cap_jajhkrq5",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/"
   ],
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-29",
   "capability": "Create a service account for programmatic access",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Organization settings"
   },
   "check": "Organization's service account list shows the new account with an active token",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": [
    "https://motherduck.com/docs/key-tasks/service-accounts-guide/"
   ],
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-30",
   "capability": "Restrict a connection to read-only database access",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Token/role scoping"
   },
   "check": "A write query attempted through the restricted connection is rejected",
   "capability_id": "cap_49bc6r5r",
   "unmapped": null,
   "source": [
    "https://motherduck.com/docs/sql-reference/mcp/"
   ],
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-31",
   "capability": "Assign role-based access control to users",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "GRANT (SQL)",
    "ui": "Organization settings"
   },
   "check": "User's effective role changes and access to a share/database reflects the grant",
   "capability_id": "cap_bs3hvrpm",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/",
    "https://motherduck.com/docs/key-tasks/sharing-data/sharing-overview/"
   ],
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-32",
   "capability": "Invite an internal user to the organization",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Organization members page"
   },
   "check": "Organization member list shows the invited user with pending/active status",
   "capability_id": "cap_3w8sjh12",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/"
   ],
   "result": "not_tried",
   "via": null
  },
  {
   "id": "cap-33",
   "capability": "Set up AWS PrivateLink or IP allowlisting for network access",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Enterprise network settings"
   },
   "check": "Connections outside the allowlisted IP range or PrivateLink are rejected",
   "capability_id": "cap_wrzp7nnm",
   "unmapped": null,
   "source": [
    "https://motherduck.com/product/pricing/"
   ],
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-34",
   "capability": "Purchase via AWS Marketplace private offer",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Billing settings"
   },
   "check": "Organization billing shows AWS Marketplace as the payment source",
   "capability_id": null,
   "unmapped": "not_a_job",
   "source": [
    "https://motherduck.com/product/pricing/"
   ],
   "result": "not_tried",
   "via": null
  }
 ],
 "stale": false,
 "unreachable_since": null,
 "not_driven_since": null,
 "icon": "/logos/motherduck.png",
 "agent_kinds": {
  "browser": {
   "who": "An assistant in a browser",
   "passed": [],
   "stop": "signup",
   "why": null,
   "tone": "neutral",
   "text": "Sign-up wasn't tried in this drive."
  },
  "direct": {
   "who": "An agent talking to it directly",
   "passed": [
    "credentials",
    "first_call",
    "first_action"
   ],
   "stop": "pay",
   "why": "paying takes a checkout page in a browser",
   "tone": "warn",
   "text": "Without an account (try first, claim later) it gets an API key, makes its first API call and does all of the core work, then stops at payment: paying takes a checkout page in a browser."
  }
 },
 "sdk": null,
 "surface_reach": {
  "surfaces": {
   "api": true,
   "mcp": true
  },
  "read_at": "2026-10-31T01:55:26Z"
 },
 "connect": {
  "mcp": {
   "url": "https://api.motherduck.com/mcp",
   "transport": "streamable-http",
   "state": "tested",
   "sign_in": "2026-10-31"
  },
  "api": {
   "base_url": "https://api.motherduck.com",
   "state": "documented"
  },
  "docs": {
   "url": "https://motherduck.com/docs/getting-started/",
   "state": "tested"
  }
 },
 "surface_sources": {
  "mcp": "https://api.motherduck.com/mcp",
  "docs": "https://motherduck.com/docs/getting-started/",
  "llms_txt": "https://motherduck.com/llms.txt",
  "sdk": "https://motherduck.com/docs/sql-reference/motherduck-sql-reference/access-control/create-role/",
  "api": "https://motherduck.com/docs/sql-reference/rest-api/ducklings-get-duckling-config-for-user/",
  "cli": "https://motherduck.com/docs/sql-reference/motherduck-cli/logout/",
  "openapi": "https://motherduck.com/openapi.json"
 },
 "copilot_connector": null,
 "stripe_directory": null,
 "in_stripe_directory": null,
 "stripe_projects": null,
 "pay_rails": [],
 "stop_evidence": null,
 "wall_vendor": null,
 "mcp_sign_in": {
  "sign_in": true,
  "prm": true,
  "registration": "dcr",
  "device": false
 },
 "safety_issues": 2,
 "fix_counts": {
  "small": 2,
  "medium": 2,
  "large": 1,
  "total": 5
 },
 "evidence_sha256": "126796afde147d01017b10f7c474269e621ec2205694eb21b09c6e7ca7409364",
 "first_seen": "2026-10-26",
 "license": {
  "name": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/"
 },
 "correction": {
  "status": "none",
  "open": 0,
  "since": null,
  "reply_by": null
 },
 "attribution": null,
 "confirmation": {
  "state": "confirmed",
  "drives": 2,
  "agree": 2,
  "review": null,
  "text": "2 drives agree"
 },
 "stop_shot": null,
 "stop_shot_hash": null,
 "attempts_count": 172,
 "detail": {
  "public": false,
  "in": [
   "report",
   "api"
  ],
  "since": "2026-10-17"
 },
 "what_it_does": "MotherDuck is a cloud database service built on DuckDB.",
 "kind": "product",
 "rules_version": "rules-2026-10-30-42",
 "rules_url": "https://agentdrives.com/method/changelog#rules-2026-10-30-42",
 "category_median": null,
 "peers": {
  "API-03": {
   "basis": "all",
   "n": 88,
   "below": 35,
   "above": 10,
   "percentile": 64
  },
  "API-04": {
   "basis": "all",
   "n": 86,
   "below": 24,
   "above": 0,
   "percentile": 64
  },
  "API-07": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 0
  },
  "DOCS-08": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 1
  },
  "DOCS-10": {
   "basis": "category",
   "n": 7,
   "below": 4,
   "above": 0
  },
  "DOCS-11": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 3
  },
  "ERR-01": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  },
  "ERR-02": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 1
  },
  "ERR-03": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 1
  },
  "ERR-04": {
   "basis": "all",
   "n": 36,
   "below": 29,
   "above": 0,
   "percentile": 90
  },
  "ERR-07": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 3
  },
  "FIND-06": {
   "basis": "category",
   "n": 7,
   "below": 2,
   "above": 0
  },
  "IN-03": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 0
  },
  "IN-08": {
   "basis": "category",
   "n": 7,
   "below": 2,
   "above": 0
  },
  "IN-09": {
   "basis": "all",
   "n": 10,
   "below": 5,
   "above": 0,
   "quartile": 4
  },
  "IN-11": {
   "basis": "category",
   "n": 7,
   "below": 5,
   "above": 0
  },
  "IN-12": {
   "basis": "category",
   "n": 7,
   "below": 3,
   "above": 0
  },
  "LEAVE-03": {
   "basis": "category",
   "n": 7,
   "below": 6,
   "above": 0
  },
  "LIM-02": {
   "basis": "all",
   "n": 48,
   "below": 27,
   "above": 15,
   "percentile": 63
  },
  "MCP-03": {
   "basis": "all",
   "n": 66,
   "below": 4,
   "above": 0,
   "percentile": 53
  },
  "MCP-04": {
   "basis": "all",
   "n": 66,
   "below": 20,
   "above": 15,
   "percentile": 54
  },
  "MCP-05": {
   "basis": "all",
   "n": 66,
   "below": 1,
   "above": 20,
   "percentile": 36
  },
  "MCP-06": {
   "basis": "all",
   "n": 66,
   "below": 10,
   "above": 16,
   "percentile": 45
  },
  "MCP-07": {
   "basis": "all",
   "n": 66,
   "below": 18,
   "above": 34,
   "percentile": 38
  },
  "MCP-08": {
   "basis": "all",
   "n": 37,
   "below": 26,
   "above": 0,
   "percentile": 85
  },
  "MCP-09": {
   "basis": "all",
   "n": 32,
   "below": 4,
   "above": 16,
   "percentile": 31
  },
  "MCP-11": {
   "basis": "all",
   "n": 66,
   "below": 16,
   "above": 33,
   "percentile": 37
  },
  "PAY-05": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 2
  },
  "PROTO-02": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  }
 },
 "probe": {
  "checked": "2026-11-01",
  "status": "ok",
  "sign_up_page": "page",
  "wall": "none",
  "llms_txt": true,
  "mcp": "login",
  "openapi": true,
  "payment_402": false,
  "payment_rails": [],
  "files": {
   "openapi": {
    "url": "https://motherduck.com/openapi.json",
    "found": true
   },
   "llms_txt": {
    "url": "https://motherduck.com/llms.txt",
    "found": true
   },
   "llms_full": {
    "url": "https://motherduck.com/llms-full.txt",
    "found": true
   }
  }
 },
 "probe_history": [
  {
   "checked": "2026-11-01",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "login",
   "openapi": true,
   "payment_402": false,
   "payment_rails": []
  },
  {
   "checked": "2026-10-31",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "login",
   "openapi": true,
   "payment_402": false,
   "payment_rails": []
  },
  {
   "checked": "2026-10-30",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "login",
   "openapi": true,
   "payment_402": false,
   "payment_rails": []
  },
  {
   "checked": "2026-10-29",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "login",
   "openapi": true,
   "payment_402": false,
   "payment_rails": []
  },
  {
   "checked": "2026-10-28",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "login",
   "openapi": true,
   "payment_402": false,
   "payment_rails": []
  }
 ],
 "surface_changes": [],
 "agent_reports": null,
 "verdict": "L4 · Runs on its own: our agent recorded no stop at any checkpoint. The documented CLI command motherduck new made an account and token with no form, email or browser, and the web sign-up showed no CAPTCHA. Through the CLI, the official MCP server and SQL, our agent ran queries, created databases and tables, read them back, then deleted the account with a REST call. Plans are bought through a Stripe Checkout card form opened from the web app; our agent opened it and paid nothing. The product has no billing API.",
 "changes": {
  "source": "store",
  "drives": [
   {
    "run": "20261026T021818Z",
    "date": "2026-10-26",
    "level": 4,
    "stop": null,
    "entry": "self-start",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   },
   {
    "run": "20261102T000750Z",
    "date": "2026-11-02",
    "level": 4,
    "stop": "delete",
    "entry": "self-start",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   }
  ],
  "events": [
   {
    "property": "stop",
    "before": null,
    "after": "delete",
    "cause": "drive",
    "before_run": "20261026T021818Z",
    "after_run": "20261102T000750Z",
    "at": "2026-11-02",
    "methodology": 42,
    "methodology_before": null,
    "rules_version": "rules-2026-10-30-42",
    "rules_url": "https://agentdrives.com/method/changelog#rules-2026-10-30-42"
   }
  ],
  "feed": "https://agentdrives.com/api/tools/motherduck/changes.json"
 },
 "agreement": {
  "drives": 2,
  "agree": 2
 },
 "method_release": "2026-Q4.27",
 "found": {
  "agent_blockers": 1,
  "surface_issues": 2
 },
 "agent_surfaces": {
  "api": {
   "state": "tested",
   "reachable": true,
   "documented": 10,
   "tested": 10,
   "source": "https://motherduck.com/docs/sql-reference/rest-api/ducklings-get-duckling-config-for-user/"
  },
  "mcp": {
   "state": "tested",
   "reachable": true,
   "documented": 41,
   "tested": 41,
   "source": "https://api.motherduck.com/mcp"
  },
  "cli": {
   "state": "tested",
   "reachable": true,
   "documented": 35,
   "tested": 35,
   "source": "https://motherduck.com/docs/sql-reference/motherduck-cli/logout/"
  },
  "sdk": {
   "state": "tested",
   "documented": 101,
   "tested": 94,
   "source": "https://motherduck.com/docs/sql-reference/motherduck-sql-reference/access-control/create-role/"
  },
  "docs": {
   "state": "tested",
   "documented": 743,
   "tested": 596,
   "source": "https://motherduck.com/docs/getting-started/"
  },
  "payment": {
   "state": "none_found",
   "documented": null,
   "tested": null,
   "source": null
  }
 },
 "issues_found": 3,
 "rank": 1,
 "rank_of": 2,
 "rank_change": null,
 "rank_since": "2026-10-26",
 "links": {
  "category": [
   {
    "label": "Data and storage",
    "href": "https://agentdrives.com/categories/data"
   },
   {
    "label": "Data warehouses",
    "href": "https://agentdrives.com/categories/data-warehouses"
   }
  ],
  "tasks": [
   {
    "label": "Set a member's role or permissions",
    "href": "https://agentdrives.com/tasks/set-a-member-s-role-or-permissions"
   },
   {
    "label": "Create a database",
    "href": "https://agentdrives.com/tasks/create-a-database"
   },
   {
    "label": "Search the account's content",
    "href": "https://agentdrives.com/tasks/search-the-account-s-content"
   },
   {
    "label": "List databases and read their schema",
    "href": "https://agentdrives.com/tasks/list-databases-and-read-their-schema"
   },
   {
    "label": "Query a database over a REST or GraphQL API",
    "href": "https://agentdrives.com/tasks/query-a-database-over-a-rest-or-graphql-api"
   },
   {
    "label": "Create a table",
    "href": "https://agentdrives.com/tasks/create-a-table"
   }
  ],
  "walls": [
   {
    "label": "Card before the first use",
    "href": "https://agentdrives.com/access/pay/card-checkout",
    "note": "our agent got in another way"
   }
  ],
  "vendors": [],
  "standards": [
   {
    "label": "MCP",
    "href": "https://agentdrives.com/standards/mcp",
    "note": "tools an agent can call"
   },
   {
    "label": "OpenAPI",
    "href": "https://agentdrives.com/standards/openapi",
    "note": "its API, described"
   },
   {
    "label": "llms.txt",
    "href": "https://agentdrives.com/standards/llms-txt",
    "note": "its docs, listed for agents"
   }
  ],
  "steps": [
   {
    "label": "Find",
    "href": "https://agentdrives.com/access/find"
   },
   {
    "label": "Get in",
    "href": "https://agentdrives.com/access/get-in"
   },
   {
    "label": "Use",
    "href": "https://agentdrives.com/access/use"
   },
   {
    "label": "Pay",
    "href": "https://agentdrives.com/access/pay"
   },
   {
    "label": "Leave",
    "href": "https://agentdrives.com/access/leave"
   }
  ],
  "rivals": [
   {
    "label": "ClickHouse Cloud",
    "href": "https://agentdrives.com/tools/clickhouse",
    "slug": "clickhouse",
    "level": 4
   },
   {
    "label": "Databricks",
    "href": "https://agentdrives.com/tools/databricks",
    "slug": "databricks",
    "level": 1
   },
   {
    "label": "Firebolt",
    "href": "https://agentdrives.com/tools/firebolt",
    "slug": "firebolt",
    "level": 1
   }
  ],
  "compare": [],
  "rail": [
   {
    "label": "Watch this product",
    "href": "https://agentdrives.com/watch"
   },
   {
    "label": "Get the data",
    "href": "https://agentdrives.com/data#plans"
   }
  ]
 },
 "capability_matrix": [
  {
   "id": "cap-01",
   "name": "Run a SQL query against a MotherDuck database",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-02",
   "name": "Create a database",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-03",
   "name": "List databases and read their schema",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-04",
   "name": "Create a table",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-05",
   "name": "Generate an interactive visualization (Dive) from a natural-language question",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "done"
   }
  },
  {
   "id": "cap-06",
   "name": "Embed a Dive in an external application",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "done"
   }
  },
  {
   "id": "cap-07",
   "name": "Build and deploy a scheduled Python data pipeline (Flight)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-08",
   "name": "Trigger a Flight run on demand",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-09",
   "name": "Read Flight run history and logs",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-10",
   "name": "Build a managed Iceberg/DuckLake lakehouse on cloud object storage",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-11",
   "name": "Query a table as of a past time or snapshot version (time travel)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "none"
   }
  },
  {
   "id": "cap-12",
   "name": "Create and manage a read-only data share of a database",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-13",
   "name": "Scope a share to specific tables and mask or filter rows/columns",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-14",
   "name": "Restore a database from a snapshot",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-15",
   "name": "Create a named long-lived backup snapshot",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "none"
   }
  },
  {
   "id": "cap-16",
   "name": "Write a Guide capturing org metric definitions and query conventions for AI agents",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-17",
   "name": "Read and browse existing Guides by topic",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-18",
   "name": "Update or edit a Guide's content",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-19",
   "name": "Ask a natural-language documentation question (ask_docs_question)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-20",
   "name": "Search the catalog for databases, tables, shares and Guides",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-21",
   "name": "Auto-fix a broken SQL query (FixIt)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-22",
   "name": "Visualize result-set columns instantly (Column Explorer)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "done"
   }
  },
  {
   "id": "cap-23",
   "name": "Run SQL AI functions (prompt, embedding) over data",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "none"
   }
  },
  {
   "id": "cap-24",
   "name": "Read Apache Iceberg tables via REST catalog",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "none",
    "mcp": "blocked",
    "cli": "untried",
    "ui": "none"
   }
  },
  {
   "id": "cap-25",
   "name": "Scale read workloads with read-scaling replicas",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-26",
   "name": "View consolidated query history across the organization",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-27",
   "name": "Ingest data from cloud storage, databases, or SaaS sources",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "none"
   }
  },
  {
   "id": "cap-28",
   "name": "Resize compute instance type/size",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-29",
   "name": "Create a service account for programmatic access",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-30",
   "name": "Restrict a connection to read-only database access",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-31",
   "name": "Assign role-based access control to users",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-32",
   "name": "Invite an internal user to the organization",
   "core": false,
   "result": "untried",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-33",
   "name": "Set up AWS PrivateLink or IP allowlisting for network access",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-34",
   "name": "Purchase via AWS Marketplace private offer",
   "core": false,
   "result": "untried",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  }
 ],
 "category_place": {
  "category": "data-warehouses",
  "products": 7,
  "higher": 0,
  "same_level": 1,
  "as_of": "2026-10-28",
  "stop": null,
  "rivals_by": "level",
  "rivals": [
   "clickhouse"
  ]
 },
 "page": "https://agentdrives.com/tools/motherduck?via=api"
}