An MCP server that provides code-aware RAG (Retrieval-Augmented Generation) capabilities using vector stores for similarity search and repository management
RagThisCode exposes a single tool (similarity_search) with minimal documentation. The tool name is acceptable (verb-noun pattern), but the implementation lacks parameter descriptions, output schema documentation, and error handling guidance. The tool accepts a single string parameter with no type validation, format constraints, or recovery hints. No input schema validation is visible in the source code. The description is generic (54 chars) and does not explain when to use the tool, what format the query should take, or what structure the response has. Output is inferred (list[str]) but not formally documented. No error handling, no pagination strategy despite returning potentially large result sets, and no guidance on result limits. The server is functional but falls well short of production-grade tool definition standards.
Search for similar code snippets in the vector store
Parameter lacks description and type validation. The 'query' parameter has no guidance on expected format, length constraints, or search behavior, LLM cannot reason about when to call or how to construct meaningful queries.
No output schema documentation. Tool returns list[str] inferred from code, but no formal documentation of structure, field meanings, or result limits. LLM cannot reliably extract or chain results to downstream tools.
No pagination or result limit enforcement. Vector similarity search can return large result sets. No limit parameter, no offset/page support, and no guidance on max results returned. Risks context window exhaustion.
Generic, shallow description (54 chars). 'Search for similar code snippets in the vector store' does not explain query format expectations, when similarity_search is preferable to other tools, or what fields the response contains. Below recommended 50-200 char range for LLM-optimized descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 11 | - | v1 |
No error handling or recovery guidance. If the vector store is empty, the query is malformed, or embeddings service fails, tool returns no actionable error message. LLM receives raw exception or empty result with no recovery path.
No idempotency guarantee documented. Vector similarity search is stateless and repeatable, but tool definition does not declare this. If LLM retries due to downstream failure, behavior is undefined.