Server has 11 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention well (list_collections, search_collection, vector_search). Descriptions are present but often generic (10-50 chars for many tools), lacking context on WHEN to use each tool or dependencies between them. Parameters have types and basic descriptions, but lack constraints (enums, ranges, patterns). No output schemas documented. Error handling is minimal, exceptions are caught but error messages are generic ('Search failed', 'Query failed'). No guidance on retryability, user-fixable vs fatal errors, or recovery steps. Destructive tools (delete_entities) lack confirmation patterns. Security: no secrets exposed as params (good), but no permission gates or audit trail declarations.
Create a new collection with the specified schema.
Delete entities from a collection based on filter expression.
Get detailed information about a collection.
Get statistics about a collection.
Perform hybrid search combining BM25 text search and vector search with RRF ranking.
Insert data into a collection.
List all collections in the database.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., search_collection returns 'list[dict]' with no field documentation.
Descriptions are too generic and lack context. 'Perform full text search on a collection' (55 chars) does not explain WHEN to use search_collection vs query_collection vs vector_search vs hybrid_search. LLMs cannot disambiguate.
No enum constraints on metric_type parameter. vector_search and multi_vector_search accept 'COSINE, L2, IP' as free-form strings. LLMs may hallucinate invalid values like 'euclidean' or 'manhattan'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Perform vector similarity search with multiple query vectors.
Query collection using filter expressions.
Perform full text search on a collection.
Perform vector similarity search on a collection.
Destructive tool delete_entities lacks confirmation pattern. No dry-run, no confirmation step. Agents can irreversibly delete data without safeguards.
Error handling is minimal. Exceptions are caught but error messages are generic ('Search failed: {str(e)}'). No guidance on retryability, user-fixable errors, or recovery steps. LLMs cannot self-correct.