Agent readiness · weaviate.io
2026-08-12 10:29 UTC · formula v9.2 · 5.5s
4 checks are costing you agent-driven integrations.
OAuth dynamic client registration: No OAuth metadata on any of the 8 hosts probed, including the usual auth and api subdomains · MCP surface: MCP mentioned 7x in your own files, but nothing answered at mcp.weaviate.io, mcp.weaviate.io/mcp, mcp.weaviate.io/v1/mcp, api.weaviate.io/mcp, /mcp or /api/mcp · Programmatic key provisioning: 1 of 7 provisioning phrases across the 5 documents we read: "management api" · Machine-readable API description: No OpenAPI spec at the 5 usual paths, none declared by https://docs.weaviate.io/weaviate, and no markdown negotiation
A dashed column is a stage we could not measure, not a stage you failed.
- A · Discovery
- 6/6
- B · Agent entry
- 2/4
- C · Registration
- n/m
- D · Provisioning
- 2/3
- E · Integration
- 1/2
of the 15 points that apply to you and we could measure · 2 of 17 were not scored
You 11 · category median 9.5 · best pinecone.io 13 · 15 deterministic HTTP checks, published formula
Fix this first
This is the whole list: everything we could measure and you do not pass. Another 2 points sit behind checks we could not evaluate on your domain, and each of those lines below says what would make it measurable.
- 1Programmatic key provisioningan afternoon · +1
Document how a key is created without opening a dashboard: management API, service account or CLI. If no such path exists, that gap is the finding, not the docs.
- 2Machine-readable API descriptionan afternoon · +1
Publish an OpenAPI file at /openapi.json, or serve markdown when a client sends Accept: text/markdown. Either one stops agents guessing your API.
Then, when you have room
- OAuth dynamic client registration a project · +1Publish OAuth authorization server metadata with an RFC 7591 registration_endpoint in it. It is the only standard way an agent registers itself without a human.
- MCP surface a project · +1You already talk about MCP, and nothing answered at the addresses named above. If your server is at another path, declare it at /.well-known/mcp.json: that file is what an agent reads first, and it is what makes the path stop mattering.
Take it with you
4 of the checks an agent depends on, weaviate.io does not pass.
Send yourself the list above with the checks that cost the most, and a permanent link. Whoever owns the fix is usually not the person who ran the scan.
One email with the report, and one follow-up asking what you did with it. No newsletter, no sequence. Delete on request at hello@letagentsin.com.
None of this tells you whether an agent picked you
Everything above is a file an agent could read. Whether one actually chose you is a different measurement, and we have not run it on weaviate.io. What we have run it on is a rich text editor vendor: six agents, one brief, six isolated copies of a real codebase. All six picked the same competitor, and the vendor being studied was never named, not even on a rejection list, while the runs named and dismissed ten alternatives between them. In an earlier round, run before we isolated the copies, it was named twice and struck off both times in four words: Fully commercial, licence key required. That study is about them, not about you. It is here because it is the difference between a file and a decision.
Against vector databases
You are 2 of 6 in a category where a developer is trying to give an app semantic search or retrieval.
- 1pinecone.io13/15
- 2weaviate.ioyou11/15
- 3qdrant.tech9/14
- 4turbopuffer.com10/16
- 5trychroma.com9/15
- 6zilliz.com8/15
Where competitors pass and weaviate.io does not
- Machine-readable API descriptionpinecone.io · qdrant.tech · trychroma.com · turbopuffer.com · zilliz.com
- OAuth dynamic client registrationpinecone.io · trychroma.com
- MCP surfacepinecone.io · qdrant.tech
- Programmatic key provisioningpinecone.io
Only domains we have actually scanned appear here, so the ranking is a floor: a competitor missing from the list has not been measured, not beaten.
By stage
Every check
Each line is one HTTP observation with a published rule, so you can rerun any of them yourself. Most are the same tomorrow if you are: the two that are not are the bot gate and the pricing page, which answer inconsistently on their own, which is why those run more than once and say so when the tries disagreed. PASS and PART are counted. UNMEASURED means we could not evaluate it, N/A means it does not apply to a product like yours, and neither is in the score or its denominator. See the formula
A · Discovery
- PASSAnswers an agent user-agentAnswered 200 to LetAgentsIn/1.0 (+https://letagentsin.com/methodology)
- PASSllms.txt publishedllms.txt present at https://weaviate.io/llms.txt, and the 12 links we sampled across the file all answer
- PASSDocs readable without JavaScript36,990 characters of text without JS, on https://docs.weaviate.io/weaviate/tutorials/tokenization rather than on https://docs.weaviate.io/weaviate
- PASSOn-demand agents not blockedExplicitly allowed: ChatGPT-User
- PASSPaths robots.txt points at answerthe 1 concrete path your robots.txt allows all answer
- PASSNo punishing crawl delayNo Crawl-delay applies to the agents we check
B · Agent entry
- PASSAgent entry pointFound: https://weaviate.io/agents.md
- FAILOAuth dynamic client registrationNo OAuth metadata on any of the 8 hosts probed, including the usual auth and api subdomainsRFC 7591 is the only standard path by which an agent can register itself without a human.
- FAILMCP surfaceMCP mentioned 7x in your own files, but nothing answered at mcp.weaviate.io, mcp.weaviate.io/mcp, mcp.weaviate.io/v1/mcp, api.weaviate.io/mcp, /mcp or /api/mcpAn MCP server turns your API from something an agent reads about into something it can call.
C · Registration
- UNMEASUREDNo CAPTCHA in the signup HTMLUnmeasurable: we found no link to an account signup on the pages we read, while you publish prices at https://weaviate.io/pricing, so this is a gap in our reading rather than a finding about youLink signup from your home page or your pricing page and this becomes measurable.
- UNMEASUREDSignup reachable without a browserUnmeasurable: we found no link to an account signup on the pages we read, while you publish prices at https://weaviate.io/pricing, so this is a gap in our reading rather than a finding about youLink signup from your home page or your pricing page and this becomes measurable.
D · Provisioning
- PARTProgrammatic key provisioning1 of 7 provisioning phrases across the 5 documents we read: "management api"Documented key creation is the difference between a two-minute integration and a support ticket.
- PASSFree tier or no-card trial stated in textFree tier or no-card signals at https://weaviate.io/pricing: "No credit card", "free tier", "Free Forever"
E · Integration
- PASSTyped SDK on the registryweaviate-client@3.14.0 ships types
- FAILMachine-readable API descriptionNo OpenAPI spec at the 5 usual paths, none declared by https://docs.weaviate.io/weaviate, and no markdown negotiationAn OpenAPI file or markdown negotiation lets an agent read your API instead of guessing it.Point at your spec from your docs page with rel="service-desc" and an agent finds it without guessing.
What we discovered on the way
- Docs
- https://docs.weaviate.io/weaviate · linked from the site
- Pricing
- https://weaviate.io/pricing · linked from the site
- Signup
- not found
- npm package
- weaviate-client
- GitHub
- weaviate/weaviate
- Package licence
- BSD-3-Clause
- Crawl-delay
- none
- Content-Signal
- none
- Blocked on-demand agents
- none