MCP server for searching and retrieving React Native and Expo documentation with keyword search, fuzzy search, advanced filtering, and semantic vector search capabilities.
Server has 5 tools with basic descriptions and visible input schemas. However, critical gaps undermine quality: (1) Parameter descriptions are minimal or missing context. E.g., 'threshold' in fuzzy_search_docs lacks guidance on what score means or when to adjust it. (2) Output schemas are not documented, LLMs cannot predict return structure (e.g., does 'snippet' always exist? what are 'tags' and 'version' types?). (3) No error handling guidance, tools fail silently on file read errors with only logging, no recovery hints. (4) Tool names are acceptable (search_*, get_*) but lack specificity, 'advanced_search' is vague vs. 'search_docs_by_tag_and_date'. (5) No mention of pagination, result limits, or how many docs are returned. Baseline: 194 chars avg description; these average ~100 chars and lack WHEN/WHY context. 100% of A+ tools document return types; this server documents none.
Advanced search: by keyword, tag, or last modified date (ISO format). Returns ranked results.
Fuzzy search documentation for a keyword (typo-tolerant) and return ranked results with context snippets.
Get full content of a documentation file by name.
Search documentation for a keyword and return ranked filenames with context snippets.
Semantic vector search on documentation content.
No output schemas documented. LLMs cannot predict return structure (e.g., type of 'tags', 'version', 'snippet' fields; whether results are always present; pagination behavior). All 5 tools return list[dict] with undocumented field types.
Parameter descriptions lack actionable context. 'threshold' in fuzzy_search_docs has no guidance on score interpretation (0-100? what does 70 mean?). 'top_k' in semantic_search_docs lacks bounds or default rationale. Missing: format constraints, ranges, and WHEN to use each parameter.
No error handling or recovery guidance. Tools silently skip files on read errors (logged but not returned). LLM receives no indication of partial failure, missing docs, or how to retry. No actionable error messages.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
No pagination or result limits documented. Tools return all matching docs without limit. Large doc sets will blow context windows. No mention of max results, pagination tokens, or when to cap output.
Tool descriptions lack WHEN/WHY context. 'Search documentation for a keyword' does not explain when to use search_docs vs fuzzy_search_docs vs advanced_search vs semantic_search_docs. LLM must guess which tool fits the intent.