Lighthouse MCP has 19 tools with complete input schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention (l1_collect, l2_analysis, l3_budget) which is good. However, descriptions are often generic (e.g., 'Analyze critical request chains' lacks WHEN/WHY context). Parameters lack depth, most have minimal descriptions and no validation guidance. Output schemas are not documented anywhere in the provided code. Error handling is present but not recovery-focused. No tool annotations (readOnlyHint, destructiveHint). The deep analysis tool code shows structured output formatting, but this is not reflected in schema documentation. Overall: functional but below production baseline.
Collect Lighthouse performance data for multiple URLs in batch
Collect Lighthouse performance data for a single URL
Retrieve a specific Lighthouse report by ID
List all stored Lighthouse reports
Perform advanced performance analysis with detailed metrics
Analyze critical request chains in Lighthouse reports
Perform deep analysis including critical chains, unused code, and prioritized recommendations
Analyze the critical chain affecting Largest Contentful Paint
Output schemas not documented. No tool returns a documented schema, LLMs cannot plan downstream calls or extract structured data. The deepAnalysisTool.ts shows formatted markdown output, but no schema definition exists in tool registration.
Parameter descriptions lack validation guidance. 'categories' param accepts array of strings with no enum or format constraint. 'throttling' is an object with no nested schema. LLMs cannot validate inputs before calling.
Tool descriptions are generic and lack WHEN/WHY context. 'Analyze critical request chains' does not explain when to call this vs l2_deep_analysis. 'Perform advanced performance analysis' is vague, what makes it 'advanced'? Descriptions should be 50-200 chars with clear intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Progressively analyze third-party impact with detailed breakdown
Analyze Lighthouse scores across categories
Compare performance metrics across multiple sites
Analyze the impact of third-party scripts on performance
Analyze unused CSS and JavaScript in Lighthouse reports
Analyze performance issues with weighted impact scoring
Generate actionable performance improvement plans
Query the Lighthouse report database for trends and comparisons
Identify performance patterns and provide insights
Analyze performance against defined budgets
List all available tool categories and their descriptions
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are marked READ_ONLY in the spec, but this is not reflected in tool definitions. Agents cannot distinguish safe-to-retry tools from those with side effects.
l3_database_query has ambiguous parameters. 'query' is a free-form string (trends, comparison, statistics), should be an enum. 'timeRange' has no format (e.g., '7d', '2024-01-01', 'last_week'?). Undocumented parameter relationships force LLM guessing.