{
 "$schema": "https://agentdrives.com/schemas/tool.schema.json",
 "id": "prd_01m60xk8tam9dt4jvxyn332m8f",
 "ids": {
  "org": "org_01m60xk8ta5q01hgdx4g203rw1",
  "surfaces": {
   "web": "srf_01m60xk8takyykzhsazx07fvfd",
   "api": "srf_01m60xk8tabkmzm4f6gqf7xysq",
   "mcp": "srf_01m60xk8taha48djdzxbapabcn",
   "sdk": "srf_01m60xk8tazn2jy6er9ccqvyy5"
  },
  "slugs": [
   "weaviate"
  ],
  "domain": "weaviate.io"
 },
 "slug": "weaviate",
 "name": "Weaviate",
 "url": "https://weaviate.io",
 "domain": "weaviate.io",
 "category": "vector-databases",
 "category_name": "Vector databases",
 "tested_at": "2026-10-28",
 "run": "20261028T074125Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261028T074125Z",
   "date": "2026-10-28",
   "level": 4,
   "engine": {
    "model": "claude-opus-5-5",
    "driver": 5,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": "2026.10.28",
    "commit": "ab59cb770c1f8519722678e70987dd1db804c14c",
    "prompts": {
     "version": "2026.10.28",
     "commit": "f3a993449822f9f55b1a57fc1810bbe6f82cce0a"
    },
    "rules": {
     "version": "2026.10.28",
     "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
    }
   },
   "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: runs locally, sign-up in a browser",
   "way": "email_code"
  },
  {
   "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 $45 a month charge",
   "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: runs locally, sign-up in a browser",
   "way": "email_code",
   "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 $45 a month charge",
   "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": "local",
   "label": "Runs locally",
   "routes": [
    "local"
   ],
   "minutes": 3,
   "core": "6/10"
  },
  {
   "key": "browser_signup",
   "label": "Sign-up in a browser",
   "routes": [
    "email_code"
   ],
   "minutes": 8,
   "core": "10/10"
  }
 ],
 "minutes": 3,
 "next": {
  "to": 5,
  "text": "Next: pay without a person"
 },
 "stop": null,
 "core": "10/10",
 "scores": {
  "coverage": 92,
  "reliability": 85,
  "resilience": 76,
  "setup": 100,
  "surface_coverage": 73,
  "docs_accuracy": 84,
  "docs_completeness": 96
 },
 "parts": {
  "holds_up": 80,
  "docs_match": 88,
  "setup": 100,
  "security": "private",
  "standards": [
   {
    "standard": "MCP discovery",
    "state": "current",
    "behind": null,
    "value": "ok"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 3,
    "value": "2.0"
   }
  ]
 },
 "reliability_method": "pass^k",
 "resilience": {
  "parts": {
   "error_legibility": 95,
   "recovery": 94,
   "idempotency": 67,
   "rate_limits": 50
  },
  "summary": {
   "error_legibility": "clear",
   "recovery": "good",
   "idempotency": "safe",
   "rate_limits": "none-seen",
   "notes": "Errors name the field and the fix (types, enums, missing tenant, unknown filter property); a create with an existing id is refused with 422, without an id it duplicates. No 429 in short bursts; the plan's collection limit answers 429."
  }
 },
 "stress": [
  {
   "capability": "Insert or upsert an object into a collection",
   "probe": "wrong type for an int property",
   "outcome": "422 {'error': [{'message': \"invalid object: invalid integer property 'rating' on class 'AgentDrivesNote': requires an integer, the given value is 'five'\"}]}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert an object into a collection",
   "probe": "well-formed id that does not exist",
   "outcome": "404 ",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Run a vector (near_text/near_vector) search",
   "probe": "near-text query as a string instead of an array",
   "outcome": "400 {'error': [{'message': 'invalid request body: field \"query\" must be []string, got string'}]}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Query records with filters and sorting",
   "probe": "filter on a property that does not exist",
   "outcome": "400 {'error': [{'message': \"invalid 'where' filter: no such prop with name 'nosuchprop' found in class 'AgentDrivesNote' in the schema. Check your schema files for which properties in this class are a",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert an object into a collection",
   "probe": "repeat a create with the same id",
   "outcome": "first 200; second 422 {'error': [{'message': \"id '4a4c499f-3e39-4a78-904d-e2d0a80a7789' already exists\"}]}",
   "grade": "clear",
   "idempotent": "yes",
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert an object into a collection",
   "probe": "repeat a create without an id",
   "outcome": "200 id eee63c81-f74d-4181-81f4-54f09a55e212; 200 id 4a61e3fb-0f5e-494b-b871-31fed6d1a298",
   "grade": "silent",
   "idempotent": "no",
   "rate_limit": null
  },
  {
   "capability": "Create a collection (schema)",
   "probe": "burst of 15 GET /v1/schema/{class}",
   "outcome": "statuses ['200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200', '200']; rate headers []",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "none-seen"
  },
  {
   "capability": "Create a collection (schema)",
   "probe": "wrong API key",
   "outcome": "401 {'code': 401, 'message': 'unauthorized: invalid api key'}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Insert or upsert an object into a collection",
   "probe": "batch with one bad object (partial failure)",
   "outcome": "200; per-object [('good batch item', None), ('bad batch item', {'error': [{'message': \"invalid integer property 'rating' on class 'AgentDrivesNote': requires an integer, the given value is 'x'\"}]})]; ",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Create a collection (schema)",
   "probe": "create a second collection on the free cluster",
   "outcome": "429 {'errorCode': 'USAGE_LIMIT_EXCEEDED', 'limit': 'collections', 'message': 'collections count limit of 1 reached for this instance.', 'value': 1}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "unclear"
  },
  {
   "capability": "Store a memory for an AI agent (text, conversation, or pre-extracted facts)",
   "probe": "Engram store with content as a string, not an array",
   "outcome": "422 {'$schema': 'https://api.engram.weaviate.io/schemas/ErrorModel.json', 'title': 'Unprocessable Entity', 'status': 422, 'detail': 'validation failed', 'errors': [{'message': 'expected array', 'locat",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Store a memory for an AI agent (text, conversation, or pre-extracted facts)",
   "probe": "Engram store without the required user_id",
   "outcome": "400 {'$schema': 'https://api.engram.weaviate.io/schemas/ErrorModel.json', 'title': 'Bad Request', 'status': 400, 'detail': \"group 'default': insufficient scope: missing required user_id to write memor",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Search stored agent memories (vector/BM25/hybrid/fetch)",
   "probe": "Engram call with a wrong key",
   "outcome": "401 {'$schema': 'https://api.engram.weaviate.io/schemas/ErrorModel.json', 'title': 'Unauthorized', 'status': 401, 'detail': 'invalid API key'}",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": null
  },
  {
   "capability": "Check an Engram pipeline run's status",
   "probe": "burst of 12 GET /v1/runs/{id}",
   "outcome": "statuses [200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200]",
   "grade": "clear",
   "idempotent": null,
   "rate_limit": "none-seen"
  }
 ],
 "surface_audit": {
  "totals": {
   "items": 171,
   "documented": 169,
   "safe": 158,
   "exercised": 141,
   "passed": 116,
   "skipped": 12,
   "blocked": 17,
   "not_run": 0,
   "match": 119,
   "drift": 22,
   "broken_doc": 0,
   "docs_complete": 156,
   "docs_partial": 13,
   "docs_missing": 0,
   "errors_clear": 36,
   "errors_vague": 9,
   "errors_silent": 0
  }
 },
 "coverage_core": 100,
 "coverage_own": 100,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 5,
  "model": "claude-opus-5-5",
  "profile": "full",
  "assisted": false,
  "handoff": false
 },
 "methodology": 42,
 "rules_date": "2026-10-30",
 "engine": {
  "model": "claude-opus-5-5",
  "driver": 5,
  "signed": true,
  "inbox": [
   "agentdrives.com"
  ],
  "robots": "skip",
  "version": "2026.10.28",
  "commit": "ab59cb770c1f8519722678e70987dd1db804c14c",
  "prompts": {
   "version": "2026.10.28",
   "commit": "f3a993449822f9f55b1a57fc1810bbe6f82cce0a"
  },
  "rules": {
   "version": "2026.10.28",
   "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
  }
 },
 "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": "home",
   "at": "2026-10-28"
  },
  "browser": {
   "state": "in",
   "measured": false
  },
  "our_key": "verified",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "llms.txt, auth.md, agents.md, AI Catalog, OpenAPI (Swagger 2.0, 125 operations); docs pass complete."
  },
  "signup": {
   "status": "browser",
   "note": "console.weaviate.cloud: email, 6-digit code, password. A first address hit the product's limit \"Too many sign-in emails have been sent to this address\" after our agent's browser tool reopened the page and requested codes repeatedly; a second address went through in one session. No bot check, phone or card.",
   "way": "email_code"
  },
  "verify": {
   "status": "browser",
   "note": "6-digit code mailed in under a minute, typed in the sign-in page."
  },
  "credentials": {
   "status": "browser",
   "note": "Free cluster and admin API key made in the console; further scoped keys made without a browser with POST /v1/users/db/{id}.",
   "via": ""
  },
  "first_call": {
   "status": "headless",
   "note": "GET /v1/meta with the key: 200, version 1.40.2.",
   "route": "account"
  },
  "first_action": {
   "status": "headless",
   "note": "POST /v1/schema created a collection (first try 422 CONFIG_NOT_ALLOWED: free clusters allow only hfresh)."
  },
  "pay": {
   "status": "browser",
   "grade": "P2",
   "rails": [
    "Stripe customer portal card form"
   ],
   "rail_ids": [
    "stripe-elements"
   ],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "free tier",
   "route": "portal",
   "checkout": {
    "reached": "card_form",
    "processor": "stripe_elements",
    "captcha": "invisible",
    "three_ds": "not_seen",
    "card_form": true,
    "phone_field": "none",
    "wallets": [
     "google_pay",
     "other"
    ],
    "rail_offer": "none",
    "price": "45.00",
    "currency": "USD",
    "period": "month",
    "plan": "Shared",
    "last_button": "Upgrade"
   },
   "person": "none",
   "ours": "no_card",
   "note": "No 402, x402 or MPP anywhere (nothing was paid). Billing information form filled with our test details; Add payment method opens a Stripe customer portal (billing.stripe.com) card form with invisible hCaptcha; the console's Upgrade button follows. Stopped at the card form: no card. No billing API."
  },
  "cancel": {
   "status": "n/a",
   "note": "Nothing to cancel: our agent used the free plan.",
   "docs_note": "Nothing recurring started (free cluster, free Engram plan). Paid clusters are managed in the console; account deletion \"cancels active subscriptions\" (docs).",
   "docs_grade": "",
   "nothing": "free_plan"
  },
  "delete": {
   "status": "browser",
   "note": "Account page > Delete Account (reason required) signs out; \"Your Weaviate account was deleted\" mail in 4 minutes; password sign-in gone; Engram key 401 after about 6 minutes; cluster no longer served after about 14 minutes. Browser only, no API.",
   "left": "deleted",
   "after_hours": null,
   "account": true
  }
 },
 "routes": [
  {
   "route": "local",
   "offered": "documented",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "nothing",
   "fresh": true,
   "minutes": 3,
   "browser": false
  },
  {
   "route": "email_code",
   "offered": "seen",
   "tried": true,
   "not_tried": null,
   "result": "in",
   "wall": null,
   "person": "none",
   "brings": "inbox",
   "fresh": true,
   "minutes": 8,
   "browser": true
  },
  {
   "route": "sso_github",
   "offered": "seen",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "once",
   "brings": "github_account",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "sso_google",
   "offered": "seen",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "once",
   "brings": "google_account",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "enterprise",
   "offered": "seen",
   "tried": false,
   "not_tried": "policy",
   "result": null,
   "wall": null,
   "person": "each",
   "brings": "person_grant",
   "fresh": true,
   "minutes": null,
   "browser": null
  },
  {
   "route": "person_key",
   "offered": "documented",
   "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",
   "other"
  ],
  "rail_offer": "none",
  "period": "month",
  "card_form": true,
  "price": "45.00",
  "currency": "USD",
  "plan": "Shared",
  "last_button": "Upgrade"
 },
 "docs": {
  "at": "2026-10-28",
  "read": 485,
  "listed": 487,
  "sampled": false,
  "overall": "complete",
  "getting_started": "found",
  "auth": "found",
  "errors": "found",
  "examples": "good",
  "freshness": "fresh",
  "newest": "2026-10-27",
  "core_pages": "10 of 10",
  "capabilities": "covered",
  "label": "No gaps in what we read"
 },
 "claims": {
  "claimed": 13,
  "tried": 13,
  "held": 9,
  "broken": 4,
  "unclear": 0,
  "not_tried": 0,
  "undocumented_works": 0
 },
 "pay_options": {
  "checked": "2026-10-28",
  "source": "probe",
  "options": [],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": true,
   "card_required": null,
   "free_plan": true
  },
  "owner_fixes": [
   {
    "title": "Accept x402 or MPP on your API",
    "how": "Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card."
   },
   {
    "title": "List your plans on Stripe Projects",
    "how": "Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev)."
   }
  ]
 },
 "surfaces": {
  "api": true,
  "openapi": true,
  "cli": false,
  "sdk": true,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "urls": {
  "docs": "https://docs.weaviate.io/weaviate",
  "llms_txt": "https://weaviate.io/llms.txt",
  "mcp": null
 },
 "surface_notes": {
  "api": "REST, 125 operations, plus gRPC; Engram REST 6 operations",
  "openapi": "Swagger 2.0, info.version 1.40.1",
  "mcp": "official: cluster MCP 4 tools; Query Agent MCP 2 tools",
  "sdk": "weaviate-client 3.15.1 (npm), weaviate-agents 1.6.0; Python, Go, Java, C# clients",
  "llms_txt": "llms.txt plus auth.md and agents.md"
 },
 "surface_sizes": [
  {
   "kind": "api",
   "listed": 131,
   "tested": 110
  },
  {
   "kind": "mcp",
   "listed": 6,
   "tested": 6
  },
  {
   "kind": "sdk",
   "listed": 28,
   "tested": 22
  }
 ],
 "can_do": [
  "Create, update and delete collections and objects over REST, gRPC or MCP",
  "Run vector, keyword, hybrid and filtered searches with server-side embeddings",
  "Ask questions over its data and get answers with sources (Query Agent, SDK or MCP)",
  "Store, search and delete agent memories with Engram",
  "Create roles and database users with their own scoped API keys",
  "Run tenants per customer in one collection",
  "Run the self-hosted edition and back it up and restore it"
 ],
 "cannot_do": [
  {
   "what": "Sign up, create the first cluster and the first API key",
   "why": "Console only: email code and password in a browser"
  },
  {
   "what": "Generate text with a generative model (RAG)",
   "why": "Needs a third-party model provider key"
  },
  {
   "what": "Back up a cloud cluster",
   "why": "The free cluster's admin key is refused create_backups"
  },
  {
   "what": "Buy a paid plan",
   "why": "Only through a card form in a Stripe portal; no agent payment rail or billing API"
  },
  {
   "what": "Use GraphQL on a new free cluster",
   "why": "Answers 410: deprecated and switched off"
  }
 ],
 "blockers": [
  "Sign-up and the first API key need the web console",
  "Paid plans only through a card form"
 ],
 "tips_for_agents": [
  "After the first console key, create scoped keys with POST /v1/users/db/{id} and assign roles with POST /v1/authz/users/{id}/assign.",
  "Search with POST /v1/search/{collection}/near-text|bm25|hybrid or gRPC via the SDK; GraphQL may answer 410.",
  "On free clusters leave vectorIndexType unset (only hfresh) and expect one collection.",
  "REST hybrid fusionType takes ranked or relativeScore.",
  "Send X-Weaviate-Cluster-Url with Weaviate Embeddings collections.",
  "Query Agent MCP: https://api.agents.weaviate.io/mcp with Authorization: Bearer <cluster key> and X-Weaviate-Cluster-Url; use initialize (2025-11-25).",
  "Engram: use https://api.engram.weaviate.io/v1/...; poll GET /v1/runs/{run_id}; send user_id for user-scoped topics."
 ],
 "selfhost": {
  "install": {
   "status": "headless",
   "minutes": 3,
   "note": "env from the docs compose (API keys, RBAC) plus CLUSTER_ADVERTISE_ADDR=127.0.0.1 for a loopback-only network; MCP_SERVER_ENABLED=true; ENABLE_MODULES=backup-filesystem for backups. Stopped and removed."
  },
  "ladder": {
   "signup": {
    "status": "n/a",
    "note": "no account"
   },
   "credentials": {
    "status": "headless",
    "note": "root API key set in env; DB users via REST"
   },
   "first_call": {
    "status": "headless",
    "note": "GET /v1/meta 1.40.2"
   },
   "first_action": {
    "status": "headless",
    "note": "POST /v1/schema"
   },
   "pay": {
    "status": "n/a",
    "note": "Self-hosted: nothing to pay or cancel."
   },
   "cancel": {
    "status": "n/a",
    "note": "Self-hosted: nothing to pay or cancel."
   }
  },
  "coverage_core": 60,
  "coverage_source": "computed"
 },
 "edge_case": "none",
 "summary": "An agent signs up for Weaviate Cloud in a browser (email code and password), makes a free cluster and an API key in the console, and then does all 10 core tasks without a browser: collections, objects, vector, keyword, hybrid and filtered search, Query Agent answers and Engram memories, over REST, SDK and MCP. Paying is a Stripe card form and deleting the account is browser-only. New free clusters refuse the deprecated GraphQL API that many docs still show.",
 "wall": "",
 "plan_scope": "free plan",
 "robots_stop": null,
 "robots": null,
 "terms": null,
 "terms_read": null,
 "email_gate": null,
 "plain": {
  "summary": "Weaviate is a vector database for searching and storing data by meaning. An agent signed up in a browser with an email code and password, made a free cluster and key in the console, then did all ten core tasks on its own through its API, SDK and MCP. It stopped at buying a paid plan, which needs a card form.",
  "can_do": [
   "Create collections and store objects, with the server making the embeddings",
   "Search by meaning, by keyword, by both, and with filters",
   "Ask questions over stored data and get answers with sources",
   "Store and search agent memories",
   "Create roles and database users with their own keys",
   "Run the self-hosted edition and back it up"
  ],
  "cannot_do": [
   {
    "what": "Sign up and get the first key without a browser",
    "why": "Sign-up and the first key are made in the web console"
   },
   {
    "what": "Use GraphQL on a new free cluster",
    "why": "The cluster answers that it is switched off"
   },
   {
    "what": "Generate text with a model",
    "why": "Needs a model provider key we did not have"
   },
   {
    "what": "Back up a cloud cluster",
    "why": "The free cluster's admin key is refused"
   },
   {
    "what": "Buy a paid plan",
    "why": "Only through a card form; no billing API or agent payment"
   }
  ]
 },
 "plan_gated": [
  {
   "capability": "Back up and restore",
   "plan": "paid cluster",
   "evidence": "POST /v1/backups/s3 -> 403 insufficient permissions to create_backups for the free cluster's admin key"
  },
  {
   "capability": "Prometheus metrics",
   "plan": "paid / self-hosted",
   "evidence": "GET /metrics on the cloud cluster -> 404"
  }
 ],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "capability": "Create a collection (schema)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/schema",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console: Collections"
   },
   "check": "GET /v1/schema/{className} returns the new collection definition",
   "capability_id": "cap_9a3jhdb4",
   "unmapped": null,
   "source": "https://weaviate.io/llms.txt; https://docs.weaviate.io/weaviate/configuration/mcp-server",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-02",
   "capability": "Insert or upsert an object into a collection",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/objects or POST /v1/batch/objects",
    "mcp": "weaviate-objects-upsert",
    "cli": null,
    "ui": null
   },
   "check": "GET /v1/objects/{id} returns the stored object with its properties",
   "capability_id": "cap_m34x9t4v",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server; https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "mcp"
   ]
  },
  {
   "id": "cap-03",
   "capability": "Run a vector (near_text/near_vector) search",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/graphql (nearText/nearVector) or gRPC Search",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console query editor"
   },
   "check": "Response returns ranked objects ordered by vector distance",
   "capability_id": "cap_een15d28",
   "unmapped": null,
   "source": "https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "sdk"
   ]
  },
  {
   "id": "cap-04",
   "capability": "Run a BM25 keyword search",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/graphql (bm25) or gRPC Search",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console query editor"
   },
   "check": "Response returns ranked objects with a BM25 score metadata field",
   "capability_id": "cap_0gwx7zby",
   "unmapped": null,
   "source": "https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "sdk"
   ]
  },
  {
   "id": "cap-05",
   "capability": "Run a hybrid search combining vector and keyword",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/graphql (hybrid) or gRPC Search",
    "mcp": "weaviate-query-hybrid",
    "cli": null,
    "ui": "Weaviate Cloud console query editor"
   },
   "check": "Response returns ranked objects combining BM25 and vector scores via relative score fusion",
   "capability_id": "cap_0gwx7zby",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server; https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "mcp",
    "sdk"
   ]
  },
  {
   "id": "cap-06",
   "capability": "Query records with filters and sorting",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/graphql (where filter) or gRPC Search",
    "mcp": "weaviate-query-hybrid (filters argument)",
    "cli": null,
    "ui": null
   },
   "check": "Response objects all satisfy the supplied where-filter condition",
   "capability_id": "cap_bsb5z2vr",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server; https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "mcp",
    "sdk"
   ]
  },
  {
   "id": "cap-07",
   "capability": "Ask a natural-language question answered from stored data (Query Agent Ask mode)",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": "Query Agent SDK (weaviate-agents)",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "Response includes a final_answer synthesized with source citations",
   "capability_id": "cap_q8vdr4af",
   "unmapped": null,
   "source": "https://weaviate.io/product/query-agent",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "sdk",
    "api"
   ]
  },
  {
   "id": "cap-08",
   "capability": "Run retrieval-focused search across collections with routing (Query Agent Search mode)",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": "Query Agent SDK (weaviate-agents)",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "Response returns ranked hits routed across the configured collections",
   "capability_id": "cap_een15d28",
   "unmapped": null,
   "source": "https://weaviate.io/product/query-agent",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "sdk",
    "api"
   ]
  },
  {
   "id": "cap-09",
   "capability": "Store a memory for an AI agent (text, conversation, or pre-extracted facts)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /memories",
    "mcp": null,
    "cli": null,
    "ui": "Engram Web Console"
   },
   "check": "Check run status for the returned run_id shows completed with memories created",
   "capability_id": "cap_aqsqrrme",
   "unmapped": null,
   "source": "https://weaviate.io/product/engram; https://docs.weaviate.io/engram/api/rest",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-10",
   "capability": "Search stored agent memories (vector/BM25/hybrid/fetch)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /memories/search",
    "mcp": null,
    "cli": null,
    "ui": "Engram Web Console"
   },
   "check": "Response returns relevant memories matching the query and scope filters",
   "capability_id": "cap_een15d28",
   "unmapped": null,
   "source": "https://weaviate.io/product/engram",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-11",
   "capability": "Generate text grounded in retrieved objects (RAG)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/graphql (generate)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response includes a generated text field alongside the retrieved objects",
   "capability_id": "cap_h49mj67p",
   "unmapped": null,
   "source": "https://weaviate.io/llms.txt",
   "result": "blocked",
   "via": "sdk"
  },
  {
   "id": "cap-12",
   "capability": "Create text or multimodal embeddings with a hosted model",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "configured via vectorizer text2vec-weaviate on object insert",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Inserted object's vector is populated without a client-supplied embedding",
   "capability_id": "cap_0g9776e9",
   "unmapped": null,
   "source": "https://weaviate.io/product/embeddings",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-13",
   "capability": "Isolate data per tenant (multi-tenancy)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/schema/{className}/tenants",
    "mcp": "weaviate-tenants-list (read)",
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "GET /v1/schema/{className}/tenants lists the created tenant with its activity status",
   "capability_id": "cap_49bc6r5r",
   "unmapped": "own_feature",
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server; https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api",
    "mcp"
   ]
  },
  {
   "id": "cap-14",
   "capability": "Back up and restore a collection or instance",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /v1/backups/{backend}",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "GET /v1/backups/{backend}/{id} reports status SUCCESS, and a restore recreates the collection's objects",
   "capability_id": "cap_drp5sav8",
   "unmapped": null,
   "source": "https://docs.weaviate.io/deploy/configuration/backups",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ],
   "counted": false
  },
  {
   "id": "cap-15",
   "capability": "Create a role and assign fine-grained RBAC permissions",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /v1/authz/roles",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "GET /v1/authz/roles/{name} returns the role with the configured permissions",
   "capability_id": "cap_bs3hvrpm",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/rbac",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-16",
   "capability": "Create and manage database users",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /v1/users/db/{userId}",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "GET /v1/users/db/{userId} returns the created user",
   "capability_id": "cap_z3zzc2bd",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/rbac",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-17",
   "capability": "Delete an object",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "DELETE /v1/objects/{id}",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET /v1/objects/{id} subsequently returns 404",
   "capability_id": "cap_z5zsc472",
   "unmapped": null,
   "source": "https://weaviate.io/llms.txt",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-18",
   "capability": "Add or update a collection's schema fields",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "PUT /v1/schema/{className}/properties",
    "mcp": "weaviate-collections-get-config (read)",
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "GET /v1/schema/{className} shows the new property definition",
   "capability_id": "cap_47me9ba3",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-19",
   "capability": "List collections and read their schema",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/schema",
    "mcp": "weaviate-collections-get-config",
    "cli": null,
    "ui": "Weaviate Cloud console"
   },
   "check": "Response enumerates every collection with its properties and vectorizer settings",
   "capability_id": "cap_xqrrtrx2",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server",
   "result": "done",
   "via": "mcp",
   "done_on": [
    "mcp",
    "api"
   ]
  },
  {
   "id": "cap-20",
   "capability": "Delete the signed-in agent's memory by ID",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "DELETE /memories/{id}",
    "mcp": null,
    "cli": null,
    "ui": "Engram Web Console"
   },
   "check": "A subsequent search no longer returns the deleted memory",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://weaviate.io/product/engram",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-21",
   "capability": "Check an Engram pipeline run's status",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /runs/{run_id}",
    "mcp": null,
    "cli": null,
    "ui": "Engram Web Console"
   },
   "check": "Response status transitions from running to completed with the memories it created",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://weaviate.io/product/engram",
   "result": "done",
   "via": "api",
   "done_on": [
    "api"
   ]
  },
  {
   "id": "cap-22",
   "capability": "Deploy Weaviate self-hosted via Docker/Kubernetes",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": "docker compose up",
    "ui": null
   },
   "check": "A local instance responds on :8080/v1/.well-known/ready",
   "capability_id": null,
   "unmapped": "access_step",
   "source": "https://weaviate.io/llms.txt",
   "result": "not_tried",
   "via": null
  },
  {
   "id": "cap-23",
   "capability": "Choose a deployment type (Shared Cloud, Dedicated Cloud, self-hosted)",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console cluster creation"
   },
   "check": "Created cluster's dashboard shows the selected deployment type",
   "capability_id": null,
   "unmapped": "not_a_job",
   "source": "https://weaviate.io/deployment",
   "result": "done",
   "via": "browser",
   "done_on": [
    "browser"
   ]
  },
  {
   "id": "cap-24",
   "capability": "Monitor the instance via Prometheus metrics",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": "GET /metrics",
    "mcp": null,
    "cli": null,
    "ui": "Weaviate Cloud console metrics"
   },
   "check": "The /metrics endpoint returns weaviate_* series including weaviate_mcp_* counters",
   "capability_id": "cap_njb0a49e",
   "unmapped": null,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server",
   "result": "plan_gated",
   "via": "api",
   "counted": false
  }
 ],
 "stale": false,
 "unreachable_since": null,
 "not_driven_since": null,
 "icon": "/logos/weaviate.png",
 "agent_kinds": {
  "browser": {
   "who": "An assistant in a browser",
   "passed": [
    "signup",
    "verify",
    "first_action"
   ],
   "stop": "pay",
   "why": "reaches the checkout, stopped at the $45 a month charge",
   "tone": "warn",
   "text": "Signs up, confirms its email and does all of the core work. Payment: reaches the checkout, stopped at the $45 a month charge."
  },
  "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": {
  "surfaces": {
   "api": false,
   "cli": true
  },
  "read_at": "2026-10-31T00:52:26Z"
 },
 "connect": {
  "cli": {
   "install": "pipx install weaviate-cli",
   "package": "weaviate-cli",
   "ecosystem": "pypi",
   "source": "https://pypi.org/project/weaviate-cli/",
   "state": "documented"
  },
  "docs": {
   "url": "https://docs.weaviate.io/weaviate",
   "state": "tested"
  }
 },
 "surface_sources": {
  "docs": "https://docs.weaviate.io/weaviate",
  "llms_txt": "https://weaviate.io/llms.txt",
  "cli": "https://pypi.org/project/weaviate-cli/",
  "api": "https://docs.weaviate.io/openapi.json",
  "mcp": "https://docs.weaviate.io/weaviate/configuration/mcp-server",
  "sdk": "https://docs.weaviate.io/weaviate/client-libraries/typescript/typescript-v3",
  "openapi": "https://docs.weaviate.io/openapi.json"
 },
 "copilot_connector": null,
 "stripe_directory": null,
 "in_stripe_directory": null,
 "stripe_projects": null,
 "pay_rails": [],
 "stop_evidence": null,
 "wall_vendor": null,
 "mcp_sign_in": null,
 "safety_issues": 2,
 "fix_counts": {
  "small": 6,
  "medium": 1,
  "large": 1,
  "total": 8
 },
 "evidence_sha256": "3ae7de951bbbc5fc34952312578779dbfe542f43adf07bae86b189f748fdf36d",
 "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": "awaiting",
  "drives": 1,
  "agree": 1,
  "review": null,
  "text": "1 drive, awaiting confirmation"
 },
 "stop_shot": null,
 "stop_shot_hash": null,
 "attempts_count": 199,
 "detail": {
  "public": false,
  "in": [
   "report",
   "api"
  ],
  "since": "2026-10-17"
 },
 "what_it_does": "Weaviate is a vector database for searching and storing data by meaning.",
 "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-04": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 0
  },
  "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": 0,
   "above": 4
  },
  "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": 0,
   "above": 4
  },
  "FIND-06": {
   "basis": "category",
   "n": 6,
   "below": 1,
   "above": 0
  },
  "IN-03": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 5
  },
  "IN-11": {
   "basis": "category",
   "n": 6,
   "below": 4,
   "above": 0
  },
  "IN-12": {
   "basis": "category",
   "n": 6,
   "below": 4,
   "above": 0
  },
  "LEAVE-03": {
   "basis": "category",
   "n": 6,
   "below": 2,
   "above": 1
  },
  "MCP-03": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 0
  },
  "MCP-04": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 3
  },
  "MCP-05": {
   "basis": "category",
   "n": 5,
   "below": 0,
   "above": 3
  },
  "MCP-06": {
   "basis": "category",
   "n": 5,
   "below": 2,
   "above": 2
  },
  "MCP-07": {
   "basis": "category",
   "n": 5,
   "below": 2,
   "above": 0
  },
  "MCP-08": {
   "basis": "all",
   "n": 37,
   "below": 26,
   "above": 0,
   "percentile": 85
  },
  "MCP-09": {
   "basis": "all",
   "n": 32,
   "below": 16,
   "above": 0,
   "percentile": 75
  },
  "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": "not-found",
  "wall": "none",
  "llms_txt": true,
  "mcp": "none",
  "openapi": true,
  "payment_402": null,
  "payment_rails": [],
  "files": {
   "openapi": {
    "url": "https://docs.weaviate.io/openapi.json",
    "found": true
   },
   "llms_txt": {
    "url": "https://weaviate.io/llms.txt",
    "found": true
   },
   "llms_full": {
    "url": null,
    "found": false
   }
  }
 },
 "probe_history": [
  {
   "checked": "2026-11-01",
   "status": "ok",
   "sign_up_page": "not-found",
   "wall": "none",
   "llms_txt": true,
   "mcp": "none",
   "openapi": true,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-31",
   "status": "ok",
   "sign_up_page": "not-found",
   "wall": "none",
   "llms_txt": true,
   "mcp": "none",
   "openapi": true,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-30",
   "status": "ok",
   "sign_up_page": "not-found",
   "wall": "none",
   "llms_txt": true,
   "mcp": "none",
   "openapi": true,
   "payment_402": null,
   "payment_rails": []
  },
  {
   "checked": "2026-10-29",
   "status": "ok",
   "sign_up_page": "not-found",
   "wall": "none",
   "llms_txt": true,
   "mcp": "none",
   "openapi": true,
   "payment_402": null,
   "payment_rails": []
  }
 ],
 "surface_changes": [],
 "agent_reports": null,
 "verdict": "L4 · Runs on its own: our agent got in on its own and did the core work. Nothing stopped it before the card form. Sign-up at console.weaviate.cloud took an email, a code and a password, with no bot check, phone or card. Our agent made a free cluster and an API key in the console, then ran the work through REST, SDK and MCP: collections, objects, vector, keyword, hybrid and filtered search, Query Agent answers and Engram memories. Paying stopped at the Stripe card form, which carries an invisible hCaptcha. Deleting the account is browser-only, with no API, and it worked.",
 "changes": {
  "source": "store",
  "drives": [
   {
    "run": "20261028T074125Z",
    "date": "2026-10-28",
    "level": 4,
    "stop": null,
    "entry": "self-start",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   }
  ],
  "events": [],
  "feed": "https://agentdrives.com/api/tools/weaviate/changes.json"
 },
 "agreement": null,
 "method_release": "2026-Q4.27",
 "found": {
  "agent_blockers": 2,
  "surface_issues": 22
 },
 "agent_surfaces": {
  "api": {
   "state": "tested",
   "reachable": true,
   "documented": 131,
   "tested": 110,
   "source": "https://docs.weaviate.io/openapi.json"
  },
  "mcp": {
   "state": "tested",
   "reachable": true,
   "documented": 6,
   "tested": 6,
   "source": "https://docs.weaviate.io/weaviate/configuration/mcp-server"
  },
  "cli": {
   "state": "none_found",
   "reachable": null,
   "documented": null,
   "tested": null,
   "source": "https://pypi.org/project/weaviate-cli/"
  },
  "sdk": {
   "state": "tested",
   "documented": 28,
   "tested": 22,
   "source": "https://docs.weaviate.io/weaviate/client-libraries/typescript/typescript-v3"
  },
  "docs": {
   "state": "tested",
   "documented": 487,
   "tested": 485,
   "source": "https://docs.weaviate.io/weaviate"
  },
  "payment": {
   "state": "none_found",
   "documented": null,
   "tested": null,
   "source": null
  }
 },
 "issues_found": 24,
 "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": "Set a member's role or permissions",
    "href": "https://agentdrives.com/tasks/set-a-member-s-role-or-permissions"
   },
   {
    "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": "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"
   }
  ],
  "walls": [],
  "vendors": [],
  "standards": [
   {
    "label": "MCP",
    "href": "https://agentdrives.com/standards/mcp",
    "note": "tools an agent can call"
   },
   {
    "label": "OpenAPI",
    "href": "https://agentdrives.com/standards/openapi",
    "note": "its API, described"
   },
   {
    "label": "llms.txt",
    "href": "https://agentdrives.com/standards/llms-txt",
    "note": "its docs, listed for agents"
   }
  ],
  "steps": [
   {
    "label": "Find",
    "href": "https://agentdrives.com/access/find"
   },
   {
    "label": "Get in",
    "href": "https://agentdrives.com/access/get-in"
   },
   {
    "label": "Use",
    "href": "https://agentdrives.com/access/use"
   },
   {
    "label": "Pay",
    "href": "https://agentdrives.com/access/pay"
   },
   {
    "label": "Leave",
    "href": "https://agentdrives.com/access/leave"
   }
  ],
  "rivals": [
   {
    "label": "LanceDB",
    "href": "https://agentdrives.com/tools/lancedb",
    "slug": "lancedb",
    "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 collection (schema)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-02",
   "name": "Insert or upsert an object into a collection",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-03",
   "name": "Run a vector (near_text/near_vector) search",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-04",
   "name": "Run a BM25 keyword search",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-05",
   "name": "Run a hybrid search combining vector and keyword",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-06",
   "name": "Query records with filters and sorting",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-07",
   "name": "Ask a natural-language question answered from stored data (Query Agent Ask mode)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-08",
   "name": "Run retrieval-focused search across collections with routing (Query Agent Search mode)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-09",
   "name": "Store a memory for an AI agent (text, conversation, or pre-extracted facts)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-10",
   "name": "Search stored agent memories (vector/BM25/hybrid/fetch)",
   "core": true,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-11",
   "name": "Generate text grounded in retrieved objects (RAG)",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-12",
   "name": "Create text or multimodal embeddings with a hosted model",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-13",
   "name": "Isolate data per tenant (multi-tenancy)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-14",
   "name": "Back up and restore a collection or instance",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-15",
   "name": "Create a role and assign fine-grained RBAC permissions",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-16",
   "name": "Create and manage database users",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-17",
   "name": "Delete an object",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-18",
   "name": "Add or update a collection's schema fields",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "untried",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-19",
   "name": "List collections and read their schema",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "done",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-20",
   "name": "Delete the signed-in agent's memory by ID",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-21",
   "name": "Check an Engram pipeline run's status",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "done",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-22",
   "name": "Deploy Weaviate self-hosted via Docker/Kubernetes",
   "core": false,
   "result": "untried",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "untried",
    "ui": "none"
   }
  },
  {
   "id": "cap-23",
   "name": "Choose a deployment type (Shared Cloud, Dedicated Cloud, self-hosted)",
   "core": false,
   "result": "done",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "done"
   }
  },
  {
   "id": "cap-24",
   "name": "Monitor the instance via Prometheus metrics",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "plan",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  }
 ],
 "category_place": {
  "category": "vector-databases",
  "products": 6,
  "higher": 0,
  "same_level": 2,
  "as_of": "2026-10-31",
  "stop": null,
  "rivals_by": "level",
  "rivals": [
   "lancedb",
   "zilliz"
  ]
 },
 "page": "https://agentdrives.com/tools/weaviate?via=api"
}