MCP server for Milvus vector database providing tools for collection management, vector search, hybrid search, and data operations
Server has 11 tools with complete schemas and descriptions, but quality is inconsistent. All tools have input schemas with proper types and descriptions (baseline: 100% of A+ tools). However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. similar ones. Output schemas are undocumented, LLMs cannot plan downstream calls. Error handling is minimal (generic ValueError messages). Tool naming is clear (verb_noun pattern) but composition has issues: search_collection, vector_search, hybrid_search, and multi_vector_search overlap significantly without clear differentiation. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Parameters lack constraints (e.g., metric_type accepts free-form strings instead of enum). No pagination support despite tools returning lists. STDIO transport caps protocol readiness at 50.
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.
Four overlapping search tools (search_collection, vector_search, hybrid_search, multi_vector_search) lack clear differentiation. Descriptions do not explain WHEN to use each vs. the others. LLMs will struggle to select the right one.
Output schemas are completely undocumented. Tools return lists of dicts but LLMs cannot see what fields are present, preventing downstream tool chaining and forcing discovery calls.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot determine which tools are safe to retry.
| 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.
metric_type parameter accepts free-form strings ('COSINE', 'L2', 'IP') but is not declared as an enum. LLMs may hallucinate invalid values like 'euclidean' or 'manhattan'.
Error handling is generic (ValueError with message strings). No guidance on recovery, retryability, or next steps. LLMs cannot self-correct or plan alternatives.