MCP server for web search and vector database operations with ChromaDB integration
Server has 6 tools with basic descriptions and schemas, but significant gaps in parameter documentation, error handling, and output structure. Tool names follow verb_noun convention (get_docs, add_document_to_vectordb, search_vectordb, delete_document_from_vectordb, batch_add_documents_to_vectordb, create_retriever). However, parameter descriptions are minimal or missing entirely. For example, search_vectordb accepts 'filter_criteria' (object) with no guidance on valid keys or structure. Output schemas are not documented, search_vectordb returns a list but the response structure is inferred from code, not declared. Error handling is minimal: most tools return plain strings like 'Error: Vector store not initialized' without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, DESTRUCTIVE). Batch operations exist but lack per-item error reporting. Overall, definitions are functional but fall short of production quality.
Add a document to the ChromaDB vector database.
Add multiple documents to the ChromaDB vector database in a batch.
Create a retriever from the vector store for later use.
Delete a document from the ChromaDB vector database by ID.
Search the latest docs for a given query and library. Supports langchain, openai, and llama-index.
Search the ChromaDB vector database for documents similar to the query.
Output schemas not documented. search_vectordb returns List[Dict] but structure is inferred from code, not declared. LLMs cannot plan downstream calls without knowing response fields.
Parameter descriptions are vague or missing. 'filter_criteria' (object) has no guidance on valid keys. 'search_kwargs' (object) in create_retriever is undocumented. LLMs cannot construct valid calls.
No tool annotations despite clear risk levels. delete_document_from_vectordb is DESTRUCTIVE but lacks destructiveHint. add_document_to_vectordb is WRITE but lacks annotation. Agents cannot reason about side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Error handling returns plain strings without recovery guidance. 'Error: Vector store not initialized' tells agent nothing. No categorization of retryable vs fatal errors.
batch_add_documents_to_vectordb lacks per-item error reporting. If 1 of 50 documents fails, agent gets no feedback on which item failed or why.