A Model Context Protocol server for RAG (Retrieval-Augmented Generation) with vector knowledge base search, web search, and intelligent hybrid search capabilities
The RAG MCP Server defines 4 tools with basic structure but significant quality gaps. All tools have names, descriptions, and input schemas visible in the source. However, descriptions are generic and lack depth; parameter descriptions are minimal; output schemas are not documented; and error handling guidance is absent. The tools follow a reasonable verb_noun naming pattern (search_*, add_*) but descriptions do not explain WHEN to use each tool vs. similar ones, do not guide recovery on failure, and do not indicate whether tools modify state. The server is STDIO-only, which is a hard cap at 50 for protocol readiness. Averaging the per-tool scores yields a definition quality of ~52, placing this server in the D (Poor) range, typical of early-stage community tools.
Add a document to the knowledge base for vector storage and retrieval
Search local vector knowledge base for relevant documents based on query
Intelligent search combining local vector database results with web search results for comprehensive information retrieval
Search the web using Tavily API or configured search backend for real-time information
Output schemas are not documented for any tool. Agents cannot predict what fields to expect, cannot chain tool calls with correct parameter names, and cannot extract structured data from responses.
Tool descriptions are too generic and do not explain WHEN to use each tool vs. similar ones. E.g., search_knowledge_base, web_search, and smart_search all search but have different sources, descriptions do not clarify the distinction or trade-offs for agent decision-making.
Parameter constraints are missing or incomplete. top_k (search_knowledge_base) and max_results (web_search) have no min/max guidance. local_weight and web_weight (smart_search) lack documentation on how they combine or normalize. filters (search_knowledge_base) is an empty object with no structure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 42 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 29 | - | v1 |
add_document does not declare that it modifies state. Agents cannot know whether the call is idempotent or has irreversible side effects, and cannot reason about retry behavior.
No error handling guidance. Tools do not provide recovery hints (e.g., 'If search returns no results, try broadening the query' or 'If Tavily is not configured, check TAVILY_API_KEY env var'). Agents have no actionable next steps on failure.
Tool composition is unclear. It is not documented whether search_knowledge_base, web_search, and smart_search return the same field names (e.g., do all return 'document_id', 'title', 'content'?). Broken field naming across tools forces agents to reason about field mapping.
Parameter descriptions are too brief and lack examples or constraints. E.g., 'Number of top results to return' does not indicate valid range, default, or behavior if exceeded.