LightScout MCP

LightScout MCP

Core Web Vitals analysis powered by Lighthouse. Four tools: analyze a URL, compare two URLs, check against thresholds, or crawl an entire site. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible AI tool.

Category
Visit Server

README

LightScout MCP

npm version license node

Part of the TestScout MCP Suite — AI-powered QA tools for modern development teams.

Core Web Vitals analysis powered by Lighthouse. Runs as an MCP server for AI coding tools (Claude Code, Cursor, Windsurf, etc.) or as a standalone CLI for CI pipelines and terminals. Four tools: analyze a URL, compare two URLs, check against thresholds, or crawl an entire site.

Requirements

  • Node.js >= 18
  • Google Chrome or Chromium

MCP Server Setup

Claude Code

claude mcp add lightscout -- npx -y lightscout-mcp

Cursor, VS Code, Windsurf, Cline, Roo Code, Gemini CLI

All use the same mcpServers JSON format. Add this to the appropriate config file:

{
  "mcpServers": {
    "lightscout": {
      "command": "npx",
      "args": ["-y", "lightscout-mcp"]
    }
  }
}
Client Config file
Cursor ~/.cursor/mcp.json
VS Code (Copilot) .vscode/mcp.json
Windsurf ~/.codeium/windsurf/mcp_config.json
Cline Settings > MCP > Edit Config
Roo Code .roo/mcp.json
Gemini CLI ~/.gemini/settings.json

Zed

Zed uses context_servers instead of mcpServers:

{
  "context_servers": {
    "lightscout": {
      "command": "npx",
      "args": ["-y", "lightscout-mcp"]
    }
  }
}

CLI

Install

npm install -g lightscout-mcp

Try without installing

npx -p lightscout-mcp lightscout analyze https://example.com

Commands

lightscout analyze <url> [--device mobile|desktop] [--categories perf,a11y,seo,best-practices]
lightscout compare <urlA> [urlB] [--device mobile|desktop]
lightscout crawl <url> [--max-pages N] [--device mobile|desktop]
lightscout check <url> [--perf 90] [--lcp 2500] [--fcp 3000] [--cls 0.1] [--tbt 300] [--ttfb 1800]

Examples

Analyze a single page:

lightscout analyze https://example.com
lightscout analyze https://example.com --device desktop --categories performance,accessibility

Compare two URLs, or the same URL on mobile vs desktop:

lightscout compare https://a.com https://b.com
lightscout compare https://example.com                    # mobile vs desktop

Crawl a site and audit discovered pages:

lightscout crawl https://example.com --max-pages 5

CI quality gate (exits 1 on failure):

lightscout check https://example.com --perf 90 --lcp 2500

Tools

analyze_performance

Run Lighthouse on a URL. Returns performance scores, Core Web Vitals (LCP, FCP, CLS, TBT, SI, TTFB) with good/needs-improvement/poor ratings, top recommendations sorted by impact, and diagnostics.

Parameter Type Required Description
url string yes URL to analyze
device "mobile" | "desktop" no Device emulation (default: mobile)
categories string[] no Lighthouse categories (default: ["performance"])

compare_performance

Compare Core Web Vitals between two URLs, or the same URL on mobile vs desktop. Shows per-metric deltas with winner indicators.

Parameter Type Required Description
urlA string yes First URL
urlB string no Second URL. If omitted, compares urlA mobile vs desktop
device "mobile" | "desktop" no Device emulation when comparing two URLs (default: mobile)

check_threshold

Pass/fail check against performance thresholds. Useful for CI quality gates.

Parameter Type Required Description
url string yes URL to check
device "mobile" | "desktop" no Device emulation (default: mobile)
thresholds object no Custom thresholds (see defaults below)

Default thresholds use Google's "poor" boundary -- only fails if metrics are genuinely bad:

Metric Default (fail if worse)
performance < 50
LCP > 4000ms
FCP > 3000ms
CLS > 0.25
TBT > 600ms
TTFB > 1800ms

crawl_site

Discover pages on a site (via sitemap.xml or link crawling) and run Lighthouse on each. Returns per-page results plus site-wide summary with avg/min/max scores and common issues.

Parameter Type Required Description
url string yes Site URL or homepage to crawl
device "mobile" | "desktop" no Device emulation (default: mobile)
maxPages number no Maximum pages to analyze (default: 20, max: 20)

Pages are discovered via sitemap.xml first, falling back to link crawling. Up to 3 Lighthouse runs execute in parallel.

CWV Rating Thresholds

Metric Good Needs Improvement Poor
LCP <= 2500ms 2500-4000ms > 4000ms
FCP <= 1800ms 1800-3000ms > 3000ms
CLS <= 0.1 0.1-0.25 > 0.25
TBT <= 200ms 200-600ms > 600ms
SI <= 3400ms 3400-5800ms > 5800ms
TTFB <= 800ms 800-1800ms > 1800ms

Notes

  • TBT (Total Blocking Time) is used instead of INP/FID because Lighthouse runs lab-only tests with no real user interaction.
  • Up to 3 concurrent Lighthouse runs (semaphore-controlled).
  • Chrome is launched headless and killed after each audit.
  • MCP responses are token-optimized with condensed metrics and compact JSON.

TestScout MCP Suite

LightScout is the first tool in the TestScout MCP Suite. More tools are coming:

Tool Description Status
lightscout-mcp Core Web Vitals & Lighthouse analysis Available
testscout-diagnose Error triage & root cause analysis Coming soon
testscout-scrape Structured data extraction for testing Coming soon
testscout-plan AI test plan & code generation Coming soon
testscout-load Load test generation & analysis Coming soon
testscout-maintain Self-healing test maintenance Coming soon

Follow development at testscout.dev.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured