A standalone MCP (Model Context Protocol) server that embeds the Zvec vector database from Alibaba directly into the development environment
Five tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (initialize_, search_, get_, list_). Descriptions exist but are brief (avg ~60 chars, below 194-char baseline). Most parameters lack descriptions entirely. No output schemas documented. Error handling absent. Security concerns: file_path parameter in get_file_content is untrusted input with no path traversal validation mentioned. initialize_knowledge_base lacks confirmation/dry-run pattern for destructive reindex operation.
Get the full content of an indexed file
Get the current status of the knowledge base initialization and indexing
Initialize the knowledge base by indexing project files and creating embeddings
List all files currently indexed in the knowledge base
Search the knowledge base for code snippets similar to a query
Missing output schemas for all tools. LLMs cannot plan downstream calls or extract required fields without knowing response structure (e.g., does search_knowledge_base return file_path, line_number, similarity_score?).
get_file_content accepts file_path parameter with no validation or path traversal protection documented. Untrusted input could read arbitrary files outside project root.
Parameter descriptions missing or minimal. 'force_reindex' (boolean) lacks explanation of consequences. 'limit' and 'threshold' in search_knowledge_base lack ranges/constraints. 'language' filter in list_indexed_files not explained.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | <=2025-11-25 | v2 |
initialize_knowledge_base (WRITE operation) lacks confirmation/dry-run pattern. force_reindex=true could destroy indexed data without user awareness. No recovery guidance in error responses.
No error handling guidance. Code shows error paths but tool descriptions do not explain what errors are retryable, user-fixable, or fatal. LLM cannot self-correct on failures.