MCP server for React Native best practices guidance with expert-level code remediation
This React Native MCP server exhibits significant quality gaps across naming, descriptions, and schema completeness. While tool names generally use verb-noun patterns (analyze_component, upgrade_packages), descriptions lack LLM-optimization guidance and many parameters are underdescribed. Most critically, the actual tool implementations are not visible in the provided source, only tool registration calls are shown in src/tools/index.ts without implementation details. This forces inference-based scoring, which caps tool scores. Schemas exist but are sparse; no output schemas are documented. Parameter descriptions are present but generic (e.g., 'Path to React Native project root' repeated across many tools without guidance on format or validation). Error handling patterns are absent from visible code. The server registers 10 tools but lacks composition clarity, several tools overlap in scope (analyze_component, analyze_codebase_comprehensive, analyze_codebase_performance) without clear differentiation guidance for LLM selection.
Comprehensive React Native codebase analysis including performance, security, refactoring, and upgrades
Analyze entire React Native codebase for performance issues
Analyze React Native component for best practices
Get React Native architecture and project structure advice
Perform security audit on project dependencies and provide fix recommendations
Get debugging guidance for React Native issues
Migrate deprecated packages to their recommended alternatives
Tool implementations not visible in provided source; only signatures are shown. This prevents verification of output schema documentation, error handling patterns, and actual parameter validation logic. Inferred tool definitions are capped at 50 per scoring rules.
Output schemas not documented. LLMs need to know what fields will be returned to plan downstream calls and extract relevant data. Currently, tool descriptions lack output field specifications entirely.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get performance optimization suggestions for React Native
Analyze and resolve dependency conflicts in React Native projects
Automatically check for package updates and provide upgrade recommendations
Parameter descriptions are generic and repetitive. 'Path to React Native project root' appears identically across 6+ tools without guidance on required format (absolute vs relative), validation rules, or examples. Descriptions do not explain WHEN to use each tool or distinguish similar tools.
Tool naming creates ambiguity in selection. 'analyze_component', 'analyze_codebase_performance', and 'analyze_codebase_comprehensive' overlap in scope. Without clear differentiation in descriptions (e.g., 'Use this for single-component analysis; use comprehensive for multi-layer analysis'), LLMs will struggle to pick the right tool.
No error handling guidance documented. Tools that write state (upgrade_packages, resolve_dependencies, audit_packages with auto_fix, migrate_packages with auto_migrate) lack recovery patterns. No indication of retryability, failure modes, or compensation steps if an operation partially succeeds.
Optional parameters with dangerous defaults. Tools like upgrade_packages (auto_apply: optional) and audit_packages (auto_fix: optional) default to false, which is safe, but the tool descriptions do not explain what happens when auto_apply=true, whether changes are logged, or how to roll back. Missing confirmation/dry-run patterns for destructive operations.
No pagination or result-limiting documented. Tools like analyze_codebase_comprehensive may return large datasets (multiple analysis types × many issues/findings). Without pagination, limit, or result capping guidance, responses risk consuming excessive context tokens and degrading LLM reasoning.
Parameter interdependencies not documented. E.g., focus_areas in analyze_codebase_performance includes 'all', but unclear if other focus_areas are ignored when 'all' is selected. Similarly, auto_apply in upgrade_packages and check_vulnerabilities are independent, but no guidance on interaction.