The structuredContent guarantee is what makes this useful to an agent rather than just runnable: every tool has an outputSchema, so a score or a set of opportunities arrives as typed data the model can reason over instead of a JSON blob to re-parse. The focused tools matter too — get_lcp_opportunities and find_unused_javascript go straight to the fix rather than making you read a full report to find it.
A server that runs Google Lighthouse audits: 12 tools covering the full audit plus focused scores for performance, accessibility, SEO, PWA readiness and security, Core Web Vitals, resource analysis and performance budgets. Every tool returns validated structuredContent against an outputSchema.
- run_audit runs a comprehensive Lighthouse audit, and the focused tools return one dimension each: get_performance_score, get_accessibility_score with recommendations, get_seo_analysis, check_pwa_readiness and get_security_audit for HTTPS, CSP and other measures
- get_core_web_vitals reports LCP, INP and CLS, and check_performance_budget tests a site against thresholds you specify
- compare_mobile_desktop runs the audit on both and compares, with throttling, so you see how a page behaves on each
- Optimization opportunities called out directly: get_lcp_opportunities for what is slowing the largest paint, find_unused_javascript to trim bundle size, and analyze_resources across images, JS, CSS and fonts
- Every tool declares an outputSchema and returns validated structuredContent, so a client gets typed data rather than a JSON string to parse
Node.js 22.0.0 or newer and a Chrome/Chromium browser, which Lighthouse manages automatically. Run it as npx @danielsogl/lighthouse-mcp. No account.
One command — npx @danielsogl/lighthouse-mcp@latest
