{
 "$schema": "https://agentdrives.com/schemas/tool.schema.json",
 "id": "prd_01m57vgtjy5a05pre7sgz85ayp",
 "ids": {
  "org": "org_01m57vgtjyda3k83ed708f1n64",
  "surfaces": {
   "web": "srf_01m6bhkmkt8wb41mae1zvq971f",
   "api": "srf_01m6bhkmktn80fmyd9gqqamnd0",
   "mcp": "srf_01m6bhkmktwb4r9hhq69erv62a",
   "cli": "srf_01m6bhkmktm8m43cv95ch76a7j",
   "sdk": "srf_01m6cr2ept5253wvhawwj3p6cw"
  },
  "slugs": [
   "prisma"
  ],
  "domain": "prisma.io",
  "wikidata": "Q56098126"
 },
 "slug": "prisma",
 "name": "Prisma Postgres",
 "url": "https://www.prisma.io",
 "domain": "prisma.io",
 "category": "databases",
 "category_name": "Databases",
 "tested_at": "2026-10-24",
 "run": "20261023T234501Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261021T050150Z",
   "date": "2026-10-21",
   "level": 4,
   "engine": {
    "model": "claude-opus-5-5",
    "driver": 4,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": null,
    "commit": null,
    "prompts": {
     "version": null,
     "commit": null
    },
    "rules": {
     "version": null,
     "commit": null
    }
   },
   "stop": null,
   "paid": false,
   "agent_paid": null
  },
  {
   "run": "20261023T234501Z",
   "date": "2026-10-24",
   "level": 4,
   "engine": {
    "model": "anthropic/opus",
    "driver": 4,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": null,
    "commit": null,
    "prompts": {
     "version": null,
     "commit": null
    },
    "rules": {
     "version": null,
     "commit": null
    }
   },
   "stop": "delete",
   "paid": false,
   "agent_paid": null
  }
 ],
 "level": 4,
 "level_name": "Runs on its own",
 "level_selfhost": null,
 "entry": "self-start",
 "door": {
  "passed": 2,
  "tries": 2,
  "self_start": true
 },
 "badges": [],
 "not_counted": null,
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "yes",
   "text": "Gets in on its own: try first, claim later, 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": "part",
   "text": "Reaches the checkout: stopped at the €9.27 a month charge",
   "value": "checkout",
   "route": "card_checkout"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Nothing to cancel; its account stays",
   "at": "delete",
   "left": "stuck",
   "delete": {
    "state": "no",
    "text": "Can't delete its account",
    "why": "Console > Account settings > Delete Account (type DELETE)."
   }
  }
 ],
 "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, 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": "part",
   "text": "Reaches the checkout: stopped at the €9.27 a month charge",
   "value": "checkout",
   "route": "card_checkout",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Nothing to cancel; its account stays",
   "at": "delete",
   "left": "stuck",
   "delete": {
    "state": "no",
    "text": "Can't delete its account",
    "why": "Console > Account settings > Delete Account (type DELETE)."
   },
   "stage": "leave"
  }
 ],
 "access": [
  {
   "key": "try_first",
   "label": "Try first, claim later",
   "routes": [
    "claimable"
   ],
   "minutes": 2,
   "core": "0/9"
  },
  {
   "key": "browser_signup",
   "label": "Sign-up in a browser",
   "routes": [
    "email_password",
    "device_login"
   ],
   "minutes": 2,
   "core": "9/9",
   "by_route": {
    "email_password": "9/9",
    "device_login": "0/9"
   }
  }
 ],
 "minutes": 2,
 "next": {
  "to": 5,
  "text": "Next: pay without a person"
 },
 "stop": "delete",
 "core": "9/9",
 "scores": {
  "coverage": 92,
  "reliability": 92,
  "resilience": 57,
  "setup": 100,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": 74,
  "docs_match": null,
  "setup": 100,
  "security": "private",
  "standards": [
   {
    "standard": "MCP discovery",
    "state": "current",
    "behind": null,
    "value": "ok"
   },
   {
    "standard": "MCP client registration",
    "state": "behind",
    "behind": null,
    "value": "dcr"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 1,
    "value": "3.1.0"
   }
  ]
 },
 "reliability_method": "pass^k",
 "resilience": {
  "parts": {
   "error_legibility": 89,
   "recovery": 83,
   "idempotency": 0
  },
  "summary": null
 },
 "stress": [
  {
   "capability": "Create a database",
   "probe": "bad enum value on create",
   "outcome": "422 validation-error \"region: Invalid enum value. Expected 'us-east-1' | ... | 'inherit', received 'mars-1'\"",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Manage connection string credentials",
   "probe": "repeat one create (same body twice)",
   "outcome": "201 con_xul68ju48xn3c0c8fsufsw2s then 201 con_obaijx1enpx35hhpdccc4zoi: duplicate created, no Idempotency-Key documented",
   "grade": "silent",
   "idempotent": "no",
   "rate_limit": null
  },
  {
   "capability": "List databases and read their schema",
   "probe": "burst of 15 GET /v1/regions/postgres",
   "outcome": "15 x 200; no RateLimit, X-RateLimit or Retry-After headers seen",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "none-seen"
  },
  {
   "capability": "credentials",
   "probe": "wrong bearer token",
   "outcome": "401 application/json {\"error\":\"unauthorized\",\"errorDescription\":\"Invalid authorization token\"}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a database",
   "probe": "well-formed id that does not exist",
   "outcome": "404 resource-not-found 'Use GET /v1/{resource} to list available IDs.'",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a database query",
   "probe": "SQL on a table that does not exist via MCP",
   "outcome": "200 result isError unset; data.@@error PostgresError 'relation \"no_such_table\" does not exist'",
   "grade": "vague",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Deploy an app to Prisma Compute",
   "probe": "destructive CLI step with --yes only",
   "outcome": "CLI.CONSENT_REQUIRED: requires explicit consent, which --yes cannot grant. Grant it by passing --confirm hello.",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  }
 ],
 "surface_audit": null,
 "coverage_core": 100,
 "coverage_own": 100,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 4,
  "model": "anthropic/opus",
  "profile": "full",
  "assisted": false,
  "handoff": false
 },
 "methodology": 42,
 "rules_date": "2026-10-30",
 "engine": {
  "model": "anthropic/opus",
  "driver": 4,
  "signed": true,
  "inbox": [
   "agentdrives.com"
  ],
  "robots": "skip",
  "version": null,
  "commit": null,
  "prompts": {
   "version": null,
   "commit": null
  },
  "rules": {
   "version": null,
   "commit": null
  }
 },
 "same_level_drives": 2,
 "drives": 2,
 "same_stop_drives": 1,
 "works_assisted": null,
 "freshness": "fresh",
 "newer_drives": null,
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": null,
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "in"
  },
  "signed": {
   "state": "page",
   "kind": "signup",
   "at": "2026-10-24"
  },
  "browser": {
   "state": "in",
   "measured": false
  },
  "our_key": "pending",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "llms.txt (/llms.txt, /docs/llms.txt), .md twin of every docs page, OpenAPI 3.1.0 at https://api.prisma.io/v1/doc, MCP page and server card JSON at /.well-known/mcp/server-card.json."
  },
  "signup": {
   "status": "n/a",
   "note": "Not needed: npx create-db (documented) gave a working database and connection string with no account.",
   "way": "email_password"
  },
  "verify": {
   "status": "n/a",
   "note": "Not needed on the no-account route. On the email sign-up way the verification mail came in about 40 s and its link verified and logged in."
  },
  "credentials": {
   "status": "headless",
   "note": "After one browser login (CLI auth login with localhost callback), POST /v1/workspaces/{id}/service-tokens created a workspace service token; used, then revoked (401 afterwards).",
   "via": ""
  },
  "first_call": {
   "status": "headless",
   "note": "npx create-db returned a connection string and claim URL with no account; psql select version worked. GET /v1/me and /v1/workspaces with the service token: 200.",
   "route": "no_account",
   "reaches_core": false
  },
  "first_action": {
   "status": "headless",
   "note": "POST /v1/projects created project ad-orm with a ready database."
  },
  "pay": {
   "status": "browser",
   "grade": "P1",
   "rails": [
    "Stripe Checkout (card)"
   ],
   "rail_ids": [
    "stripe-checkout"
   ],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "free tier",
   "route": "card_checkout",
   "checkout": {
    "reached": "card_form",
    "processor": "stripe_checkout",
    "captcha": "invisible",
    "three_ds": "not_seen",
    "card_form": true,
    "phone_field": "none",
    "wallets": [
     "link"
    ],
    "rail_offer": "none",
    "price": "9.27",
    "currency": "EUR",
    "period": "month",
    "plan": "Starter",
    "last_button": "Subscribe"
   },
   "person": "none",
   "ours": "no_card",
   "note": "No 402/x402/MPP anywhere (nothing paid, no challenge on the product's endpoints). Subscription API is read-only (planName Free, upgradeUrl). Console Billing > Upgrade to Starter opens Stripe Checkout on billing.prisma.io: EUR 9.27 today then from EUR 9.28/month (Starter $10/month), card + billing address, hCaptcha script present (invisible). Stopped at the card form: no card. Free plan needs no card. Stripe Projects catalog lists prisma (not tried)."
  },
  "cancel": {
   "status": "n/a",
   "note": "Nothing to cancel: our agent used the free plan.",
   "docs_note": "Nothing to cancel: the drive stayed on the Free plan. Plan changes live in Console Billing (web UI); the subscription API is read-only.",
   "docs_grade": "",
   "nothing": "free_plan"
  },
  "delete": {
   "status": "browser",
   "note": "Console > Account settings > Delete Account (type DELETE). Login with the old password afterwards: 'Invalid email or password'. Projects, buckets, connections, service token and MCP grant were removed first via the API. The claimable create-db database expires by itself after 24 h.",
   "left": "stuck",
   "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": "email_password",
   "offered": "seen",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "inbox",
   "fresh": true,
   "minutes": 4,
   "browser": true
  },
  {
   "route": "sso_github",
   "offered": "seen",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "once",
   "brings": "github_account",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "sso_google",
   "offered": "seen",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "once",
   "brings": "google_account",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "device_login",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": 2,
   "browser": true
  },
  {
   "route": "oauth_consent",
   "offered": "seen",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "each",
   "brings": "nothing",
   "fresh": true,
   "minutes": 2,
   "browser": true
  }
 ],
 "checkout": {
  "reached": "card_form",
  "processor": "stripe_checkout",
  "captcha": "invisible",
  "three_ds": "not_seen",
  "phone_field": "none",
  "wallets": [
   "link"
  ],
  "rail_offer": "none",
  "period": "month",
  "card_form": true,
  "price": "9.27",
  "currency": "EUR",
  "plan": "Starter",
  "last_button": "Subscribe"
 },
 "docs": {
  "at": "2026-10-23",
  "read": 600,
  "listed": 801,
  "sampled": true,
  "overall": "complete",
  "getting_started": "found",
  "auth": "found",
  "errors": "found",
  "examples": "good",
  "freshness": "fresh",
  "newest": "2026-10-23",
  "core_pages": "9 of 9",
  "capabilities": "covered",
  "label": "No gaps in what we read"
 },
 "claims": {
  "claimed": 14,
  "tried": 14,
  "held": 11,
  "broken": 3,
  "unclear": 0,
  "not_tried": 0,
  "undocumented_works": 0
 },
 "pay_options": {
  "checked": "2026-10-23",
  "source": "probe",
  "options": [
   {
    "id": "stripe-projects",
    "name": "Stripe Projects",
    "kind": "agent-rail",
    "first_party": true,
    "lead": false,
    "networks": [],
    "testnet": false
   }
  ],
  "agentic": [
   "stripe-projects"
  ],
  "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."
   }
  ]
 },
 "surfaces": {
  "api": true,
  "openapi": true,
  "cli": true,
  "sdk": true,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "urls": {
  "docs": "https://www.prisma.io/docs",
  "llms_txt": "https://www.prisma.io/llms.txt",
  "mcp": "https://mcp.prisma.io/mcp"
 },
 "surface_notes": {
  "api": "REST Management API, ~100 operations (projects, databases, connections, buckets, services, deployments, env vars, tokens)",
  "openapi": "3.1.0 at /v1/doc, live responses matched",
  "mcp": "official, 42 tools, 28 Jul 2026, OAuth DCR, approval policy",
  "cli": "prisma 8.0.0-rc.27 unified CLI (auth, project, postgres, bucket, service, deploy, contract, db, migration, skills); create-db for no-account databases",
  "sdk": "Prisma ORM 8 RC typed client."
 },
 "surface_sizes": null,
 "can_do": [
  "Create a temporary Postgres database with no account (npx create-db) and connect to it",
  "Sign up by email and verify without a CAPTCHA",
  "Mint, use and revoke a workspace service token through the REST API",
  "Create, rename and delete databases and projects via MCP, REST and CLI",
  "Define a Prisma ORM 8 contract, generate typed client types and run typed queries",
  "Plan and apply schema migrations and verify them in information_schema",
  "Insert, update, query and delete rows via MCP SQL, the ORM and Console Studio",
  "Deploy a TypeScript (Bun) service to Prisma Compute from the CLI with a service token and get a live URL",
  "Deploy an isolated preview stage with its own URL",
  "Set environment variables and read service logs",
  "Create buckets, mint and revoke S3 keys, upload files and make presigned URLs",
  "Create, rotate and delete connection strings",
  "Enable pgvector and run a similarity search",
  "Delete the account in the Console"
 ],
 "cannot_do": [
  {
   "what": "Roll back a production deployment",
   "why": "each production deploy keeps only the newest version; rollback answers SERVICE.VERSION_NOT_FOUND"
  },
  {
   "what": "See queries in Query Insights",
   "why": "the Console Queries page stayed 'Waiting for data' on Free after slow queries"
  },
  {
   "what": "Write to production or run admin actions via MCP without a person",
   "why": "the agent policy answers approval_required until the sponsor approves in Console"
  },
  {
   "what": "Back up and restore",
   "why": "plan-gated (Starter and up)"
  },
  {
   "what": "Connect a custom domain",
   "why": "needs a DNS CNAME set first; the drive has no DNS it controls"
  },
  {
   "what": "Pay for a plan",
   "why": "only a Stripe card checkout; no agent rail"
  }
 ],
 "blockers": [
  "MCP approval_required for admin and production writes (sponsor approval in Console)",
  "No rollback target after production deploys",
  "Paying only by card at Stripe Checkout"
 ],
 "tips_for_agents": [
  "No account needed to start: npx create-db@latest --json returns a connection string and claim URL (24 h).",
  "After one login, mint a service token via POST /v1/workspaces/{id}/service-tokens and use PRISMA_SERVICE_TOKEN + PRISMA_WORKSPACE_ID for CLI and REST: no approvals there.",
  "MCP needs OAuth (DCR); expect approval_required on admin and production writes, poll get_agent_approval, retry with approvalId.",
  "Prisma ORM 8: contract emit replaces generate; migration plan + db migrate replace migrate dev/deploy.",
  "Destructive CLI steps need --confirm <name>; --yes is refused.",
  "Delete Compute services before deleting their project.",
  "Change code before redeploying if only env vars changed: an unchanged redeploy is a no-op."
 ],
 "selfhost": null,
 "edge_case": "none",
 "summary": "Prisma lets an agent do nearly everything on its own: a no-account database via npx create-db, an email sign-up without a CAPTCHA, a service token made through the API, and all 9 core capabilities (databases, ORM 8 typed client, migrations, records, Studio, Compute deploys) done and verified three times through REST, CLI and the official 28 Jul 2026 MCP server. MCP admin and production writes need the account owner's approval in Console, rollback had no earlier version to return to, Query Insights stayed empty, and paying is a Stripe card checkout.",
 "wall": "",
 "plan_scope": "free plan",
 "robots_stop": null,
 "robots": {
  "rule": "star",
  "step": null,
  "seen": "2026-10-23",
  "held": false
 },
 "terms": null,
 "terms_read": "2026-10-23",
 "email_gate": null,
 "plain": {
  "summary": "Prisma is a hosted Postgres database with a code library and app hosting. An agent got a database with no account, signed up by email and ran all the core tasks on its own. It stopped at paying for a plan, which is a card checkout, and at admin actions in the agent connection that need the owner's approval.",
  "can_do": [
   "Get a temporary database with no account",
   "Sign up by email and confirm it without a puzzle",
   "Create a database, tables and rows and read them back",
   "Run schema changes and typed queries",
   "Deploy a small app and see it live",
   "Create file storage and upload files",
   "Delete the account in the web console"
  ],
  "cannot_do": [
   {
    "what": "Pay for a plan",
    "why": "Only a card checkout; no way for an agent to pay."
   },
   {
    "what": "Run admin or production writes through MCP alone",
    "why": "The owner must approve each class in the web console."
   },
   {
    "what": "Roll back a deployment",
    "why": "Only the newest version is kept, so no earlier one exists."
   },
   {
    "what": "See slow queries in Query Insights",
    "why": "The page stayed empty on the free plan."
   },
   {
    "what": "Back up and restore a database",
    "why": "Needs a paid plan."
   }
  ]
 },
 "plan_gated": [
  {
   "capability": "Back up a database",
   "plan": "Starter",
   "evidence": "GET /v1/databases/{id}/backups: [] with backupRetentionDays 0; plans modal 'Free: No daily backups', Starter 'Daily backups (7 days)'"
  },
  {
   "capability": "Restore a database backup",
   "plan": "Starter",
   "evidence": "no backups exist on Free (backupRetentionDays 0)"
  },
  {
   "capability": "Set a spend limit",
   "plan": "Starter",
   "evidence": "pricing.md: Spend limits 'Fixed at $0, no card required' on Free"
  }
 ],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "capability": "Create a database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/databases",
    "mcp": "create database",
    "cli": "npx prisma postgres create / npx create-db",
    "ui": "Console > New database"
   },
   "check": "GET /v1/databases/{id} returns status ready",
   "capability_id": "cap_9a3jhdb4",
   "unmapped": null,
   "source": "https://www.prisma.io/postgres; https://www.prisma.io/docs/postgres/npx-create-db",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "api",
    "cli"
   ]
  },
  {
   "id": "cap-02",
   "capability": "Define a data model schema and generate a typed client",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "npx prisma generate",
    "ui": null
   },
   "check": "generated client module exists and exposes typed model methods matching schema.prisma",
   "capability_id": "cap_xqrrtrx2",
   "unmapped": null,
   "source": "https://www.prisma.io/orm",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli",
    "sdk"
   ]
  },
  {
   "id": "cap-03",
   "capability": "Deploy a schema migration",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "apply schema changes",
    "cli": "npx prisma migrate deploy",
    "ui": null
   },
   "check": "database schema (information_schema) matches the committed migration after apply",
   "capability_id": "cap_xb7x9h8v",
   "unmapped": null,
   "source": "https://www.prisma.io/orm; https://www.prisma.io/docs/postgres/npx-create-db",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli",
    "api",
    "mcp"
   ]
  },
  {
   "id": "cap-04",
   "capability": "Create or update a record",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "run SQL",
    "cli": null,
    "ui": "Prisma Studio"
   },
   "check": "reading the row back via Studio or a query shows the new/changed values",
   "capability_id": "cap_m34x9t4v",
   "unmapped": null,
   "source": "https://www.prisma.io/studio; https://www.prisma.io/orm",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "sdk"
   ]
  },
  {
   "id": "cap-05",
   "capability": "Run a database query",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "run SQL queries",
    "cli": null,
    "ui": "Prisma Studio"
   },
   "check": "query result rows returned match expected filter",
   "capability_id": "cap_hw0v5ga0",
   "unmapped": null,
   "source": "https://www.prisma.io/mcp",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk",
    "mcp"
   ]
  },
  {
   "id": "cap-06",
   "capability": "Delete a record",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Prisma Studio"
   },
   "check": "re-querying the row returns no result",
   "capability_id": "cap_z5zsc472",
   "unmapped": null,
   "source": "https://www.prisma.io/studio",
   "result": "done",
   "via": "browser",
   "done_on": [
    "browser",
    "api"
   ]
  },
  {
   "id": "cap-07",
   "capability": "Deploy an app to Prisma Compute",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "manage Compute deployments",
    "cli": "npx prisma deploy module.ts",
    "ui": "Console"
   },
   "check": "npx prisma service show reports the new deployment live with a reachable URL",
   "capability_id": "cap_5q1cx94d",
   "unmapped": null,
   "source": "https://www.prisma.io/compute",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli",
    "api",
    "mcp"
   ]
  },
  {
   "id": "cap-08",
   "capability": "List databases and read their schema",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/databases",
    "mcp": "introspect database schema",
    "cli": "npx prisma postgres list",
    "ui": "Console"
   },
   "check": "returned list includes the known database id and its table names",
   "capability_id": "cap_xqrrtrx2",
   "unmapped": null,
   "source": "https://www.prisma.io/mcp; https://www.prisma.io/docs/postgres/database/connecting-to-your-database",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "cli",
    "api"
   ]
  },
  {
   "id": "cap-09",
   "capability": "Browse and edit data visually in Prisma Studio",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "npx prisma studio",
    "ui": "Console / local Studio"
   },
   "check": "Studio UI lists table rows and a cell edit persists on reload",
   "capability_id": null,
   "unmapped": "bundle",
   "source": "https://www.prisma.io/studio",
   "result": "done",
   "via": "browser",
   "done_on": [
    "browser"
   ]
  },
  {
   "id": "cap-10",
   "capability": "Query a database over a REST API",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET/POST /v1/*",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "authenticated REST call against api.prisma.io returns expected JSON for a known resource",
   "capability_id": "cap_53z76bgf",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/rest-api/endpoints/buckets/post-buckets",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-11",
   "capability": "Create a deploy preview environment per feature branch",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console, via GitHub deploy-on-push"
   },
   "check": "pushing a non-default branch produces a preview URL with its own database, visible in Console",
   "capability_id": "cap_q868e59w",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/compute/deploy-on-push",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli"
   ]
  },
  {
   "id": "cap-12",
   "capability": "Back up a database",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console > Database > Backups"
   },
   "check": "Backups tab lists a new daily backup entry with a timestamp",
   "capability_id": "cap_drp5sav8",
   "unmapped": null,
   "source": "https://www.prisma.io/postgres#faq (Are backups included?)",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-13",
   "capability": "Restore a database backup",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": "restore a backup into a new database",
    "cli": null,
    "ui": "Console > Database > Backups"
   },
   "check": "new database created from backup contains the backed-up rows",
   "capability_id": "cap_ykvspbps",
   "unmapped": null,
   "source": "https://www.prisma.io/mcp; https://www.prisma.io/postgres#faq",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-14",
   "capability": "Manage connection string credentials",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/connections, DELETE /v1/connections/{id}",
    "mcp": null,
    "cli": "npx prisma postgres connection list/delete/rotate",
    "ui": "Console > Connection strings"
   },
   "check": "GET /v1/connections no longer lists the deleted credential id",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://www.prisma.io/docs/postgres/database/connecting-to-your-database",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-15",
   "capability": "Run a vector similarity search (pgvector)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "SQL query using a pgvector distance operator returns ranked rows after CREATE EXTENSION vector",
   "capability_id": "cap_een15d28",
   "unmapped": null,
   "source": "https://www.prisma.io/postgres#faq (Does Prisma Postgres support pgvector?)",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-16",
   "capability": "Inspect slow queries (Query Insights)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console > Database > Query Insights"
   },
   "check": "Query Insights view lists a slow query with duration and an agent-ready fix prompt",
   "capability_id": "cap_fz6spk4z",
   "unmapped": null,
   "source": "https://www.prisma.io/postgres; https://www.prisma.io/docs/postgres/database/query-insights",
   "result": "partial",
   "via": "browser"
  },
  {
   "id": "cap-17",
   "capability": "Read Compute app logs",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "show the runtime logs for this deployment",
    "cli": "npx prisma service logs",
    "ui": "Console"
   },
   "check": "returned log lines include an entry emitted by the running service",
   "capability_id": "cap_dacsttk8",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/ai/tools/mcp-server",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli"
   ]
  },
  {
   "id": "cap-18",
   "capability": "Set environment variables and secrets for a deployment",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "set LOG_LEVEL for this project's preview environment",
    "cli": "npx prisma project env add",
    "ui": "Console"
   },
   "check": "redeployed service reflects the new variable value at runtime",
   "capability_id": "cap_92xmegfv",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/ai/tools/mcp-server; https://www.prisma.io/docs/compute/object-storage",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli"
   ]
  },
  {
   "id": "cap-19",
   "capability": "Roll back a deployment",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console"
   },
   "check": "service's active version reverts to the prior deployment id",
   "capability_id": "cap_4p5zh730",
   "unmapped": null,
   "source": "https://www.prisma.io/compute/roll-back-deployment",
   "result": "failed",
   "via": "cli"
  },
  {
   "id": "cap-20",
   "capability": "Create a storage bucket",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/buckets",
    "mcp": "create Object Storage buckets",
    "cli": "npx prisma bucket create",
    "ui": "Console"
   },
   "check": "GET /v1/buckets/{bucketId} returns status ready",
   "capability_id": "cap_z1bkrzzw",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/compute/object-storage",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-21",
   "capability": "Mint or revoke a bucket access key",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/buckets/{bucketId}/keys, DELETE .../keys/{keyId}",
    "mcp": "manage their access keys",
    "cli": "npx prisma bucket key create",
    "ui": "Console"
   },
   "check": "GET /v1/buckets/{bucketId}/keys no longer lists a revoked key id",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://www.prisma.io/docs/compute/object-storage",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-22",
   "capability": "Upload a file to a bucket",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "PUT to a Compute route writing via S3 client returns 201 and the object is listable in the bucket",
   "capability_id": "cap_facpbh70",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/compute/object-storage",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-23",
   "capability": "Create a signed URL for a file",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "presigned GET URL returned by the route serves the file content without extra credentials",
   "capability_id": "cap_g0ya91gj",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/compute/object-storage",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-24",
   "capability": "Delete a storage bucket",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "DELETE /v1/buckets/{bucketId}",
    "mcp": null,
    "cli": "npx prisma bucket delete",
    "ui": "Console"
   },
   "check": "GET /v1/buckets/{bucketId} returns not found after delete",
   "capability_id": "cap_z1bkrzzw",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/compute/object-storage",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-25",
   "capability": "Connect a custom domain to an app",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console"
   },
   "check": "custom domain resolves to the Compute app and serves TLS",
   "capability_id": "cap_dj4n5a69",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/compute/domains",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-26",
   "capability": "Choose a database or app region",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "create a new database in the US region",
    "cli": "npx create-db --region",
    "ui": "Console"
   },
   "check": "created database's region metadata matches the requested region",
   "capability_id": null,
   "unmapped": "not_a_job",
   "source": "https://www.prisma.io/postgres#faq (Which regions can I choose?)",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-27",
   "capability": "See Composer services topology",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "show how this project's Composer services connect",
    "cli": null,
    "ui": "Console"
   },
   "check": "returned topology lists each declared service and database with their links",
   "capability_id": null,
   "unmapped": "vague",
   "source": "https://www.prisma.io/mcp",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-28",
   "capability": "Enable a Postgres extension",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "pg_extension table lists the enabled extension after CREATE EXTENSION",
   "capability_id": "cap_ga5kx7b6",
   "unmapped": null,
   "source": "https://www.prisma.io/docs/postgres/database/postgres-extensions",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-29",
   "capability": "Embed Prisma Studio data editor in your own app",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "embedded Studio widget renders and allows row edits inside a third-party host page",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://www.prisma.io/studio",
   "result": "not_tried",
   "via": null
  },
  {
   "id": "cap-30",
   "capability": "Set a spend limit",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console"
   },
   "check": "usage beyond the configured spend limit stops being charged/billed further",
   "capability_id": "cap_fzv501vs",
   "unmapped": null,
   "source": "https://www.prisma.io/pricing",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-31",
   "capability": "Read usage and cost breakdown",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Console"
   },
   "check": "usage dashboard shows per-meter counts (requests, memory, operations) for the billing period",
   "capability_id": "cap_n0zefvzh",
   "unmapped": null,
   "source": "https://www.prisma.io/compute/typescript-hosting-cost-visibility",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-32",
   "capability": "Install Prisma coding-agent skills",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "project setup installs skills",
    "ui": null
   },
   "check": "project directory contains installed Prisma skill files after setup",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://www.prisma.io/orm (Expert from the first prompt)",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli"
   ]
  },
  {
   "id": "cap-33",
   "capability": "Search Prisma docs from an AI agent",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": "search the Prisma docs",
    "cli": null,
    "ui": null
   },
   "check": "MCP search tool returns relevant doc excerpts with source URLs for a query",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://www.prisma.io/docs/ai/tools/mcp-server",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  }
 ],
 "stale": false,
 "unreachable_since": null,
 "not_driven_since": null,
 "icon": "/logos/prisma.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,
   "cli": true
  },
  "read_at": "2026-11-01T23:36:49Z"
 },
 "connect": {
  "mcp": {
   "url": "https://mcp.prisma.io/mcp",
   "transport": "streamable-http",
   "state": "tested",
   "tools": {
    "count": 31,
    "names": [
     "fetch_workspace_details",
     "list_prisma_postgres_databases",
     "create_prisma_postgres_database",
     "delete_prisma_postgres_database",
     "list_prisma_postgres_connection_strings",
     "create_prisma_postgres_connection_string",
     "delete_prisma_postgres_connection_string",
     "list_prisma_postgres_backups",
     "create_prisma_postgres_recovery",
     "introspect_database_schema",
     "execute_sql_query",
     "execute_prisma_postgres_schema_update",
     "list_object_store_buckets",
     "create_object_store_bucket",
     "delete_object_store_bucket",
     "create_object_store_bucket_key",
     "delete_object_store_bucket_key",
     "search_prisma_documentation",
     "list_prisma_compute_apps",
     "list_prisma_compute_builds",
     "list_prisma_compute_deployments",
     "get_prisma_compute_deployment_logs",
     "promote_prisma_compute_deployment",
     "rollback_prisma_compute_app",
     "start_prisma_compute_deployment",
     "stop_prisma_compute_deployment",
     "delete_prisma_compute_deployment",
     "delete_prisma_compute_app",
     "set_prisma_compute_env_var",
     "delete_prisma_compute_env_var",
     "get_prisma_composer_topology"
    ],
    "read_at": "2026-11-01"
   }
  },
  "cli": {
   "install": "npm install -g prisma",
   "package": "prisma",
   "ecosystem": "npm",
   "source": "https://www.prisma.io/",
   "state": "documented"
  },
  "signup": {
   "url": "https://console.prisma.io/sign-up",
   "state": "tested"
  },
  "docs": {
   "url": "https://www.prisma.io/docs",
   "state": "tested"
  }
 },
 "surface_sources": {
  "mcp": "https://mcp.prisma.io/mcp",
  "docs": "https://www.prisma.io/docs",
  "llms_txt": "https://www.prisma.io/llms.txt",
  "cli": "https://www.prisma.io/",
  "api": "https://api.prisma.io/v1/doc",
  "sdk": "https://www.prisma.io/docs",
  "openapi": "https://www.prisma.io/openapi.json",
  "pay": "https://projects.dev/providers/"
 },
 "copilot_connector": null,
 "stripe_directory": null,
 "in_stripe_directory": null,
 "stripe_projects": {
  "provider": "Prisma",
  "free_tier": true,
  "services": 5,
  "source": "https://projects.dev/providers/",
  "checked": "2026-11-01"
 },
 "pay_rails": [],
 "stop_evidence": {
  "at": "delete",
  "date": "2026-10-24",
  "line": "Console > Account settings > Delete Account (type DELETE). Login with the old password afterwards: 'Invalid email or password'. Projects, buckets, connections, service token and MCP grant were removed first via the API. The claimable create-db database expires by itself after 24 h."
 },
 "wall_vendor": null,
 "mcp_sign_in": {
  "sign_in": true,
  "prm": true,
  "registration": "dcr",
  "device": false
 },
 "safety_issues": null,
 "fix_counts": {
  "small": 6,
  "medium": 2,
  "large": 1,
  "total": 9
 },
 "evidence_sha256": "920161cd5c7d5d186bc84d7cf52523846d36289fb126c6e279172de451ef3d7a",
 "first_seen": "2026-10-21",
 "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": 113,
 "detail": {
  "public": false,
  "in": [
   "report",
   "api"
  ],
  "since": "2026-10-17"
 },
 "what_it_does": "Prisma is a hosted Postgres database with a code library and app hosting.",
 "kind": "product",
 "rules_version": "rules-2026-10-30-42",
 "rules_url": "https://agentdrives.com/method/changelog#rules-2026-10-30-42",
 "category_median": {
  "holds_up": {
   "median": 74,
   "n": 9
  }
 },
 "peers": {
  "API-03": {
   "basis": "category",
   "n": 11,
   "below": 8,
   "above": 0,
   "quartile": 4
  },
  "API-04": {
   "basis": "category",
   "n": 10,
   "below": 5,
   "above": 0,
   "quartile": 4
  },
  "API-07": {
   "basis": "category",
   "n": 11,
   "below": 2,
   "above": 0,
   "quartile": 3
  },
  "DOCS-08": {
   "basis": "category",
   "n": 12,
   "below": 0,
   "above": 2,
   "quartile": 2
  },
  "DOCS-10": {
   "basis": "category",
   "n": 12,
   "below": 1,
   "above": 4,
   "quartile": 2
  },
  "DOCS-11": {
   "basis": "category",
   "n": 12,
   "below": 0,
   "above": 2,
   "quartile": 2
  },
  "ERR-01": {
   "basis": "category",
   "n": 12,
   "below": 0,
   "above": 0,
   "quartile": 3
  },
  "ERR-02": {
   "basis": "category",
   "n": 12,
   "below": 1,
   "above": 4,
   "quartile": 2
  },
  "ERR-03": {
   "basis": "category",
   "n": 12,
   "below": 1,
   "above": 1,
   "quartile": 3
  },
  "FIND-06": {
   "basis": "category",
   "n": 10,
   "below": 0,
   "above": 0,
   "quartile": 3
  },
  "IN-03": {
   "basis": "category",
   "n": 10,
   "below": 0,
   "above": 0,
   "quartile": 3
  },
  "IN-08": {
   "basis": "category",
   "n": 12,
   "below": 4,
   "above": 0,
   "quartile": 3
  },
  "IN-09": {
   "basis": "all",
   "n": 10,
   "below": 5,
   "above": 0,
   "quartile": 4
  },
  "IN-11": {
   "basis": "category",
   "n": 13,
   "below": 9,
   "above": 0,
   "quartile": 4
  },
  "IN-12": {
   "basis": "category",
   "n": 13,
   "below": 3,
   "above": 0,
   "quartile": 3
  },
  "LEAVE-03": {
   "basis": "category",
   "n": 12,
   "below": 4,
   "above": 5,
   "quartile": 2
  },
  "LIM-02": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 1
  },
  "MCP-03": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 0
  },
  "MCP-04": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 5
  },
  "MCP-05": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 2
  },
  "MCP-06": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 1
  },
  "MCP-07": {
   "basis": "category",
   "n": 7,
   "below": 0,
   "above": 6
  },
  "MCP-08": {
   "basis": "all",
   "n": 37,
   "below": 26,
   "above": 0,
   "percentile": 85
  },
  "MCP-11": {
   "basis": "category",
   "n": 7,
   "below": 1,
   "above": 2
  },
  "PAY-05": {
   "basis": "category",
   "n": 13,
   "below": 6,
   "above": 3,
   "quartile": 3
  }
 },
 "probe": null,
 "probe_history": [],
 "surface_changes": [],
 "agent_reports": null,
 "verdict": null,
 "changes": {
  "source": "store",
  "drives": [
   {
    "run": "20261021T050150Z",
    "date": "2026-10-21",
    "level": 4,
    "stop": null,
    "entry": "self-start",
    "driver": 4,
    "listed": true,
    "paid": false,
    "agent_paid": null
   },
   {
    "run": "20261023T234501Z",
    "date": "2026-10-23",
    "level": 4,
    "stop": "delete",
    "entry": "self-start",
    "driver": 4,
    "listed": true,
    "paid": false,
    "agent_paid": null
   }
  ],
  "events": [
   {
    "property": "stop",
    "before": null,
    "after": "delete",
    "cause": "drive",
    "before_run": "20261021T050150Z",
    "after_run": "20261023T234501Z",
    "at": "2026-10-23",
    "methodology": 42,
    "methodology_before": null,
    "rules_version": "rules-2026-10-30-42",
    "rules_url": "https://agentdrives.com/method/changelog#rules-2026-10-30-42"
   },
   {
    "property": "stop",
    "before": null,
    "after": "delete",
    "cause": "method",
    "before_run": "20261023T234501Z",
    "after_run": "20261023T234501Z",
    "at": "2026-10-23",
    "methodology": 42,
    "methodology_before": 41,
    "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/prisma/changes.json"
 },
 "agreement": {
  "drives": 2,
  "agree": 2
 },
 "method_release": "2026-Q4.27",
 "found": {
  "agent_blockers": 3,
  "surface_issues": null
 },
 "agent_surfaces": {
  "api": {
   "state": "tested",
   "reachable": true,
   "documented": null,
   "tested": null,
   "source": "https://api.prisma.io/v1/doc"
  },
  "mcp": {
   "state": "tested",
   "reachable": true,
   "documented": null,
   "tested": null,
   "source": "https://mcp.prisma.io/mcp"
  },
  "cli": {
   "state": "tested",
   "reachable": true,
   "documented": null,
   "tested": null,
   "source": "https://www.prisma.io/"
  },
  "sdk": {
   "state": "tested",
   "documented": null,
   "tested": null,
   "source": "https://www.prisma.io/docs"
  },
  "docs": {
   "state": "tested",
   "documented": 801,
   "tested": 600,
   "source": "https://www.prisma.io/docs"
  },
  "payment": {
   "state": "documented",
   "documented": null,
   "tested": null,
   "source": "https://projects.dev/providers/"
  }
 },
 "issues_found": 3,
 "rank": 1,
 "rank_of": 9,
 "rank_change": null,
 "rank_since": "2026-11-01",
 "links": {
  "category": [
   {
    "label": "Data and storage",
    "href": "https://agentdrives.com/categories/data"
   },
   {
    "label": "Databases",
    "href": "https://agentdrives.com/categories/databases"
   }
  ],
  "tasks": [
   {
    "label": "Create or update a record",
    "href": "https://agentdrives.com/tasks/create-or-update-a-record"
   },
   {
    "label": "Create a database",
    "href": "https://agentdrives.com/tasks/create-a-database"
   },
   {
    "label": "Read usage and quotas",
    "href": "https://agentdrives.com/tasks/read-usage-and-quotas"
   },
   {
    "label": "Upload a file",
    "href": "https://agentdrives.com/tasks/upload-a-file"
   },
   {
    "label": "Delete a record",
    "href": "https://agentdrives.com/tasks/delete-a-record"
   },
   {
    "label": "List databases and read their schema",
    "href": "https://agentdrives.com/tasks/list-databases-and-read-their-schema"
   }
  ],
  "walls": [],
  "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": "Airtable",
    "href": "https://agentdrives.com/tools/airtable",
    "slug": "airtable",
    "level": 4
   },
   {
    "label": "Convex",
    "href": "https://agentdrives.com/tools/convex",
    "slug": "convex",
    "level": 4
   },
   {
    "label": "Couchbase",
    "href": "https://agentdrives.com/tools/couchbase",
    "slug": "couchbase",
    "level": 4
   }
  ],
  "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": "Create a database",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-02",
   "name": "Define a data model schema and generate a typed client",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "done",
    "ui": "none"
   }
  },
  {
   "id": "cap-03",
   "name": "Deploy a schema migration",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "done",
    "ui": "none"
   }
  },
  {
   "id": "cap-04",
   "name": "Create or update a record",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-05",
   "name": "Run a database query",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-06",
   "name": "Delete a record",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "done"
   }
  },
  {
   "id": "cap-07",
   "name": "Deploy an app to Prisma Compute",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-08",
   "name": "List databases and read their schema",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-09",
   "name": "Browse and edit data visually in Prisma Studio",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "untried",
    "ui": "done"
   }
  },
  {
   "id": "cap-10",
   "name": "Query a database over a REST API",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-11",
   "name": "Create a deploy preview environment per feature branch",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-12",
   "name": "Back up a database",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-13",
   "name": "Restore a database backup",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "untried",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-14",
   "name": "Manage connection string credentials",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-15",
   "name": "Run a vector similarity search (pgvector)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-16",
   "name": "Inspect slow queries (Query Insights)",
   "core": false,
   "result": "partial",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "partial"
   }
  },
  {
   "id": "cap-17",
   "name": "Read Compute app logs",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "untried",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-18",
   "name": "Set environment variables and secrets for a deployment",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "untried",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-19",
   "name": "Roll back a deployment",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "blocked",
    "ui": "untried"
   }
  },
  {
   "id": "cap-20",
   "name": "Create a storage bucket",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "untried",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-21",
   "name": "Mint or revoke a bucket access key",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "untried",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-22",
   "name": "Upload a file to a bucket",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-23",
   "name": "Create a signed URL for a file",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-24",
   "name": "Delete a storage bucket",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-25",
   "name": "Connect a custom domain to an app",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-26",
   "name": "Choose a database or app region",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "untried",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-27",
   "name": "See Composer services topology",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-28",
   "name": "Enable a Postgres extension",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-29",
   "name": "Embed Prisma Studio data editor in your own app",
   "core": false,
   "result": "untried",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-30",
   "name": "Set a spend limit",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-31",
   "name": "Read usage and cost breakdown",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-32",
   "name": "Install Prisma coding-agent skills",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "done",
    "ui": "none"
   }
  },
  {
   "id": "cap-33",
   "name": "Search Prisma docs from an AI agent",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  }
 ],
 "category_place": {
  "category": "databases",
  "products": 15,
  "higher": 0,
  "same_level": 5,
  "as_of": "2026-11-01",
  "stop": null,
  "rivals_by": "level",
  "rivals": [
   "airtable",
   "convex",
   "couchbase",
   "nocodb",
   "upstash"
  ]
 },
 "page": "https://agentdrives.com/tools/prisma?via=api"
}