MCP server for deep codebase analysis, pattern detection, and AI-optimized context generation for React, React Native, Vue 3, and Nuxt 3 projects
This server provides 7 code analysis tools with complete input schemas and brief descriptions. Strengths: all tools have JSON Schema definitions with typed parameters and enums where appropriate; descriptions are present for all tools and most parameters. Weaknesses: descriptions are uniformly short (20-80 chars) and lack depth expected for production tools; no documented output schemas; no error handling guidance; missing tool annotations (readOnlyHint, etc.); parameter descriptions are minimal ('Project root', 'Include globs') without actionable context for LLM decision-making. The server is READ_ONLY in nature (all tools analyze code without modification), but this is never stated in tool descriptions. Naming is verb-less (arch, deps, patterns, coverage, conventions, context, security), not following verb_noun convention, which forces LLMs to infer intent from description alone.
Analyze architecture, components, patterns. Supports React/RN/Vue/Nuxt
Build AI context pack for task
Validate naming, structure, code conventions
Test coverage gaps, actionable suggestions
Dependency graph, circular deps, coupling metrics
Detect framework patterns, best practices
Security vulnerability analysis with OWASP mapping
Tool names lack action verbs. Names like 'arch', 'deps', 'patterns', 'coverage' do not start with verbs (analyze_, detect_, assess_). This violates verb_noun convention and forces LLMs to infer intent from descriptions.
No documented output schemas. Tool descriptions state what they do, but there is no machine-readable or human-readable specification of what fields/structure each tool returns. This forces LLMs to guess at response structure and limits their ability to chain tools.
Parameter descriptions are under 20 chars for most parameters. Examples: 'Project root' (13), 'Include globs' (12), 'Exclude globs' (12). Descriptions lack actionable context: e.g. what format should 'Include globs' accept? What happens if both inc and exc match a file?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 38 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
No error handling guidance. Tool descriptions and schemas contain no recovery hints, categorization of error types (retryable vs fatal), or actionable error messages. If a tool fails, the LLM has no direction on what to do next.
Missing tool annotations. No tool explicitly declares readOnlyHint, destructiveHint, or idempotentHint in its schema. All tools are read-only (code analysis), but this is never formalized. Per spec (current 2026-07-28), tool annotations help clients understand tool safety and implications.
Parameter naming inconsistencies and ambiguity. 'fw' (framework) is abbreviated without explanation in arch and coverage; context tool uses 'task' but does not describe expected granularity or format. Security tool uses 'sev' (severity) abbreviated. Abbreviations force LLMs to resolve them against descriptions, adding reasoning overhead.
Enum parameter descriptions lack explanation of what each value means. Examples: arch depth enum ['o', 'd', 'x'] described only as 'overview/detailed/deep', but no detail on when to use each; patterns 'prov' and 'cc' are abbreviations without explanation. LLMs must infer intent from cryptic enum values.
No pagination or result-limit guidance. Tools like 'arch', 'patterns', and 'deps' analyze entire codebases and return potentially large result sets, but input schemas contain no limit, page, or cursor parameters. Large unstructured responses will blow context windows.