{
 "$schema": "https://agentdrives.com/schemas/tool.schema.json",
 "id": "prd_01m610mjrtaav8t7tws5vcvpkf",
 "ids": {
  "org": "org_01m610mjrt3rqb3wnv5zwwfwwy",
  "surfaces": {
   "web": "srf_01m610mjrvhdkhmc9ypz99j52e",
   "api": "srf_01m610mjrvdd6jcq3tfz4c45z9",
   "mcp": "srf_01m610mjrv922kj32g9s2zgsyy",
   "sdk": "srf_01m610mjrvjgnq8phqq25wpp5f"
  },
  "slugs": [
   "lancedb"
  ],
  "domain": "lancedb.com"
 },
 "slug": "lancedb",
 "name": "LanceDB",
 "url": "https://lancedb.com",
 "domain": "lancedb.com",
 "category": "vector-databases",
 "category_name": "Vector databases",
 "tested_at": "2026-10-30",
 "run": "20261030T231051Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261028T092146Z",
   "date": "2026-10-28",
   "level": 4,
   "engine": {
    "model": "claude-opus-5-5",
    "driver": 5,
    "signed": true,
    "inbox": null,
    "robots": "skip",
    "version": "2026.10.28",
    "commit": "40c0886c80ece15593185b8aecb9dbfaeed5a5d9",
    "prompts": {
     "version": "2026.10.28",
     "commit": "f3a993449822f9f55b1a57fc1810bbe6f82cce0a"
    },
    "rules": {
     "version": "2026.10.28",
     "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
    }
   },
   "stop": "pay",
   "paid": false,
   "agent_paid": null
  },
  {
   "run": "20261030T231051Z",
   "date": "2026-10-30",
   "level": 4,
   "engine": {
    "model": "anthropic/opus",
    "driver": 5,
    "signed": true,
    "inbox": null,
    "robots": "skip",
    "version": "2026.10.30",
    "commit": "535319129d4460beaaa18fd1f563d9a24aed68cb",
    "prompts": {
     "version": "2026.10.30",
     "commit": "fc07298dc100d95517331721523f234c322dbe32"
    },
    "rules": {
     "version": "2026.10.28",
     "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
    }
   },
   "stop": "pay",
   "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": [
  "agent-can-leave"
 ],
 "not_counted": null,
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "yes",
   "text": "Gets in on its own: no key needed, runs locally",
   "how": "no-account",
   "way": "local"
  },
  {
   "key": "work",
   "label": "Use",
   "state": "yes",
   "text": "Work done: 100% of the core"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "no",
   "text": "A person has to buy: a sales call",
   "value": "person",
   "route": "sales",
   "why": "sales"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Leaves on its own: nothing to cancel, made nothing to delete",
   "how": "no-account",
   "left": "nothing_made",
   "delete": {
    "state": "na",
    "text": "Made nothing to delete",
    "why": "Nothing was stored with the vendor (no account)."
   }
  }
 ],
 "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: no key needed, runs locally",
   "how": "no-account",
   "way": "local",
   "stage": "in"
  },
  {
   "key": "use",
   "label": "Use",
   "state": "yes",
   "text": "Work done: 100% of the core",
   "stage": "work"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "no",
   "text": "A person has to buy: a sales call",
   "value": "person",
   "route": "sales",
   "why": "sales",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Leaves on its own: nothing to cancel, made nothing to delete",
   "how": "no-account",
   "left": "nothing_made",
   "delete": {
    "state": "na",
    "text": "Made nothing to delete",
    "why": "Nothing was stored with the vendor (no account)."
   },
   "stage": "leave"
  }
 ],
 "access": [
  {
   "key": "keyless",
   "label": "No key needed",
   "routes": [
    "keyless"
   ],
   "minutes": 1,
   "core": "0/8"
  },
  {
   "key": "local",
   "label": "Runs locally",
   "routes": [
    "local"
   ],
   "minutes": 2,
   "core": "8/8"
  }
 ],
 "minutes": 1,
 "next": {
  "to": 5,
  "text": "Next: pay without a person"
 },
 "stop": "pay",
 "core": "8/8",
 "scores": {
  "coverage": 100,
  "reliability": 100,
  "resilience": 84,
  "setup": 100,
  "surface_coverage": 45,
  "docs_accuracy": 100,
  "docs_completeness": 78
 },
 "parts": {
  "holds_up": 92,
  "docs_match": 93,
  "setup": 100,
  "security": "private",
  "standards": [
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 1,
    "value": "3.1.1"
   },
   {
    "standard": "A2A",
    "state": "behind",
    "behind": 1,
    "value": "0.3"
   }
  ]
 },
 "reliability_method": "pass^k",
 "resilience": {
  "parts": {
   "error_legibility": 78,
   "recovery": 94,
   "idempotency": 80
  },
  "summary": {
   "error_legibility": "mixed",
   "recovery": "good",
   "idempotency": "safe",
   "rate_limits": "none-seen",
   "notes": "Most SDK errors name the field or the fix; a wrong-typed insert is silently coerced (string id to null) and a wrong vector dimension is reported as NaN/null. Batches are atomic and mergeInsert is a safe retry; add is not idempotent."
  }
 },
 "stress": [
  {
   "capability": "Create a table",
   "probe": "create a table that already exists",
   "outcome": "ERR Table 'stress' already exists",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "Create a table",
   "probe": "retry create with existOk",
   "outcome": "OK {\"rows_after\":10}",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "Create a table",
   "probe": "open a table that does not exist",
   "outcome": "ERR Table 'nope_table' was not found  Caused by: Dataset at path srv/agentdrives/app/runs/lancedb/20261030T231051Z/local/db/nope_table.lance was not found: Not found: srv/agentdrives/app/runs/lancedb/",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert records into a table",
   "probe": "insert a row with a wrong-type column",
   "outcome": "OK {\"version\":2} -- read back: [{id:1,text:\"a\"},{id:null,text:\"5\"}]: the string id became null and the number became the string \"5\", no error.",
   "grade": "silent",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert records into a table",
   "probe": "insert a vector of the wrong dimension",
   "outcome": "ERR lance error: LanceError(Arrow): Compute error: Vector column contains NaN or null values, /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lance-datafusion-14.0.2/src/utils.rs:51:31 ",
   "grade": "vague",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert records into a table",
   "probe": "partial failure: batch with one bad row, then count",
   "outcome": "OK {\"error\":\"lance error: LanceError(Arrow): Compute error: Vector column contains NaN or null values, /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lance-datafusion-14.0.2/src/utils.",
   "grade": "vague",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert records into a table",
   "probe": "repeat the same insert (idempotency)",
   "outcome": "OK {\"count_id100\":2} -- add() has no idempotency key; the second add duplicated the rows (merge_insert on a key is the safe retry).",
   "grade": "silent",
   "idempotent": "no",
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert records into a table",
   "probe": "repeat the same merge_insert (idempotency)",
   "outcome": "OK {\"count_id200\":1}",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "Delete rows from a table",
   "probe": "delete with a predicate on a missing column",
   "outcome": "ERR Invalid input, Schema error: No field named nosuchcol. Valid fields are id, text, vector, _rowid, _rowaddr, _row_last_updated_at_version, _row_created_at_version, _rowoffset.",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Delete rows from a table",
   "probe": "delete with a malformed predicate",
   "outcome": "ERR Invalid input, Error parsing statement: SELECT 1 FROM t WHERE id = = 1 (sql parser error: Expected: an expression, found: =)",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a vector (ANN) search",
   "probe": "vector search with the wrong dimension",
   "outcome": "ERR Failed to execute query stream: GenericFailure, Invalid input, No vector column found to match with the query vector dimension: 2",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a full-text (BM25) search",
   "probe": "FTS search with no FTS index",
   "outcome": "ERR Failed to execute query stream: GenericFailure, Invalid input, Cannot perform full text search unless an INVERTED index has been created on at least one column",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Query records with metadata filters / SQL",
   "probe": "filter on a column that does not exist",
   "outcome": "ERR Failed to execute query stream: GenericFailure, Invalid input, Schema error: No field named price. Valid fields are `id`, `text`, `vector`.",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a vector, FTS, or scalar index on a table",
   "probe": "IVF_PQ index on a text column",
   "outcome": "ERR Schema Error: A IVF PQ index cannot be created on the field `text` which has data type Utf8",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a vector, FTS, or scalar index on a table",
   "probe": "drop an index that does not exist",
   "outcome": "ERR lance error: Lance index not found: name=nope_idx, /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lance-14.0.2/src/index.rs:2545:24  Caused by: Lance index not found: name=nope_idx",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Branch a table's history",
   "probe": "checkout a branch that does not exist",
   "outcome": "ERR lance error: Not found: srv/agentdrives/app/runs/lancedb/20261030T231051Z/local/db/stress.lance/tree/nope/_versions, /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lance-table-14.0",
   "grade": "vague",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Query records with metadata filters / SQL",
   "probe": "burst of 15 countRows reads",
   "outcome": "OK 15/15 in 1 ms (embedded, no server)",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "none-seen"
  },
  {
   "capability": "Create a table",
   "probe": "bad credential",
   "outcome": "Not applicable: the embedded OSS library takes no credential. (Gotcha seen: connect(\"db\") without ./ answered: Invalid input, An api_key or oauth_config is required when connecting to LanceDb Cloud.)",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a table",
   "probe": "relative URI named db",
   "outcome": "db -> Invalid input, An api_key or oauth_config is required when connecting to LanceDb Cloud; ./db, mydata, data -> ListingDatabase (local)",
   "grade": "vague",
   "idempotent": null,
   "rate_limit": null
  }
 ],
 "surface_audit": {
  "totals": {
   "items": 125,
   "documented": 125,
   "safe": 124,
   "exercised": 56,
   "passed": 56,
   "skipped": 1,
   "blocked": 68,
   "not_run": 0,
   "match": 56,
   "drift": 0,
   "broken_doc": 0,
   "docs_complete": 70,
   "docs_partial": 55,
   "docs_missing": 0,
   "errors_clear": 0,
   "errors_vague": 0,
   "errors_silent": 0
  }
 },
 "coverage_core": 100,
 "coverage_own": 100,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 5,
  "model": "anthropic/opus",
  "profile": "full",
  "assisted": false,
  "handoff": false
 },
 "methodology": 42,
 "rules_date": "2026-10-30",
 "engine": {
  "model": "anthropic/opus",
  "driver": 5,
  "signed": true,
  "inbox": null,
  "robots": "skip",
  "version": "2026.10.30",
  "commit": "535319129d4460beaaa18fd1f563d9a24aed68cb",
  "prompts": {
   "version": "2026.10.30",
   "commit": "fc07298dc100d95517331721523f234c322dbe32"
  },
  "rules": {
   "version": "2026.10.28",
   "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
  }
 },
 "same_level_drives": 2,
 "drives": 2,
 "same_stop_drives": 2,
 "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-30"
  },
  "browser": {
   "state": "in",
   "measured": false
  },
  "our_key": "verified",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "llms.txt (www and docs), llms-full.txt, .md pages and Accept: text/markdown, OpenAPI 3.1.1 with 54 operations, open docs MCP server."
  },
  "signup": {
   "status": "n/a",
   "note": "Not needed: a documented route works without an account.",
   "way": "local",
   "no_account": true,
   "note_driver": "The documented local route (embedded OSS library from npm/PyPI) needs no account. The hosted LanceDB Cloud sign-up is disabled: 'Sign ups are currently disabled. If you believe you should have access, please contact support.'",
   "status_driver": "n/a"
  },
  "verify": {
   "status": "n/a",
   "note": "Not needed: a documented route works without an account.",
   "no_account": true,
   "note_driver": "No account on the local route, so no mail to verify.",
   "status_driver": "n/a"
  },
  "credentials": {
   "status": "n/a",
   "note": "Not needed: a documented route works without an account.",
   "via": "",
   "no_account": true,
   "note_driver": "LanceDB OSS needs no key. No documented route lets an agent create, scope or revoke a key; Enterprise keys come from the LanceDB team.",
   "status_driver": "n/a"
  },
  "first_call": {
   "status": "headless",
   "note": "lancedb.connect(<local dir>) and createTable with @lancedb/lancedb 0.41.0.",
   "route": "no_account"
  },
  "first_action": {
   "status": "headless",
   "note": "Inserted rows and read them back (countRows, query by id)."
  },
  "pay": {
   "status": "blocked",
   "grade": "P0",
   "rails": [],
   "rail_ids": [],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "free tier",
   "route": "sales",
   "checkout": {
    "reached": "no",
    "processor": "none",
    "captcha": "none",
    "three_ds": "not_seen",
    "card_form": false,
    "phone_field": "none",
    "wallets": [],
    "rail_offer": "none",
    "price": "",
    "currency": "",
    "period": "",
    "plan": "Enterprise",
    "last_button": ""
   },
   "person": "sales",
   "ours": null,
   "note": "OSS is free; the only paid edition (Enterprise) is sold through sales: /pricing redirects to the Contact Us form. No 402, x402/MPP, Stripe Projects, checkout or trial; we paid nothing (no 402 on the product's own endpoint)."
  },
  "cancel": {
   "status": "n/a",
   "note": "Nothing to cancel: our agent used the free plan.",
   "docs_note": "Nothing to cancel: the drive used only the free OSS library. The docs name no cancel route; Enterprise is a sales contract.",
   "docs_grade": "",
   "nothing": "free_plan"
  },
  "delete": {
   "status": "headless",
   "note": "Nothing was stored with the vendor (no account). All tables were dropped through the SDK and the local data folders removed.",
   "left": "nothing_made",
   "after_hours": null,
   "account": false
  }
 },
 "routes": [
  {
   "route": "keyless",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "partial",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": 1,
   "browser": false
  },
  {
   "route": "local",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": 2,
   "browser": false
  },
  {
   "route": "enterprise",
   "offered": "documented",
   "tried": false,
   "not_tried": "assisted_only",
   "result": null,
   "wall": null,
   "person": "each",
   "brings": "person_grant",
   "fresh": true,
   "minutes": 0,
   "browser": null
  }
 ],
 "checkout": {
  "reached": "no",
  "rail_offer": "none",
  "plan": "Enterprise"
 },
 "docs": {
  "at": "2026-10-30",
  "read": 389,
  "listed": 390,
  "sampled": false,
  "overall": "complete",
  "getting_started": "found",
  "auth": "found",
  "errors": "found",
  "examples": "good",
  "freshness": "fresh",
  "newest": "2026-10-30",
  "core_pages": "9 of 9",
  "capabilities": "covered",
  "label": "No gaps in what we read"
 },
 "claims": {
  "claimed": 9,
  "tried": 0,
  "held": 0,
  "broken": 0,
  "unclear": 0,
  "not_tried": 9,
  "undocumented_works": 2
 },
 "pay_options": {
  "checked": "2026-10-30",
  "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,
  "cli": false,
  "sdk": true,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "urls": {
  "docs": "https://docs.lancedb.com/",
  "llms_txt": "https://www.lancedb.com/llms.txt",
  "mcp": "https://docs.lancedb.com/mcp"
 },
 "surface_notes": {
  "api": "Lance REST Namespace, 54 operations; served by Enterprise deployments only",
  "sdk": "@lancedb/lancedb 0.41.0 (npm), lancedb 0.41.0 (PyPI), Rust crate",
  "mcp": "official docs server, 3 tools, open, 28 Jul 2026"
 },
 "surface_sizes": [
  {
   "kind": "api",
   "listed": 54,
   "tested": 0
  },
  {
   "kind": "mcp",
   "listed": 5,
   "tested": 4
  },
  {
   "kind": "sdk",
   "listed": 63,
   "tested": 52
  }
 ],
 "can_do": [
  "Install LanceDB OSS from npm or PyPI and use it with no account or key",
  "Create, evolve, version, tag, branch, restore and drop tables",
  "Insert, upsert (merge_insert), update and delete rows",
  "Run vector search, BM25 full-text search, hybrid search with RRF reranking and SQL filters",
  "Build IVF_PQ, IVF_RQ (RaBitQ), HNSW-SQ, BTREE, bitmap and FTS indexes and refresh them incrementally",
  "Store blobs, register a custom embedding function, feed a table to a PyTorch DataLoader and query it from DuckDB",
  "Search the docs through an open MCP server"
 ],
 "cannot_do": [
  {
   "what": "Sign up for LanceDB Cloud",
   "why": "The sign-up page says sign-ups are currently disabled"
  },
  {
   "what": "Call the REST API",
   "why": "It is served only by Enterprise deployments, whose endpoint and key come from the LanceDB team"
  },
  {
   "what": "Run Geneva feature-engineering backfills or automatic GPU indexing",
   "why": "Enterprise-only, sold through sales"
  },
  {
   "what": "Buy a plan or get a key on its own",
   "why": "Pricing redirects to a sales contact form; no key-management route"
  }
 ],
 "blockers": [
  "LanceDB Cloud sign-ups are disabled",
  "Enterprise (REST API, Geneva, GPU indexing) only through sales"
 ],
 "tips_for_agents": [
  "Use the embedded library: npm install @lancedb/lancedb (or pip install lancedb) and lancedb.connect(\"./data\"); no account is needed",
  "Do not use the bare relative path \"db\": connect(\"db\") is treated as LanceDB Cloud and asks for an api_key; use ./db",
  "Use mergeInsert(\"id\").whenMatchedUpdateAll.whenNotMatchedInsertAll for safe retries; add duplicates rows",
  "Call table.optimize after writes to fold new rows into vector and FTS indexes; indexStats.numUnindexedRows shows the backlog",
  "Query the open docs MCP at https://docs.lancedb.com/mcp; its filesystem tool holds the OpenAPI at /openapi/api-reference/rest/openapi.yml (output capped near 30,000 characters per call)"
 ],
 "selfhost": null,
 "edge_case": "none",
 "summary": "LanceDB OSS is fully agent-operable with no account: the drive installed the SDK from npm (and PyPI) and ran every OSS core task (tables, upsert, delete, vector, full-text and filtered search, indexes, branches) without a browser, three times each, plus most secondary features. The hosted side is closed to agents: LanceDB Cloud sign-ups are disabled, and the REST API, Geneva and GPU indexing come only with Enterprise through a sales form, with no self-serve purchase or key route.",
 "wall": "LanceDB Cloud sign-ups disabled; Enterprise via sales",
 "plan_scope": "free plan (LanceDB OSS, no account)",
 "robots_stop": null,
 "robots": null,
 "terms": null,
 "terms_read": "2026-10-30",
 "email_gate": null,
 "plain": {
  "summary": "LanceDB is a database for AI search. An agent could install the free open-source version and run all the main database tasks by itself, with no account. The paid hosted side is closed: Cloud sign-up is switched off and Enterprise is only sold through a sales form.",
  "can_do": [
   "Install the free library and start using it with no account or key",
   "Create, change and delete tables and rows",
   "Search by meaning, by keyword, or both together, with filters",
   "Build and refresh search indexes",
   "Branch, version, tag and restore tables",
   "Read the docs through an open docs server"
  ],
  "cannot_do": [
   {
    "what": "Sign up for LanceDB Cloud",
    "why": "The sign-up page says sign-ups are currently disabled"
   },
   {
    "what": "Call the hosted REST API",
    "why": "Only Enterprise deployments serve it, set up by the LanceDB team"
   },
   {
    "what": "Run Geneva feature backfills or GPU indexing",
    "why": "Enterprise-only, sold through sales"
   },
   {
    "what": "Buy a plan or get an API key on its own",
    "why": "Pricing leads to a sales contact form; no key route"
   }
  ]
 },
 "plan_gated": [
  {
   "capability": "Run distributed feature-engineering backfills with Geneva",
   "plan": "LanceDB Enterprise (sales)",
   "evidence": "https://docs.lancedb.com/geneva/index.md: Feature Engineering and the geneva Python package are currently only available as part of LanceDB Enterprise; geneva 0.17.0 wheel is LicenseRef-Proprietary, All rights reserved"
  },
  {
   "capability": "Build a vector index on GPU",
   "plan": "LanceDB Enterprise",
   "evidence": "https://docs.lancedb.com/indexing/gpu-indexing.md: Enterprise-only. Automatic GPU Indexing is currently only available in LanceDB Enterprise"
  },
  {
   "capability": "Scale Enterprise compute and cache capacity",
   "plan": "LanceDB Enterprise",
   "evidence": "https://docs.lancedb.com/enterprise/index.md: reach out to our team to set up a LanceDB Enterprise cluster"
  },
  {
   "capability": "Authenticate to LanceDB Enterprise with an API key or OAuth",
   "plan": "LanceDB Enterprise",
   "evidence": "https://docs.lancedb.com/enterprise/authentication.md: Pass the API key from your Enterprise tenant on connect"
  }
 ],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "capability": "Create a table",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/namespace/{id}/table/{id}/create",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET table description shows the new table id and schema",
   "capability_id": "cap_ec6ajdnd",
   "source": "https://docs.lancedb.com/quickstart.md; https://docs.lancedb.com/api-reference/rest/table/create-a-table-with-the-given-name.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-02",
   "capability": "Insert or upsert records into a table",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/insert and /merge_insert",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "count rows endpoint reflects the added/updated row",
   "capability_id": "cap_m34x9t4v",
   "source": "https://docs.lancedb.com/tables/create.md; https://docs.lancedb.com/api-reference/rest/table/insert-records-into-a-table.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-03",
   "capability": "Delete rows from a table",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/delete",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "row count drops and a query for the deleted key returns nothing",
   "capability_id": "cap_z5zsc472",
   "source": "https://docs.lancedb.com/tables/update.md; https://docs.lancedb.com/api-reference/rest/table/delete-rows-from-a-table.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-04",
   "capability": "Run a vector (ANN) search",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/query",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "query response returns nearest rows ordered by distance score",
   "capability_id": "cap_een15d28",
   "source": "https://docs.lancedb.com/search/vector-search.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-05",
   "capability": "Run a full-text (BM25) search",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/query (fts query type)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "query response returns rows ranked by BM25 score for the keyword",
   "capability_id": "cap_0gwx7zby",
   "source": "https://docs.lancedb.com/search/full-text-search.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-06",
   "capability": "Query records with metadata filters / SQL",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/query (filter/SQL)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "query with a WHERE-style filter returns only matching rows",
   "capability_id": "cap_bsb5z2vr",
   "source": "https://docs.lancedb.com/search/filtering.md; https://docs.lancedb.com/search/sql/index.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-07",
   "capability": "Create a vector, FTS, or scalar index on a table",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/create_index",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "list-indexes endpoint shows the new index with status ready",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/indexing/index.md; https://docs.lancedb.com/api-reference/rest/table/create-an-index-on-a-table.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-08",
   "capability": "Branch a table's history",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": "POST /v1/table/{id}/create_branch",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "list-branches endpoint shows the new branch pointing at the source version",
   "capability_id": "cap_d4dyktb1",
   "source": "https://docs.lancedb.com/tables/branching.md; https://docs.lancedb.com/api-reference/rest/table/create-a-new-branch.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-09",
   "capability": "Run distributed feature-engineering backfills with Geneva",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": "POST /v1/table/{id}/backfill",
    "mcp": null,
    "cli": null,
    "ui": "Geneva Console"
   },
   "check": "job-status endpoint for the backfill job reaches completed and the computed column is populated",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/enterprise/index.md; https://docs.lancedb.com/geneva/jobs/index.md",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-10",
   "capability": "Combine vector and full-text search with reranking (hybrid search)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/query (hybrid)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "hybrid query response includes a reranked, fused result list",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/search/hybrid-search.md; https://docs.lancedb.com/reranking/index.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-11",
   "capability": "Evolve a table's schema (add, alter, drop columns)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/add_columns, alter_columns, drop_columns",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "describe-table shows the updated schema with the new/changed/removed field",
   "capability_id": "cap_47me9ba3",
   "source": "https://docs.lancedb.com/tables/schema.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-12",
   "capability": "List tables and namespaces and read a table's schema",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/namespace/{id}/table/list, GET /v1/table/{id}/describe",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "list endpoint enumerates every created table/namespace",
   "capability_id": "cap_xqrrtrx2",
   "source": "https://docs.lancedb.com/namespaces/index.md; https://docs.lancedb.com/api-reference/rest/table/list-all-tables.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-13",
   "capability": "Restore a table to a previous version or tag",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/restore",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "post-restore row count/content matches the restored version",
   "capability_id": "cap_ykvspbps",
   "source": "https://docs.lancedb.com/tables/versioning.md; https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-14",
   "capability": "Create and manage version tags on a table",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/create_tag, GET list_tags",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "list-tags endpoint shows the tag mapped to the expected version",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/tables/versioning.md; https://docs.lancedb.com/api-reference/rest/table/create-a-new-tag.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-15",
   "capability": "Store multimodal blobs (images, audio, video) as table columns",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/insert (blob column)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "querying the row returns the original binary bytes for the blob column",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/tables/multimodal.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-16",
   "capability": "Create text/image embeddings via the embedding registry",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "table rows gain a populated vector column generated by the configured embedding function",
   "capability_id": "cap_0g9776e9",
   "source": "https://docs.lancedb.com/embedding/index.md; https://docs.lancedb.com/embedding/quickstart.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-17",
   "capability": "Rerank search results with a built-in or custom reranker",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "search result order changes when a reranker (e.g. RRF, cross-encoder) is applied vs. not",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/reranking/index.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-18",
   "capability": "Quantize a vector index (PQ, SQ, RaBitQ)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/create_index (quantization params)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "index stats endpoint reports the chosen quantization type and reduced index size",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/indexing/quantization.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-19",
   "capability": "Build a vector index on GPU",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "index build completes using the configured GPU accelerator and lower build time is logged",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/indexing/gpu-indexing.md",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-20",
   "capability": "Incrementally reindex a table after writes",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/table/{id}/create_index",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "index stats show the index covering the newly written rows without a full rebuild",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/indexing/reindexing.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-21",
   "capability": "Stream training data batches from a table for PyTorch",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "PyTorch DataLoader built on the LanceDB dataset yields shuffled, projected batches",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/training/data-loading.md; https://docs.lancedb.com/training/torch.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-22",
   "capability": "Sync external data sources (Parquet, Lance, IPC, pandas, PyArrow) into a table",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "table row count and schema reflect the ingested source file",
   "capability_id": "cap_yr6whrah",
   "source": "https://docs.lancedb.com/tables/create.md; https://docs.lancedb.com/integrations/data/pandas_and_pyarrow.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-23",
   "capability": "Query a Lance table directly with DuckDB SQL",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "a DuckDB SELECT against the Lance extension returns rows matching the table contents",
   "capability_id": "cap_53z76bgf",
   "source": "https://docs.lancedb.com/integrations/data/duckdb.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-24",
   "capability": "Browse ready-to-use Lance-format public datasets",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "connecting to the published Hugging Face Lance dataset URI returns queryable rows",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://docs.lancedb.com/datasets/index.md",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-25",
   "capability": "Monitor object-store request metrics via OpenTelemetry",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "configured OTel backend receives request-count, byte, latency, and error metrics from LanceDB",
   "capability_id": "cap_njb0a49e",
   "source": "https://docs.lancedb.com/storage/monitoring.md",
   "result": "done",
   "via": "sdk",
   "done_on": [
    "sdk"
   ]
  },
  {
   "id": "cap-26",
   "capability": "Scale Enterprise compute and cache capacity",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "cluster node/cache capacity reflects the requested resize",
   "capability_id": "cap_jajhkrq5",
   "source": "https://docs.lancedb.com/enterprise/index.md; https://docs.lancedb.com/enterprise/architecture.md",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-27",
   "capability": "Authenticate to LanceDB Enterprise with an API key or OAuth",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "a request with a valid API key/OAuth token against the cluster endpoint succeeds and an invalid one is rejected",
   "capability_id": null,
   "unmapped": "access_step",
   "source": "https://docs.lancedb.com/enterprise/authentication.md",
   "result": "plan_gated",
   "via": null,
   "counted": false
  }
 ],
 "stale": false,
 "unreachable_since": null,
 "not_driven_since": null,
 "icon": "/logos/lancedb.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": [
    "first_call",
    "first_action"
   ],
   "stop": "pay",
   "why": "a person has to buy, a sales call",
   "tone": "warn",
   "text": "Without an account (no key needed) it makes its first API call and does all of the core work. Payment: a person has to buy, a sales call."
  }
 },
 "sdk": null,
 "surface_reach": null,
 "connect": {
  "mcp": {
   "url": "https://docs.lancedb.com/mcp",
   "transport": "streamable-http",
   "state": "tested",
   "tools": {
    "count": 3,
    "names": [
     "search_lance_db",
     "query_docs_filesystem_lance_db",
     "submit_feedback"
    ],
    "read_at": "2026-10-31"
   }
  },
  "signup": {
   "url": "https://docs.lancedb.com/quickstart",
   "state": "documented"
  },
  "docs": {
   "url": "https://docs.lancedb.com/",
   "state": "tested"
  }
 },
 "surface_sources": {
  "mcp": "https://docs.lancedb.com/mcp",
  "docs": "https://docs.lancedb.com/",
  "llms_txt": "https://www.lancedb.com/llms.txt",
  "api": "https://docs.lancedb.com/api-reference/rest/index.md",
  "sdk": "https://lancedb.github.io/lancedb/js/"
 },
 "copilot_connector": null,
 "stripe_directory": null,
 "in_stripe_directory": null,
 "stripe_projects": null,
 "pay_rails": [],
 "stop_evidence": {
  "at": "pay",
  "date": "2026-10-30",
  "line": "OSS is free; the only paid edition (Enterprise) is sold through sales: /pricing redirects to the Contact Us form. No 402, x402/MPP, Stripe Projects, checkout or trial; we paid nothing (no 402 on the product's own endpoint)."
 },
 "wall_vendor": null,
 "mcp_sign_in": {
  "sign_in": false,
  "prm": null,
  "registration": null,
  "device": null
 },
 "safety_issues": 2,
 "fix_counts": {
  "small": 3,
  "medium": 3,
  "large": 0,
  "total": 6
 },
 "evidence_sha256": "471a599f5945c8a5c1b1fa28341653d794182464393667b535b8d394db47e19e",
 "first_seen": "2026-10-28",
 "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": 205,
 "detail": {
  "public": false,
  "in": [
   "report",
   "api"
  ],
  "since": "2026-10-17"
 },
 "what_it_does": "LanceDB is a database for AI search.",
 "kind": "product",
 "rules_version": "rules-2026-10-30-42",
 "rules_url": "https://agentdrives.com/method/changelog#rules-2026-10-30-42",
 "category_median": null,
 "peers": {
  "API-03": {
   "basis": "all",
   "n": 88,
   "below": 78,
   "above": 0,
   "percentile": 94
  },
  "API-04": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 0
  },
  "API-07": {
   "basis": "all",
   "n": 98,
   "below": 38,
   "above": 0,
   "percentile": 69
  },
  "DOCS-08": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 1
  },
  "DOCS-10": {
   "basis": "category",
   "n": 6,
   "below": 1,
   "above": 1
  },
  "DOCS-11": {
   "basis": "category",
   "n": 6,
   "below": 2,
   "above": 0
  },
  "ERR-01": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  },
  "ERR-02": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 3
  },
  "ERR-03": {
   "basis": "category",
   "n": 6,
   "below": 1,
   "above": 0
  },
  "ERR-07": {
   "basis": "category",
   "n": 6,
   "below": 2,
   "above": 0
  },
  "FIND-06": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 5
  },
  "IN-03": {
   "basis": "category",
   "n": 6,
   "below": 2,
   "above": 0
  },
  "IN-11": {
   "basis": "category",
   "n": 6,
   "below": 3,
   "above": 2
  },
  "IN-12": {
   "basis": "category",
   "n": 6,
   "below": 4,
   "above": 0
  },
  "LEAVE-03": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 4
  },
  "MCP-03": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 0
  },
  "MCP-04": {
   "basis": "category",
   "n": 5,
   "below": 2,
   "above": 0
  },
  "MCP-05": {
   "basis": "category",
   "n": 5,
   "below": 2,
   "above": 0
  },
  "MCP-06": {
   "basis": "category",
   "n": 5,
   "below": 3,
   "above": 0
  },
  "MCP-07": {
   "basis": "category",
   "n": 5,
   "below": 2,
   "above": 0
  },
  "MCP-08": {
   "basis": "all",
   "n": 37,
   "below": 0,
   "above": 22,
   "percentile": 20
  },
  "MCP-09": {
   "basis": "all",
   "n": 32,
   "below": 4,
   "above": 16,
   "percentile": 31
  },
  "MCP-11": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 0
  },
  "PAY-05": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  },
  "PROTO-02": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  }
 },
 "probe": {
  "checked": "2026-11-01",
  "status": "ok",
  "sign_up_page": "page",
  "wall": "none",
  "llms_txt": true,
  "mcp": "ok",
  "openapi": false,
  "payment_402": null,
  "payment_rails": [],
  "files": {
   "openapi": {
    "url": null,
    "found": false
   },
   "llms_txt": {
    "url": "https://www.lancedb.com/llms.txt",
    "found": true
   },
   "llms_full": {
    "url": null,
    "found": false
   }
  }
 },
 "probe_history": [
  {
   "checked": "2026-11-01",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "ok",
   "openapi": false,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-31",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "ok",
   "openapi": false,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-30",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "ok",
   "openapi": false,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-29",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "ok",
   "openapi": false,
   "payment_402": null,
   "payment_rails": []
  }
 ],
 "surface_changes": [],
 "agent_reports": null,
 "verdict": "L4 · Runs on its own: our agent used LanceDB OSS without an account, so sign-up, verification and a key were not needed. It stopped first at pay: the paid edition, Enterprise, is sold through a Contact Us form, with no checkout, trial or 402. Through the npm SDK, our agent connected to a local directory, created tables, inserted rows, read them back, and ran upsert, delete, vector, full-text and filtered search, indexes and branches. LanceDB Cloud sign-ups were disabled. Our agent dropped its tables and removed the local data folders; nothing was stored with the vendor.",
 "changes": {
  "source": "store",
  "drives": [
   {
    "run": "20261028T092146Z",
    "date": "2026-10-28",
    "level": 4,
    "stop": "pay",
    "entry": "self-start",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   },
   {
    "run": "20261030T231051Z",
    "date": "2026-10-30",
    "level": 4,
    "stop": "pay",
    "entry": "self-start",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   }
  ],
  "events": [],
  "feed": "https://agentdrives.com/api/tools/lancedb/changes.json"
 },
 "agreement": {
  "drives": 2,
  "agree": 2
 },
 "method_release": "2026-Q4.27",
 "found": {
  "agent_blockers": 2,
  "surface_issues": 0
 },
 "agent_surfaces": {
  "api": {
   "state": "documented",
   "reachable": null,
   "documented": 54,
   "tested": 0,
   "source": "https://docs.lancedb.com/api-reference/rest/index.md"
  },
  "mcp": {
   "state": "tested",
   "reachable": true,
   "documented": 5,
   "tested": 4,
   "source": "https://docs.lancedb.com/mcp"
  },
  "cli": {
   "state": "none_found",
   "reachable": null,
   "documented": null,
   "tested": null,
   "source": null
  },
  "sdk": {
   "state": "tested",
   "documented": 63,
   "tested": 52,
   "source": "https://lancedb.github.io/lancedb/js/"
  },
  "docs": {
   "state": "tested",
   "documented": 390,
   "tested": 389,
   "source": "https://docs.lancedb.com/"
  },
  "payment": {
   "state": "none_found",
   "documented": null,
   "tested": null,
   "source": null
  }
 },
 "issues_found": 2,
 "rank": 1,
 "rank_of": 3,
 "rank_change": null,
 "rank_since": "2026-10-28",
 "links": {
  "category": [
   {
    "label": "Data and storage",
    "href": "https://agentdrives.com/categories/data"
   },
   {
    "label": "Vector databases",
    "href": "https://agentdrives.com/categories/vector-databases"
   }
  ],
  "tasks": [
   {
    "label": "Create or update a record",
    "href": "https://agentdrives.com/tasks/create-or-update-a-record"
   },
   {
    "label": "Query records with filters",
    "href": "https://agentdrives.com/tasks/query-records-with-filters"
   },
   {
    "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"
   },
   {
    "label": "Query a database over a REST or GraphQL API",
    "href": "https://agentdrives.com/tasks/query-a-database-over-a-rest-or-graphql-api"
   },
   {
    "label": "Run a vector search",
    "href": "https://agentdrives.com/tasks/run-a-vector-search"
   }
  ],
  "walls": [
   {
    "label": "Let AI agents sign up and get an API key",
    "href": "https://agentdrives.com/guides/let-agents-sign-up-and-get-a-key",
    "note": "fix guide"
   }
  ],
  "vendors": [],
  "standards": [
   {
    "label": "MCP",
    "href": "https://agentdrives.com/standards/mcp",
    "note": "tools an agent can call"
   },
   {
    "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",
    "note": "stopped here"
   },
   {
    "label": "Leave",
    "href": "https://agentdrives.com/access/leave"
   }
  ],
  "rivals": [
   {
    "label": "Weaviate",
    "href": "https://agentdrives.com/tools/weaviate",
    "slug": "weaviate",
    "level": 4
   },
   {
    "label": "Zilliz",
    "href": "https://agentdrives.com/tools/zilliz",
    "slug": "zilliz",
    "level": 4
   },
   {
    "label": "Chroma",
    "href": "https://agentdrives.com/tools/trychroma",
    "slug": "trychroma",
    "level": 1
   }
  ],
  "compare": [],
  "rail": [
   {
    "label": "Watch this product",
    "href": "https://agentdrives.com/watch"
   },
   {
    "label": "Get the data",
    "href": "https://agentdrives.com/data#plans"
   }
  ]
 },
 "capability_matrix": [
  {
   "id": "cap-01",
   "name": "Create a table",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-02",
   "name": "Insert or upsert records into a table",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-03",
   "name": "Delete rows from a table",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-04",
   "name": "Run a vector (ANN) search",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-05",
   "name": "Run a full-text (BM25) search",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-06",
   "name": "Query records with metadata filters / SQL",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-07",
   "name": "Create a vector, FTS, or scalar index on a table",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-08",
   "name": "Branch a table's history",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-09",
   "name": "Run distributed feature-engineering backfills with Geneva",
   "core": true,
   "result": "plan",
   "surfaces": {
    "api": "untried",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-10",
   "name": "Combine vector and full-text search with reranking (hybrid search)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-11",
   "name": "Evolve a table's schema (add, alter, drop columns)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-12",
   "name": "List tables and namespaces and read a table's schema",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-13",
   "name": "Restore a table to a previous version or tag",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-14",
   "name": "Create and manage version tags on a table",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-15",
   "name": "Store multimodal blobs (images, audio, video) as table columns",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-16",
   "name": "Create text/image embeddings via the embedding registry",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-17",
   "name": "Rerank search results with a built-in or custom reranker",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-18",
   "name": "Quantize a vector index (PQ, SQ, RaBitQ)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-19",
   "name": "Build a vector index on GPU",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-20",
   "name": "Incrementally reindex a table after writes",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-21",
   "name": "Stream training data batches from a table for PyTorch",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-22",
   "name": "Sync external data sources (Parquet, Lance, IPC, pandas, PyArrow) into a table",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-23",
   "name": "Query a Lance table directly with DuckDB SQL",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-24",
   "name": "Browse ready-to-use Lance-format public datasets",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-25",
   "name": "Monitor object-store request metrics via OpenTelemetry",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-26",
   "name": "Scale Enterprise compute and cache capacity",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-27",
   "name": "Authenticate to LanceDB Enterprise with an API key or OAuth",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  }
 ],
 "category_place": {
  "category": "vector-databases",
  "products": 6,
  "higher": 0,
  "same_level": 2,
  "as_of": "2026-10-31",
  "stop": "pay",
  "rivals_by": "stop",
  "rivals": []
 },
 "page": "https://agentdrives.com/tools/lancedb?via=api"
}