A comprehensive development companion tool that provides real-time debugging, code quality monitoring, and AI-enhanced insights for React/Next.js applications via MCP
This server has significant quality gaps across naming, descriptions, parameter documentation, and output schemas. While tool names follow verb_noun conventions (mostly good), descriptions are generic and often under-specified. Parameter schemas are present but lack depth, many parameters have minimal descriptions. Critically, output schemas are not documented anywhere in the visible code, making it impossible for LLMs to plan downstream tool calls. The server mixes debugging concerns (CPU profiling, memory snapshots) with React-specific analysis and AI-powered insights, suggesting poor separation of concerns. Error handling is absent from the visible code, no recovery guidance, retryability classification, or actionable error messages. Security considerations are not addressed (no mention of secret injection, rate limiting, or audit logging). Tools 13-16 (React analysis tools) appear to be defined in test files rather than the main implementation, suggesting they may not be properly registered.
Analyze complexity metrics for a specific file
Analyze a React component for performance, complexity, and best practice violations
Detect React-specific issues including props drilling, unnecessary re-renders, and hook violations
Get AI-powered insights and analysis of code quality, performance, and architectural issues
Get current debugging session information
Get current errors and exceptions
Get memory usage snapshots for leak detection and analysis
Output schemas are completely undocumented. No tool in the visible source declares what fields it returns, making it impossible for LLMs to extract data for downstream tool calls or understand the response structure.
Descriptions lack specificity and context. 'Get current debugging session information' and 'Get current errors and exceptions' do not explain what distinguishes these tools, when to call them, or what data they return. Descriptions should be 50-200 chars and answer WHAT, WHEN, and WHY.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get network request performance metrics and timing analysis
Get current performance metrics and insights
Get performance alerts and warnings for CPU, memory, network, and render issues
Get React-specific performance metrics including render times and optimization opportunities
Get React component render performance metrics and optimization insights
Get current code quality rule violations
Monitor and analyze React hooks usage, violations, and performance
Mark a performance alert as resolved
Start CPU profiling to analyze performance bottlenecks and generate flame graphs
Stop CPU profiling and get the profile data with flame graph
Update debugger configuration
Parameter descriptions are minimal or missing context. 'Filter by error severity level' does not explain what severity values are valid, whether the tool fails if severity is invalid, or how it filters (exclusive match? prefix?). Parameters require format, range, and behavior documentation.
Tools 13-16 (analyze-react-component, monitor-react-hooks, get-react-performance, detect-react-issues) are defined in test-react-tools.js, not in the main src/index.ts. They appear to be test stubs, not production-registered tools. Unclear if these are actual available tools or example code.
update-config accepts a generic 'config' parameter of type object with description 'Configuration object to update'. This violates parameter constraints, no validation, no schema, no enumeration of valid keys. LLMs cannot determine what fields are allowed or what happens on invalid input.
No error handling or recovery guidance visible in the code. Tools do not document retryability, expected failure modes, or actionable error messages. An LLM receiving a generic error has no guidance on whether to retry, adjust parameters, or escalate.
No pagination or result limiting for tools that may return large datasets (get-errors, get-violations, get-performance-alerts, get-memory-snapshots, get-network-metrics, get-render-metrics). Tools accept 'limit' but no 'offset'/'page'/'cursor' parameters. LLMs cannot iterate through results.
get-ai-insights is vague about what 'AI-powered analysis' means and how it differs from built-in analysis tools. Does it call an external LLM? If so, how are tokens charged? What latency? The description must clarify the service dependencies and costs.
Tool composition is unclear. 18 tools span debugging, profiling, React analysis, and AI insights, a grab-bag of concerns. No clear narrative for how tools chain together. E.g., after analyze-react-component, which tool should be called next? What IDs are returned that downstream tools need?
Security: No documentation of permissions, audit trails, or secret injection. The server depends on external services (Anthropic, OpenAI, Chrome DevTools, Puppeteer), no mention of how credentials are managed or how API keys are injected.