MCP server for retrieval-augmented generation with vector search, document indexing, and engineering rules extraction
Flying RAG MCP has 11 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_*, get_*, list_*, extract_*, sum_*). Descriptions are present and substantive (avg ~120 chars), exceeding the 20-char minimum. However, output schemas are not documented in the source code, the tool definitions show inputs but no explicit return type specifications. Parameter descriptions are generally good but lack constraint details (ranges, enums, format specs). Error handling is minimal; no recovery guidance or actionable error messages visible. The reindex_* tools are write operations but lack confirmation/dry-run patterns. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in the metadata.
Extract structured values (parameters, specifications) from documents by label
Retrieve table data with optional filtering and grouping
Find neighboring documents in the knowledge graph
List indexed documents with optional filtering
Locate a specific quote within a document
Start reindexing a file or folder
Get status of a reindexing job
Output schemas not documented. Tool definitions show input parameters but no explicit return type specifications, field names, or structure. LLMs cannot plan downstream calls or extract required data without knowing what fields to expect.
Parameter constraints missing. Numeric parameters (top_k, limit, max_rows, alpha) lack min/max bounds. String parameters lack format specs, regex patterns, or enum constraints. E.g., 'op' in sum_table_values accepts 'sum' but no enum of valid operations documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
Search documents using semantic similarity with optional reranking and filtering
Search technical drawings and CAD files by query
Search engineering rules and specifications
Sum or aggregate table values by subject and field
No tool annotations. reindex_path is a WRITE operation but lacks destructiveHint annotation. search_* and get_* tools are READ_ONLY but lack readOnlyHint. Agents cannot distinguish safe from unsafe operations without explicit annotations.
No error handling guidance. Tool descriptions do not explain failure modes, recovery steps, or actionable error messages. E.g., search_documents could fail if embeddings service is down, but no guidance on what to do next.
Destructive operations lack confirmation pattern. reindex_path with force=true can overwrite indexed data, but no dry-run or confirmation step. Agents may accidentally trigger expensive reindexing.