{
 "$schema": "https://agentdrives.com/schemas/tool.schema.json",
 "id": "prd_01m57vgtjxmct7p9qntzpt1zy9",
 "ids": {
  "org": "org_01m57vgtjx07aqd1rsn2jqqem7",
  "surfaces": {
   "web": "srf_01m5t8r1z6chvfjtm60gfa078r",
   "api": "srf_01m5t8r1z66x4brhtdsw3kebz6",
   "mcp": "srf_01m5t8r1z64gfd3tp5r5a6sezq",
   "cli": "srf_01m5t8r1z6c1rk3pg42wy288sm",
   "sdk": "srf_01m5t8r1z6nzp2nws1hh1pjd66"
  },
  "slugs": [
   "couchbase"
  ],
  "domain": "couchbase.com",
  "wikidata": "Q107381860"
 },
 "slug": "couchbase",
 "name": "Couchbase",
 "url": "https://couchbase.com",
 "domain": "couchbase.com",
 "category": "databases",
 "category_name": "Databases",
 "tested_at": "2026-10-25",
 "run": "20261025T172849Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261025T172849Z",
   "date": "2026-10-25",
   "level": 4,
   "engine": {
    "model": "claude-opus-5-5",
    "driver": 5,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": "2026.10.25",
    "commit": "743dcd8d98a9d9bcbf5f37794e659e6f63c66d74",
    "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: 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 card form",
   "value": "checkout",
   "route": "portal"
  },
  {
   "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: 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 card form",
   "value": "checkout",
   "route": "portal",
   "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": "browser_signup",
   "label": "Sign-up in a browser",
   "routes": [
    "email_password"
   ],
   "minutes": 8,
   "core": "8/8"
  }
 ],
 "minutes": 8,
 "next": {
  "to": 5,
  "text": "Next: pay without a person"
 },
 "stop": null,
 "core": "8/8",
 "scores": {
  "coverage": 91,
  "reliability": 100,
  "resilience": 94,
  "setup": 100,
  "surface_coverage": 54,
  "docs_accuracy": 90,
  "docs_completeness": 86
 },
 "parts": {
  "holds_up": 97,
  "docs_match": 89,
  "setup": 100,
  "security": "private",
  "standards": [
   {
    "standard": "MCP discovery",
    "state": "behind",
    "behind": null,
    "value": "legacy"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 2,
    "value": "3.0.2"
   }
  ]
 },
 "reliability_method": "pass^k",
 "resilience": {
  "parts": {
   "error_legibility": 90,
   "recovery": 93,
   "idempotency": 100
  },
  "summary": {
   "error_legibility": "mixed",
   "recovery": "good",
   "idempotency": "safe",
   "rate_limits": "none-seen",
   "notes": "Most errors are JSON with a code, hint and message that name the fix (missing name, scope not found, duplicate bucket, free-tier refusals, SQL++ syntax with line and column). A few mislead: 500 on paid creates, deletes that succeed but answer 403 with a backup error, a turn-on call that says 'cannot turn off', and a permission miss reported as 'authentication failure'. 15 quick reads showed no rate-limit headers."
  }
 },
 "stress": [
  {
   "capability": "List databases/buckets and read their schema",
   "probe": "create bucket without required name",
   "outcome": "422 {\"code\": 6011, \"hint\": \"The bucket name is not valid. A bucket name cannot be empty. Please provide a valid name for the bucket.\", \"httpStatusCode\": 422, \"message\": \"The bucket name is not valid. ",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a database cluster",
   "probe": "get a well-formed cluster id that does not exist",
   "outcome": "404 {\"code\": 4025, \"hint\": \"The requested cluster details could not be found or fetched. Please ensure that the correct cluster ID is provided.\", \"httpStatusCode\": 404, \"message\": \"Unable to fetch the",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "List databases/buckets and read their schema",
   "probe": "repeat a create (same bucket name)",
   "outcome": "422 {\"code\": 6001, \"hint\": \"The bucket name provided already exists. Please choose a different name for the bucket.\", \"httpStatusCode\": 422, \"message\": \"Can not create new bucket with name 'agentdrive",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "Create or update a document (key-value)",
   "probe": "repeat a KV insert with the same key",
   "outcome": "0 {\"first\": \"1792951970431696896\", \"second\": \"DocumentExistsError\", \"msg\": \"document exists\"}",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "List databases/buckets and read their schema",
   "probe": "",
   "outcome": "15 x 200; no RateLimit, X-RateLimit-* or Retry-After headers",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "none-seen"
  },
  {
   "capability": "Create a database cluster",
   "probe": "call with a wrong API key",
   "outcome": "401 {\"code\": 1001, \"hint\": \"The request is unauthorized. Please ensure you have provided appropriate credentials in the request header. Please make sure the client IP that is trying to access the reso",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create or update a document (key-value)",
   "probe": "SDK connect with a wrong database password",
   "outcome": "0 {\"error\": \"AuthenticationFailureError\", \"message\": \"authentication failure\"}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a table/collection",
   "probe": "create a collection in a scope that does not exist, then check state",
   "outcome": "404 {\"code\":11002,\"message\":\"Scope Not Found\",\"hint\":\"The requested scope details could not be found...\"}; GET .../scopes after: app (mobile, notes), _default, _system: nothing half-made",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a SQL++ (N1QL) query over a database",
   "probe": "malformed SQL++ statement",
   "outcome": "SDK: ParsingFailureError \"parsing failure\"; the server body (same call over REST /query/service): {\"errors\":[{\"code\":3000,\"column\":13,\"line\":1,\"msg\":\"syntax error - line 1, column 13, near 'SELEC * FR",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a full-text search query",
   "probe": "search an index that does not exist",
   "outcome": "0 {\"error\": \"IndexNotFoundError\", \"message\": \"index not found\"}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Sync a local/mobile database with the cloud",
   "probe": "update with a stale revision",
   "outcome": "409 {\"error\":\"conflict\",\"reason\":\"Document revision conflict\"}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  }
 ],
 "surface_audit": {
  "totals": {
   "items": 437,
   "documented": 426,
   "safe": 381,
   "exercised": 230,
   "passed": 206,
   "skipped": 45,
   "blocked": 150,
   "not_run": 4,
   "match": 206,
   "drift": 20,
   "broken_doc": 4,
   "docs_complete": 310,
   "docs_partial": 116,
   "docs_missing": 0,
   "errors_clear": 42,
   "errors_vague": 3,
   "errors_silent": 3
  }
 },
 "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": "743dcd8d98a9d9bcbf5f37794e659e6f63c66d74",
  "prompts": {
   "version": "2026.10.25",
   "commit": "91b82cb48a69d1b477a3a4749cea228ed563c85c"
  },
  "rules": {
   "version": "2026.10.25",
   "commit": "6076b99274a3dc4f96f06f95d78404f71141246d"
  }
 },
 "same_level_drives": 1,
 "drives": 1,
 "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-25"
  },
  "browser": {
   "state": "in",
   "measured": false
  },
  "our_key": "verified",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "docs.couchbase.com, llms.txt (per-product llms files) and the OpenAPI (3.0.2, 343 operations) read without a browser. www.couchbase.com (pricing, robots.txt, downloads) answers our signed agent with an Akamai 403 'Access Denied'."
  },
  "signup": {
   "status": "browser",
   "note": "Email + password form at cloud.couchbase.com/sign-up, no CAPTCHA; only a name, email, password and the terms box. No sign-up API.",
   "way": "email_password"
  },
  "verify": {
   "status": "browser",
   "note": "Mail with a 6-digit code and a Verify Email link arrived within a minute (read without a browser from our inbox); the link verified the account and opened sign-in."
  },
  "credentials": {
   "status": "browser",
   "note": "The first Management API key is made in the web UI only (Settings > API Keys > Generate Key); with it, further scoped keys are created, used and revoked by API.",
   "via": ""
  },
  "first_call": {
   "status": "headless",
   "note": "",
   "route": "account"
  },
  "first_action": {
   "status": "headless",
   "note": "POST .../clusters/freeTier created a free cluster (202, healthy in about 2.5 minutes); database access, buckets, collections and the Data API were all set up by API."
  },
  "pay": {
   "status": "browser",
   "grade": "P2",
   "rails": [
    "card (Stripe Elements) in the app's Upgrade page",
    "pre-paid credits via sales or AWS/Azure/GCP marketplace"
   ],
   "rail_ids": [
    "stripe-elements",
    "cloud-marketplace"
   ],
   "first_party": true,
   "rail_scope": "none",
   "trial_path": "free tier",
   "3ds": "none",
   "route": "portal",
   "checkout": {
    "reached": "card_form",
    "processor": "stripe_elements",
    "captcha": "invisible",
    "three_ds": "not_seen",
    "card_form": true,
    "phone_field": "none",
    "wallets": [
     "google_pay"
    ],
    "rail_offer": "none",
    "price": null,
    "currency": null,
    "period": "usage",
    "plan": "Pay-as-you-go",
    "last_button": "Upgrade Account"
   },
   "person": "none",
   "ours": "no_card",
   "note": "No x402/MPP/402 rail (nothing paid). Settings > Upgrade > Add Credit Card opens a Stripe Elements card form with the card holder's billing address and an 'Upgrade Account' button; usage is invoiced monthly. We stopped at the card form. An agent given a card could complete it alone; no phone or visible CAPTCHA. One API call answers HTTP 402 (Operational Insights create) but carries no payment challenge."
  },
  "cancel": {
   "status": "n/a",
   "note": "Nothing to cancel: our agent used the free plan.",
   "docs_note": "Nothing to cancel: the drive used the free tier, no card, nothing renews. Paid use is pay-as-you-go per cluster; deleting clusters through the Management API stops usage, and saved cards are removed in the web UI (docs: Manage Billing Information).",
   "docs_grade": "",
   "nothing": "free_plan"
  },
  "delete": {
   "status": "headless",
   "note": "Everything we made was deleted by API (App Service, cluster, credentials, keys). The docs only describe deleting an organization through support, which the free tier does not offer; the empty organization record may remain on Couchbase's side.",
   "left": "deleted",
   "after_hours": null,
   "account": true
  }
 },
 "routes": [
  {
   "route": "local",
   "offered": "documented",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "email_password",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "inbox",
   "fresh": true,
   "minutes": 8,
   "browser": true
  },
  {
   "route": "sso_github",
   "offered": "documented",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "once",
   "brings": "github_account",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "sso_google",
   "offered": "documented",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "once",
   "brings": "google_account",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "enterprise",
   "offered": "seen",
   "tried": false,
   "not_tried": "assisted_only",
   "result": null,
   "wall": null,
   "person": "each",
   "brings": "person_grant",
   "fresh": true,
   "minutes": null,
   "browser": null
  }
 ],
 "checkout": {
  "reached": "card_form",
  "processor": "stripe_elements",
  "captcha": "invisible",
  "three_ds": "not_seen",
  "phone_field": "none",
  "wallets": [
   "google_pay"
  ],
  "rail_offer": "none",
  "period": "usage",
  "card_form": true,
  "plan": "Pay-as-you-go",
  "last_button": "Upgrade Account"
 },
 "docs": {
  "at": "2026-10-25",
  "read": 462,
  "listed": 5457,
  "sampled": true,
  "overall": "complete",
  "getting_started": "found",
  "auth": "found",
  "errors": "found",
  "examples": "good",
  "freshness": "fresh",
  "newest": "2026-10-25",
  "core_pages": "7 of 8",
  "capabilities": "most",
  "label": "No gaps in what we read"
 },
 "claims": {
  "claimed": 16,
  "tried": 13,
  "held": 11,
  "broken": 2,
  "unclear": 0,
  "not_tried": 3,
  "undocumented_works": 0
 },
 "pay_options": {
  "checked": "2026-10-25",
  "source": "probe",
  "options": [],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": null,
   "card_required": null,
   "free_plan": null
  },
  "owner_fixes": [
   {
    "title": "Accept x402 or MPP on your API",
    "how": "Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card."
   },
   {
    "title": "List your plans on Stripe Projects",
    "how": "Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev)."
   }
  ]
 },
 "surfaces": {
  "api": true,
  "openapi": true,
  "cli": true,
  "sdk": true,
  "mcp": "official",
  "llms_txt": true
 },
 "urls": {
  "docs": "https://docs.couchbase.com/home/index.html",
  "llms_txt": "https://docs.couchbase.com/llms.txt",
  "mcp": null
 },
 "surface_notes": {
  "api": "REST Management API v4, 343 operations; Data API, 18 operations",
  "openapi": "3.0.2",
  "mcp": "official, self-hosted, 33 tools",
  "cli": "cbsh 1.4.0; cbq, cbimport, cbexport, cbbackupmgr 8.0.3; agentc 1.1.5",
  "sdk": "Node.js couchbase 4.7.1"
 },
 "surface_sizes": [
  {
   "kind": "api",
   "listed": 361,
   "tested": 168
  },
  {
   "kind": "mcp",
   "listed": 24,
   "tested": 24
  },
  {
   "kind": "cli",
   "listed": 22,
   "tested": 20
  },
  {
   "kind": "sdk",
   "listed": 14,
   "tested": 14
  }
 ],
 "can_do": [
  "Create, update, turn off and on, and delete a free cluster through the Management API",
  "Open the cluster to its IP and create database users with scoped roles by API",
  "Create buckets, scopes and collections by API, and list them with their inferred schema",
  "Write, read, update and delete JSON documents through the SDK, the Data API (REST) or the MCP server",
  "Run SQL++ queries through the SDK, the REST query service, the Data API, cbq or the MCP server",
  "Create a Search index and run full-text and vector (kNN) searches",
  "Sync documents between a mobile App Endpoint and the cloud bucket on the free tier",
  "Back up and restore a bucket's documents with cbbackupmgr and export it with cbexport",
  "Find slow and inefficient queries through the MCP server",
  "Register and find agent tools with Agent Catalog (agentc)",
  "Create, use, rotate and revoke scoped API keys by API"
 ],
 "cannot_do": [
  {
   "what": "Get the first API key without a browser",
   "why": "Management API keys are first made in the web UI; there is no device or CLI login"
  },
  {
   "what": "Upgrade to a paid plan on its own",
   "why": "Payment is a card typed into a Stripe form in the app; no x402, MPP or billing API"
  },
  {
   "what": "Use backups, XDCR, eventing, analytics, scaling, audit logging or hosted models on the free tier",
   "why": "Plan-gated; the API says so (402/403/422), except paid cluster and model creates, which return 500"
  },
  {
   "what": "Use a hosted MCP server",
   "why": "The documented MCP Servers API answers 501 'not yet available'"
  },
  {
   "what": "Read pricing on www.couchbase.com",
   "why": "Akamai answers our signed agent with 403 Access Denied"
  }
 ],
 "blockers": [
  "The first Management API key is web-UI only",
  "Paid plans need a card in an in-app Stripe form"
 ],
 "tips_for_agents": [
  "Sign up at cloud.couchbase.com/sign-up with email and password, then make one Management API key in Settings > API Keys; everything after that works by API at https://cloudapi.cloud.couchbase.com/v4 with the key's token as Bearer.",
  "Use the freeTier paths for buckets on a free cluster (POST .../buckets/freeTier); the general bucket path needs replicas: 0 and its delete answers with a misleading 403.",
  "Turn on the Data API (PUT .../dataAPI {enableDataApi:true}, ready in about 5 minutes) for plain REST document, query and search calls with database credentials.",
  "Run the official MCP server with CB_MCP_TRANSPORT=http and CB_MCP_READ_ONLY_MODE=false to get its write tools; it negotiates protocol 2025-11-25 through initialize.",
  "For cbbackupmgr against Capella, create the repository with --disable-analytics --disable-cluster-analytics --disable-bucket-query --disable-cluster-query.",
  "Get the cluster CA with GET .../clusters/{id}/certificates for REST calls on ports 18091/18093/18094.",
  "When rotating an API key, use the returned token (not secretKey) as the Bearer value."
 ],
 "selfhost": null,
 "edge_case": "none",
 "summary": "An agent can run Couchbase Capella's free tier almost entirely on its own: after a browser sign-up and one API key made in the web UI, the Management API, Data API, SDKs, CLI tools and the official MCP server covered all eight core tasks, including vector search and mobile sync. Paid features are gated with mostly clear errors, paying needs a card in an in-app Stripe form, and removing our own user by API ended the account.",
 "wall": "First API key only in the web page",
 "plan_scope": "free plan",
 "robots_stop": null,
 "robots": null,
 "terms": null,
 "terms_read": null,
 "email_gate": null,
 "plain": {
  "summary": "Couchbase Capella is a cloud database. An agent signed up in a browser and made one API key in the web page, then created a free database and used it for documents, queries and searches on its own. It stopped at paying, which needs a card typed into a form.",
  "can_do": [
   "Create and delete a free database cluster",
   "Add and read documents, run queries and search, including vector search",
   "Create and revoke more API keys by API",
   "Back up data with a command-line tool",
   "Delete its own account user by API"
  ],
  "cannot_do": [
   {
    "what": "Get the first API key without a browser",
    "why": "The first key can only be made in the web page"
   },
   {
    "what": "Upgrade to a paid plan",
    "why": "Payment is a card typed into an in-app form"
   },
   {
    "what": "Use backups service, analytics, eventing and scaling on the free tier",
    "why": "These need a paid plan"
   },
   {
    "what": "Read the pricing page",
    "why": "Cause not confirmed in this drive"
   }
  ]
 },
 "plan_gated": [
  {
   "capability": "Back up a database (managed backups)",
   "plan": "paid",
   "evidence": "POST .../buckets/{b}/backups -> 403 code 5032 'not supported for a self service trial cluster' (cbbackupmgr from the CLI tools works)"
  },
  {
   "capability": "XDCR",
   "plan": "paid",
   "evidence": "one free cluster per organization; a replication needs a second (paid) cluster"
  },
  {
   "capability": "Eventing",
   "plan": "paid",
   "evidence": "GET .../eventingFunctions -> 422 'This feature is not supported for a free tier cluster.'"
  },
  {
   "capability": "Analytics",
   "plan": "paid",
   "evidence": "POST .../operationalInsightsClusters -> 402 'Analytics is unavailable for trial accounts. Please upgrade to a paid account'"
  },
  {
   "capability": "Resize",
   "plan": "paid",
   "evidence": "PUT .../clusters/{id} -> 422 'The package type basic is not allowed based on your activation status'"
  },
  {
   "capability": "Replicas / server groups",
   "plan": "paid",
   "evidence": "free cluster is single-node, maxReplicas 0"
  },
  {
   "capability": "Hosted model",
   "plan": "paid",
   "evidence": "POST /aiServices/models -> 500 on the free account"
  },
  {
   "capability": "CMEK",
   "plan": "paid",
   "evidence": "needs a cloud KMS key; enterprise feature"
  },
  {
   "capability": "SSO",
   "plan": "paid",
   "evidence": "Settings > SSO: 'This feature is not available for free tier.'"
  },
  {
   "capability": "Audit log",
   "plan": "Enterprise",
   "evidence": "PUT .../auditLog -> 422 'support package does not include audit logging. Please upgrade to Enterprise'"
  }
 ],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "capability": "Create a database cluster",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "",
    "mcp": null,
    "cli": "cbc-cluster",
    "ui": "Capella > Clusters > Create Cluster"
   },
   "check": "GET /v4/.../clusters/{clusterId} shows state healthy",
   "capability_id": "cap_9a3jhdb4",
   "source": "https://docs.couchbase.com/cloud/management-api-guide/management-api-intro.html; https://docs.couchbase.com/server/current/rest-api/rest-intro.html",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-02",
   "capability": "Create or update a document (key-value)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "PUT/POST key-value (SDK, Data API)",
    "mcp": "upsert_document_by_id / insert_document_by_id",
    "cli": "cbc",
    "ui": "Capella > Documents > Add Document"
   },
   "check": "GET document by key returns the new/updated value",
   "capability_id": "cap_m34x9t4v",
   "source": "https://docs.couchbase.com/ai/get-started/intro.html; https://docs.couchbase.com/home/index.html",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk",
    "mcp",
    "api"
   ]
  },
  {
   "id": "cap-03",
   "capability": "Delete a document",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "DELETE key-value (SDK)",
    "mcp": "delete_document_by_id",
    "cli": "cbc",
    "ui": "Capella > Documents"
   },
   "check": "GET document by key returns not found",
   "capability_id": "cap_z5zsc472",
   "source": "https://www.couchbase.com/blog/introducing-couchbase-mcp-server-ai-agents/",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk",
    "mcp",
    "api"
   ]
  },
  {
   "id": "cap-04",
   "capability": "Run a SQL++ (N1QL) query over a database",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /query/service",
    "mcp": "run_sql_plus_plus_query",
    "cli": "cbq",
    "ui": "Capella > Query Workbench"
   },
   "check": "Query response JSON 'results' array contains matching rows",
   "capability_id": "cap_53z76bgf",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk",
    "mcp",
    "api",
    "cli"
   ]
  },
  {
   "id": "cap-05",
   "capability": "Run a full-text search query",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/bucket/{b}/scope/{s}/index/{i}/query",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Search"
   },
   "check": "Search response 'hits' array contains matched documents",
   "capability_id": "cap_0gwx7zby",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#search-service-api",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk",
    "api"
   ]
  },
  {
   "id": "cap-06",
   "capability": "Run a vector search",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST .../index/{i}/query (vector field)",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Search"
   },
   "check": "Search response returns nearest-neighbour hits ranked by score",
   "capability_id": "cap_een15d28",
   "source": "https://docs.couchbase.com/cloud/get-started/intro.html",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk",
    "api"
   ]
  },
  {
   "id": "cap-07",
   "capability": "List databases/buckets and read their schema",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /pools/default/buckets",
    "mcp": "get_buckets_in_cluster / get_schema_for_collection",
    "cli": "couchbase-cli bucket-list",
    "ui": "Capella > Buckets"
   },
   "check": "GET /pools/default/buckets returns bucket list with names matching cluster state",
   "capability_id": "cap_xqrrtrx2",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#buckets-api",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "sdk",
    "mcp"
   ]
  },
  {
   "id": "cap-08",
   "capability": "Sync a local/mobile database with the cloud",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "App Services / Sync Gateway config"
   },
   "check": "Couchbase Lite device document propagates to Capella bucket and back",
   "capability_id": "cap_wc68bx3p",
   "source": "https://docs.couchbase.com/home/index.html (Couchbase Mobile / Sync Gateway)",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "browser"
   ]
  },
  {
   "id": "cap-09",
   "capability": "Create a table/collection",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /pools/default/buckets/{b}/scopes/{s}/collections",
    "mcp": "get_collections_in_scope (read)",
    "cli": "couchbase-cli collection-manage",
    "ui": "Capella > Buckets > Collections"
   },
   "check": "GET .../scopes/ lists the new collection",
   "capability_id": "cap_ec6ajdnd",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#scopes-and-collections-api",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-10",
   "capability": "Set row-level security / RBAC roles for users",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "PUT /settings/rbac/users/local/{user}",
    "mcp": null,
    "cli": "couchbase-cli user-manage",
    "ui": "Capella > Security > Database Access"
   },
   "check": "GET /settings/rbac/users shows the user with the assigned roles",
   "capability_id": "cap_49bc6r5r",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#authorization",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-11",
   "capability": "Back up a database",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/v1/cluster/self/repository/active/{id}/backup",
    "mcp": null,
    "cli": "cbbackupmgr",
    "ui": "Capella > Backups"
   },
   "check": "GET .../repository/active/{id}/info lists the new backup entry",
   "capability_id": "cap_drp5sav8",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#backup-service-api",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli"
   ]
  },
  {
   "id": "cap-12",
   "capability": "Restore a database from backup",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/v1/cluster/self/repository/{archived|imported}/{id}/restore",
    "mcp": null,
    "cli": "cbbackupmgr",
    "ui": "Capella > Backups > Restore"
   },
   "check": "Restored bucket document count matches the backup snapshot",
   "capability_id": "cap_ykvspbps",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#backup-service-api",
   "result": "partial",
   "via": "cli"
  },
  {
   "id": "cap-13",
   "capability": "Set up cross data-center replication (XDCR)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /controller/createReplication",
    "mcp": null,
    "cli": "couchbase-cli xdcr-replicate",
    "ui": "Capella > XDCR"
   },
   "check": "GET /settings/replications/ lists the active replication id",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#xdcr-api",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-14",
   "capability": "Create a database trigger / eventing function",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "Eventing REST API (deploy function)",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Eventing"
   },
   "check": "GET eventing function status shows 'deployed'",
   "capability_id": "cap_8zw3hzk9",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#eventing-service-api",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-15",
   "capability": "Run an analytics (OLAP) query",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /analytics/service",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Analytics Workbench"
   },
   "check": "Analytics response 'results' array contains aggregate rows",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#analytics-service-api",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-16",
   "capability": "Find slow or inefficient queries",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /admin/completed_requests",
    "mcp": "get_longest_running_queries / get_queries_not_using_covering_index",
    "cli": null,
    "ui": "Capella > Query Monitoring"
   },
   "check": "Response lists queries with execution time above threshold",
   "capability_id": "cap_fz6spk4z",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#query-service-administration",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp"
   ]
  },
  {
   "id": "cap-17",
   "capability": "Resize/scale database compute",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "PUT /v4/.../clusters/{id}/specs",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Clusters > Scale"
   },
   "check": "GET cluster spec shows updated compute/node count",
   "capability_id": "cap_jajhkrq5",
   "source": "https://docs.couchbase.com/cloud/management-api-guide/management-api-intro.html",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-18",
   "capability": "Add a read replica / server group",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /pools/default/serverGroups",
    "mcp": null,
    "cli": "couchbase-cli",
    "ui": "Capella > Clusters > Availability Zones"
   },
   "check": "GET /pools/default/serverGroups lists the new group",
   "capability_id": "cap_j8kyym81",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#server-groups-api",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-19",
   "capability": "Deploy a hosted AI agent / model",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "AI Data Plane Model Service API",
    "mcp": null,
    "cli": null,
    "ui": "Capella > AI Services > Model Service"
   },
   "check": "Deployed model endpoint responds to an inference request",
   "capability_id": "cap_jzq3rf56",
   "source": "https://docs.couchbase.com/ai/get-started/intro.html",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-21",
   "capability": "Add knowledge/tools to an AI agent via Agent Catalog",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "agentc",
    "ui": null
   },
   "check": "agentc index lists the registered tool/prompt in the catalog",
   "capability_id": "cap_aqsqrrme",
   "source": "https://docs.couchbase.com/ai/get-started/intro.html",
   "result": "done",
   "via": "cli",
   "done_on": [
    "cli"
   ]
  },
  {
   "id": "cap-22",
   "capability": "Export data to a warehouse / connector",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Connectors: Kafka, Spark, Elasticsearch"
   },
   "check": "Target warehouse table receives rows matching source collection",
   "capability_id": "cap_vg87a3nt",
   "source": "https://docs.couchbase.com/home/index.html (Connectors)",
   "result": "partial",
   "via": "cli"
  },
  {
   "id": "cap-23",
   "capability": "Encrypt data with a customer-managed key",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Capella > Security > Encryption"
   },
   "check": "Cluster security settings show CMEK key id attached",
   "capability_id": "cap_se1tg3g2",
   "source": "https://www.couchbase.com/pricing/ (Enterprise tier: customer-managed encryption keys)",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-24",
   "capability": "Configure SAML/LDAP SSO",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": "POST /settings/saml, POST /settings/ldap",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Organization Settings > SSO"
   },
   "check": "GET /settings/saml returns the configured IdP metadata",
   "capability_id": "cap_pz4pecfg",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#authentication",
   "result": "plan_gated",
   "via": "browser",
   "counted": false
  },
  {
   "id": "cap-25",
   "capability": "Read the audit log",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": "GET /settings/audit",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Audit Log"
   },
   "check": "GET /settings/audit/descriptors returns recorded audit events",
   "capability_id": "cap_xgs80797",
   "source": "https://docs.couchbase.com/server/current/rest-api/rest-intro.html#general-security",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  },
  {
   "id": "cap-26",
   "capability": "Invite a member / manage organization users",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Organization > Users"
   },
   "check": "GET /v4/.../users lists the invited member with pending status",
   "capability_id": "cap_3w8sjh12",
   "source": "https://docs.couchbase.com/cloud/management-api-guide/management-api-intro.html",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-27",
   "capability": "Create an API key",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Organization > API Keys"
   },
   "check": "GET /v4/.../apikeys lists the created key id",
   "capability_id": "cap_wbg916v9",
   "source": "https://docs.couchbase.com/cloud/management-api-guide/management-api-intro.html",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-28",
   "capability": "Read usage and quotas / billing",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "GET /pools/default/stats/range",
    "mcp": null,
    "cli": null,
    "ui": "Capella > Billing"
   },
   "check": "Billing page / stats response reflects current usage metrics",
   "capability_id": "cap_n0zefvzh",
   "source": "https://docs.couchbase.com/cloud/billing/billing.html",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  }
 ],
 "stale": false,
 "unreachable_since": null,
 "not_driven_since": null,
 "icon": "/logos/couchbase.png",
 "agent_kinds": {
  "browser": {
   "who": "An assistant in a browser",
   "passed": [
    "signup",
    "verify",
    "first_action"
   ],
   "stop": "pay",
   "why": "reaches the checkout, stopped at the card form",
   "tone": "warn",
   "text": "Signs up, confirms its email and does all of the core work. Payment: reaches the checkout, stopped at the card form."
  },
  "direct": {
   "who": "An agent talking to it directly",
   "passed": [],
   "stop": "signup",
   "why": "it works only in a browser",
   "tone": "wall",
   "text": "Stops at sign-up: it works only in a browser."
  }
 },
 "sdk": null,
 "surface_reach": null,
 "connect": {
  "api": {
   "base_url": "https://cloudapi.cloud.couchbase.com",
   "state": "documented"
  },
  "docs": {
   "url": "https://docs.couchbase.com/home/index.html",
   "state": "tested"
  }
 },
 "surface_sources": {
  "docs": "https://docs.couchbase.com/home/index.html",
  "llms_txt": "https://docs.couchbase.com/llms.txt",
  "api": "https://docs.couchbase.com/cloud/management-api-reference/index.html",
  "mcp": "https://docs.couchbase.com/mcp-server/get-started/overview.html",
  "cli": "https://docs.couchbase.com/cloud/reference/command-line-tools.html",
  "sdk": "https://docs.couchbase.com/nodejs-sdk/current/howtos/kv-operations.html",
  "openapi": "https://docs.couchbase.com/cloud/management-api-reference/_attachments/openapi.external.generated.yaml"
 },
 "copilot_connector": null,
 "stripe_directory": null,
 "in_stripe_directory": null,
 "stripe_projects": null,
 "pay_rails": [],
 "stop_evidence": null,
 "wall_vendor": null,
 "mcp_sign_in": null,
 "safety_issues": null,
 "fix_counts": {
  "small": 5,
  "medium": 3,
  "large": 1,
  "total": 9
 },
 "evidence_sha256": "5d3b0b8011aa9220a497835dda1aaeb251b603f81cc8f56d0dc7da54b4f87692",
 "first_seen": "2026-10-25",
 "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": "awaiting",
  "drives": 1,
  "agree": 1,
  "review": null,
  "text": "1 drive, awaiting confirmation"
 },
 "stop_shot": null,
 "stop_shot_hash": null,
 "attempts_count": 131,
 "detail": {
  "public": false,
  "in": [
   "report",
   "api"
  ],
  "since": "2026-10-17"
 },
 "what_it_does": "Couchbase Capella is a cloud database.",
 "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": 0,
   "above": 6,
   "quartile": 1
  },
  "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
  },
  "ERR-04": {
   "basis": "all",
   "n": 36,
   "below": 0,
   "above": 12,
   "percentile": 33
  },
  "ERR-07": {
   "basis": "category",
   "n": 8,
   "below": 4,
   "above": 2
  },
  "IN-03": {
   "basis": "category",
   "n": 10,
   "below": 0,
   "above": 0,
   "quartile": 3
  },
  "IN-11": {
   "basis": "category",
   "n": 13,
   "below": 9,
   "above": 0,
   "quartile": 4
  },
  "IN-12": {
   "basis": "category",
   "n": 13,
   "below": 1,
   "above": 10,
   "quartile": 1
  },
  "LEAVE-03": {
   "basis": "category",
   "n": 12,
   "below": 7,
   "above": 0,
   "quartile": 4
  },
  "LIM-02": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 1
  },
  "PAY-05": {
   "basis": "category",
   "n": 13,
   "below": 0,
   "above": 7,
   "quartile": 1
  },
  "PROTO-02": {
   "basis": "category",
   "n": 8,
   "below": 0,
   "above": 0
  }
 },
 "probe": {
  "checked": "2026-11-01",
  "status": "stopped",
  "sign_up_page": null,
  "wall": "block:akamai",
  "llms_txt": null,
  "mcp": null,
  "openapi": null,
  "payment_402": null,
  "payment_rails": []
 },
 "probe_history": [
  {
   "checked": "2026-11-01",
   "status": "stopped",
   "sign_up_page": null,
   "wall": "block:akamai",
   "llms_txt": null,
   "mcp": null,
   "openapi": null,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-31",
   "status": "stopped",
   "sign_up_page": null,
   "wall": "block:akamai",
   "llms_txt": null,
   "mcp": null,
   "openapi": null,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-30",
   "status": "stopped",
   "sign_up_page": null,
   "wall": "block:akamai",
   "llms_txt": null,
   "mcp": null,
   "openapi": null,
   "payment_402": null,
   "payment_rails": []
  }
 ],
 "surface_changes": [],
 "agent_reports": null,
 "verdict": "L4 · Runs on its own: our agent got into Couchbase Capella and ran the free plan without a person. No checkpoint stopped it. Sign-up is an email and password form with no CAPTCHA, and the Verify Email link confirmed the account. The Management API key is made in the web UI. With that key our agent created a free cluster over the API and set up buckets, collections and the Data API. The official MCP server, SDKs and CLI tools covered the core work. Paying needs a card in a Stripe form. Our agent deleted the cluster, App Service, credentials and keys by API.",
 "changes": {
  "source": "store",
  "drives": [
   {
    "run": "20261025T172849Z",
    "date": "2026-10-25",
    "level": 4,
    "stop": null,
    "entry": "self-start",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   }
  ],
  "events": [],
  "feed": "https://agentdrives.com/api/tools/couchbase/changes.json"
 },
 "agreement": null,
 "method_release": "2026-Q4.27",
 "found": {
  "agent_blockers": 2,
  "surface_issues": 27
 },
 "agent_surfaces": {
  "api": {
   "state": "tested",
   "reachable": true,
   "documented": 361,
   "tested": 168,
   "source": "https://docs.couchbase.com/cloud/management-api-reference/index.html"
  },
  "mcp": {
   "state": "tested",
   "reachable": true,
   "documented": 24,
   "tested": 24,
   "source": "https://docs.couchbase.com/mcp-server/get-started/overview.html"
  },
  "cli": {
   "state": "tested",
   "reachable": true,
   "documented": 22,
   "tested": 20,
   "source": "https://docs.couchbase.com/cloud/reference/command-line-tools.html"
  },
  "sdk": {
   "state": "tested",
   "documented": 14,
   "tested": 14,
   "source": "https://docs.couchbase.com/nodejs-sdk/current/howtos/kv-operations.html"
  },
  "docs": {
   "state": "tested",
   "documented": 5457,
   "tested": 462,
   "source": "https://docs.couchbase.com/home/index.html"
  },
  "payment": {
   "state": "none_found",
   "documented": null,
   "tested": null,
   "source": null
  }
 },
 "issues_found": 29,
 "rank": 1,
 "rank_of": 9,
 "rank_change": null,
 "rank_since": "2026-10-29",
 "links": {
  "category": [
   {
    "label": "Data and storage",
    "href": "https://agentdrives.com/categories/data"
   },
   {
    "label": "Databases",
    "href": "https://agentdrives.com/categories/databases"
   }
  ],
  "tasks": [
   {
    "label": "Invite a member",
    "href": "https://agentdrives.com/tasks/invite-a-member"
   },
   {
    "label": "Create an API key",
    "href": "https://agentdrives.com/tasks/create-an-api-key"
   },
   {
    "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": "Delete a record",
    "href": "https://agentdrives.com/tasks/delete-a-record"
   }
  ],
  "walls": [
   {
    "label": "Sign-up or key only in a browser",
    "href": "https://agentdrives.com/access/get-in/sign-up",
    "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": "Airtable",
    "href": "https://agentdrives.com/tools/airtable",
    "slug": "airtable",
    "level": 4
   },
   {
    "label": "Convex",
    "href": "https://agentdrives.com/tools/convex",
    "slug": "convex",
    "level": 4
   },
   {
    "label": "NocoDB",
    "href": "https://agentdrives.com/tools/nocodb",
    "slug": "nocodb",
    "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 cluster",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-02",
   "name": "Create or update a document (key-value)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-03",
   "name": "Delete a document",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-04",
   "name": "Run a SQL++ (N1QL) query over a database",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-05",
   "name": "Run a full-text search query",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-06",
   "name": "Run a vector search",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-07",
   "name": "List databases/buckets and read their schema",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-08",
   "name": "Sync a local/mobile database with the cloud",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "done"
   }
  },
  {
   "id": "cap-09",
   "name": "Create a table/collection",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "untried",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-10",
   "name": "Set row-level security / RBAC roles for users",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-11",
   "name": "Back up a database",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "untried",
    "mcp": "none",
    "cli": "done",
    "ui": "untried"
   }
  },
  {
   "id": "cap-12",
   "name": "Restore a database from backup",
   "core": false,
   "result": "partial",
   "surfaces": {
    "api": "untried",
    "mcp": "none",
    "cli": "partial",
    "ui": "untried"
   }
  },
  {
   "id": "cap-13",
   "name": "Set up cross data-center replication (XDCR)",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-14",
   "name": "Create a database trigger / eventing function",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-15",
   "name": "Run an analytics (OLAP) query",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-16",
   "name": "Find slow or inefficient queries",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "untried",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-17",
   "name": "Resize/scale database compute",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-18",
   "name": "Add a read replica / server group",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "untried",
    "ui": "untried"
   }
  },
  {
   "id": "cap-19",
   "name": "Deploy a hosted AI agent / model",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-21",
   "name": "Add knowledge/tools to an AI agent via Agent Catalog",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "done",
    "ui": "none"
   }
  },
  {
   "id": "cap-22",
   "name": "Export data to a warehouse / connector",
   "core": false,
   "result": "partial",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "partial",
    "ui": "untried"
   }
  },
  {
   "id": "cap-23",
   "name": "Encrypt data with a customer-managed key",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-24",
   "name": "Configure SAML/LDAP SSO",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "untried",
    "mcp": "none",
    "cli": "none",
    "ui": "plan"
   }
  },
  {
   "id": "cap-25",
   "name": "Read the audit log",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-26",
   "name": "Invite a member / manage organization users",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-27",
   "name": "Create an API key",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-28",
   "name": "Read usage and quotas / billing",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  }
 ],
 "category_place": {
  "category": "databases",
  "products": 15,
  "higher": 0,
  "same_level": 5,
  "as_of": "2026-11-01",
  "stop": null,
  "rivals_by": "level",
  "rivals": [
   "airtable",
   "convex",
   "nocodb",
   "prisma",
   "upstash"
  ]
 },
 "page": "https://agentdrives.com/tools/couchbase?via=api"
}