@danielsogl/lighthouse-mcp

中文文档
2.0.1发布于 2026/08/16MITTypeScriptES Module构建来源已验证近 30 天下载 9277

A comprehensive Model Context Protocol (MCP) server that provides web performance auditing, accessibility testing, SEO analysis, security assessment, and Core Web Vitals monitoring using Google Lighthouse. Enables LLMs and AI agents to perform detailed we

原始使用文档
文档目录39 节
  1. 🌟 Key Features
  2. 🛠️ Requirements
  3. 🚀 Getting Started
  4. Persistent Chrome Profiles (Login Sessions)
  5. CLI Options
  6. E2E Smoke Test (Profile)
  7. E2E Smoke Test (Attach to Existing Chrome)
  8. Install in VS Code
  9. Install in Cursor
  10. Install in Windsurf
  11. Install in Claude Desktop
  12. 🔧 Available Tools
  13. 🏁 Audit Tools
  14. ⚡ Performance Tools
  15. 🔍 Analysis Tools
  16. 🔒 Security Tools
  17. 💬 Available Prompts
  18. 📊 Analysis Prompts
  19. 📚 Available Resources
  20. 🎯 Strategy Prompts
  21. 🔧 Prompt Parameter Details
  22. 📋 Parameter Details
  23. Common Parameters
  24. Specific Parameters
  25. 💡 Usage Examples
  26. Basic Performance Audit
  27. Core Web Vitals Analysis
  28. Security Assessment
  29. Resource Optimization
  30. Using Reference Resources
  31. Using Prompts for Analysis
  32. 🎯 Use Cases
  33. 🏗️ Architecture
  34. 🧪 Testing
  35. 🤝 Contributing
  36. 📜 License
  37. 🔒 Security
  38. 📞 Support
  39. 🙏 Acknowledgments

Lighthouse MCP Server

NPM Version License: MIT Node Version CI Coverage Sponsor

A Model Context Protocol (MCP) server that provides comprehensive web performance auditing and analysis capabilities using Google Lighthouse. This server enables LLMs and AI agents to perform detailed website performance assessments, accessibility audits, SEO analysis, security checks, and Core Web Vitals monitoring.

Lighthouse MCP server

🌟 Key Features

  • 🚀 Performance Analysis: Complete Lighthouse audits with Core Web Vitals, performance scores, and optimization recommendations
  • ♿ Accessibility Audits: WCAG compliance checking and accessibility score analysis
  • 🔍 SEO Analysis: Search engine optimization audits and best practice recommendations
  • 🔒 Security Assessment: HTTPS, CSP, and security vulnerability scanning
  • 📊 Resource Analysis: JavaScript, CSS, image, and font optimization opportunities
  • 📱 Mobile vs Desktop: Comparative analysis across devices with throttling options
  • ⚡ Core Web Vitals: LCP, INP, CLS monitoring with threshold checking
  • 🎯 Performance Budgets: Custom performance thresholds and budget monitoring
  • 🤖 Agentic Browsing: Lighthouse 13 audits for how well a page serves AI agents (WebMCP tools, agent accessibility tree, llms.txt)
  • 🧩 Structured Output: Every tool declares an outputSchema and returns validated structuredContent, so clients get typed data instead of a JSON string to parse
  • 📚 Reference Resources: Built-in guidelines and best practices for web performance, accessibility, SEO, and security

🛠️ Requirements

  • Node.js 22.0.0 or newer
  • Chrome/Chromium browser (automatically managed by Lighthouse)
  • VS Code, Cursor, Windsurf, Claude Desktop, or any other MCP client

🚀 Getting Started

Install the Lighthouse MCP server with your preferred client using one of the configurations below:

{
  "mcpServers": {
    "lighthouse": {
      "command": "npx",
      "args": ["@danielsogl/lighthouse-mcp@latest"]
    }
  }
}

Persistent Chrome Profiles (Login Sessions)

If you need authenticated sessions, launch with a persistent Chrome profile and run headed:

{
  "mcpServers": {
    "lighthouse": {
      "command": "npx",
      "args": [
        "@danielsogl/lighthouse-mcp@latest",
        "--profile-path",
        "<profile-path>",
        "--no-headless"
      ]
    }
  }
}

You can pass extra Chrome flags with --chrome-flag, for example --chrome-flag=--disable-gpu. If the flag value starts with -- and matches a known option name, prefer --chrome-flag=... to avoid parsing it as a top-level option. Profile mode disables Lighthouse's storage reset so cookies and local storage persist between runs. If --user-data-dir points to a missing directory, it will be created and treated as a fresh profile. Set --profile-path to the Profile Path shown in chrome://version (e.g. .../Default). Note: Chrome's remote debugging requires a non-default user data directory, so reuse a dedicated profile directory instead of the system default. You can also pass --user-data-dir + --profile-directory separately if you prefer. Attaching with --chrome-port alone does not preserve storage; include a profile flag to keep sessions.

CLI Options

Supported runtime flags for the MCP server:

  • --profile-path <path>: use the Profile Path from chrome://version (auto-derives user data dir + profile name)
  • --user-data-dir <path>: reuse a Chrome profile directory for persistent sessions
  • --profile-directory <name>: select a profile within the user data dir
  • --chrome-path <path>: explicit path to the Chrome/Chromium executable (overrides auto-detection; also respects the CHROME_PATH environment variable)
  • --chrome-flag <flag> or --chrome-flag=<flag>: pass through extra Chrome flags (repeatable)
  • --chrome-port <port> or --remote-debugging-port <port>: attach to an existing Chrome instance launched with remote debugging enabled
  • --headless: force headless mode
  • --no-headless: force headed mode

Logging

Lighthouse logs to stderr. The server keeps this at error so it does not flood your MCP client's logs; set LIGHTHOUSE_LOG_LEVEL to silent, info or verbose when debugging (for example when Chrome fails to launch).

LIGHTHOUSE_LOG_LEVEL=verbose npx @danielsogl/lighthouse-mcp@latest

WSL2 / Custom Chrome Path

If the wrong Chrome binary is picked up (e.g. Windows Chrome instead of the Linux binary on WSL2), set the path explicitly:

# Via CLI flag
npx @danielsogl/lighthouse-mcp@latest --chrome-path /usr/bin/google-chrome

# Via environment variable
CHROME_PATH=/usr/bin/google-chrome npx @danielsogl/lighthouse-mcp@latest

In your MCP config:

{
  "mcpServers": {
    "lighthouse": {
      "command": "npx",
      "args": ["@danielsogl/lighthouse-mcp@latest", "--chrome-path", "/usr/bin/google-chrome"]
    }
  }
}

E2E Smoke Test (Profile)

Run a real audit with a persistent profile (use an existing profile directory and log in once if needed):

npm run smoke:profile -- --url https://example.com \
  --profile-path "<profile-path>" \
  --no-headless

E2E Smoke Test (Attach to Existing Chrome)

Start Chrome with remote debugging enabled:

/path/to/GoogleChromeExecutable \
  --remote-debugging-port=9222 \
  --user-data-dir /path/to/chrome-profile

Replace /path/to/GoogleChromeExecutable with your platform's Chrome/Chromium binary path.

Then attach Lighthouse to that instance:

npm run smoke:profile -- --url https://example.com --chrome-port 9222

To preserve storage when attaching, pass the profile path so Lighthouse keeps cookies/local storage:

npm run smoke:profile -- --url https://example.com \
  --chrome-port 9222 \
  --profile-path "<profile-path>"

Install in VS Code

Install in VS Code

Install in VS Code Insiders

Manual VS Code Installation

You can also install the Lighthouse MCP server using the VS Code CLI:

# For VS Code
code --add-mcp '{"name":"lighthouse","command":"npx","args":["-y","@danielsogl/lighthouse-mcp@latest"]}'

# For VS Code Insiders
code-insiders --add-mcp '{"name":"lighthouse","command":"npx","args":["-y","@danielsogl/lighthouse-mcp@latest"]}'

After installation, the Lighthouse MCP server will be available for use with your GitHub Copilot agent in VS Code.

Install in Cursor

Install MCP Server

Manual Cursor Installation

Go to Cursor Settings → MCP → Add new MCP Server. Name it "lighthouse", use command type with the command npx @danielsogl/lighthouse-mcp@latest:

{
  "mcpServers": {
    "lighthouse": {
      "command": "npx",
      "args": ["@danielsogl/lighthouse-mcp@latest"]
    }
  }
}

Install in Windsurf

Install in Windsurf

Manual Windsurf Installation

Follow the Windsurf MCP documentation. Use the following configuration:

{
  "mcpServers": {
    "lighthouse": {
      "command": "npx",
      "args": ["@danielsogl/lighthouse-mcp@latest"]
    }
  }
}

Install in Claude Desktop

Claude Desktop Installation

Follow the MCP install guide, use the following configuration:

{
  "mcpServers": {
    "lighthouse": {
      "command": "npx",
      "args": ["@danielsogl/lighthouse-mcp@latest"]
    }
  }
}

🔧 Available Tools

The Lighthouse MCP server provides the following tools for comprehensive web analysis:

🏁 Audit Tools

ToolDescriptionParameters
run_auditRun a comprehensive Lighthouse auditurl, categories?, device?, throttling?
get_accessibility_scoreGet accessibility score and recommendationsurl, device?, includeDetails?
get_seo_analysisGet SEO analysis and recommendationsurl, device?, includeDetails?

⚡ Performance Tools

ToolDescriptionParameters
get_performance_scoreGet overall performance scoreurl, device?
get_core_web_vitalsGet Core Web Vitals metricsurl, device?, includeDetails?, threshold?
compare_mobile_desktopCompare performance across devicesurl, categories?, throttling?, includeDetails?
check_performance_budgetCheck against performance budgetsurl, device?, budget
get_lcp_opportunitiesFind LCP optimization opportunitiesurl, device?, includeDetails?, threshold?

🔍 Analysis Tools

ToolDescriptionParameters
find_unused_javascriptFind unused JavaScript codeurl, device?, minBytes?, includeSourceMaps?
analyze_resourcesAnalyze all website resourcesurl, device?, resourceTypes?, minSize?

🔒 Security Tools

ToolDescriptionParameters
get_security_auditPerform comprehensive security auditurl, device?, checks?

💬 Available Prompts

The Lighthouse MCP server includes reusable prompts that help LLMs provide structured analysis and recommendations:

📊 Analysis Prompts

PromptDescriptionParameters
analyze-audit-resultsAnalyze Lighthouse audit resultsauditResults, focusArea?
compare-auditsCompare before/after audit resultsbeforeAudit, afterAudit, changesImplemented?
optimize-core-web-vitalsGet Core Web Vitals optimization recommendationscoreWebVitals, framework?, constraints?
optimize-resourcesGet resource optimization recommendationsresourceAnalysis, loadingStrategy?, criticalUserJourneys?

📚 Available Resources

The Lighthouse MCP server provides built-in reference resources with essential guidelines and best practices:

ResourceDescriptionURI
core-web-vitals-thresholdsCore Web Vitals performance thresholdslighthouse://performance/core-web-vitals-thresholds
optimization-techniquesPerformance optimization techniques and impactlighthouse://performance/optimization-techniques
wcag-guidelinesWCAG 2.1 accessibility guidelines and issueslighthouse://accessibility/wcag-guidelines
seo-best-practicesSEO best practices and optimization opportunitieslighthouse://seo/best-practices
security-best-practicesWeb security best practices and vulnerabilitieslighthouse://security/best-practices
budget-guidelinesPerformance budget recommendations by site typelighthouse://performance/budget-guidelines
categories-scoringLighthouse audit categories and scoring methodslighthouse://audits/categories-scoring
framework-guidesFramework-specific optimization guideslighthouse://frameworks/optimization-guides

🎯 Strategy Prompts

PromptDescriptionParameters
create-performance-planGenerate comprehensive performance improvement plancurrentMetrics, targetGoals?, timeframe?
create-performance-budgetCreate custom performance budget recommendationscurrentMetrics, businessGoals?, userBase?
seo-recommendationsGenerate SEO improvement recommendationsseoAudit, websiteType?, targetAudience?
accessibility-guideCreate accessibility improvement guideaccessibilityAudit, complianceLevel?, userGroups?

🔧 Prompt Parameter Details

  • auditResults: JSON audit results from Lighthouse tools
  • focusArea: Specific category to focus on ("performance", "accessibility", "seo", "best-practices", "agentic-browsing")
  • beforeAudit / afterAudit: Lighthouse audit results before and after changes
  • changesImplemented: Description of changes made between audits
  • currentMetrics: Current performance metrics from audits
  • targetGoals: Specific performance targets or business goals
  • timeframe: Timeline for implementing improvements
  • framework: Frontend framework or technology stack
  • constraints: Technical or business constraints
  • websiteType: Type of website (e.g., e-commerce, blog, corporate)
  • targetAudience: Target audience or market information
  • complianceLevel: WCAG compliance level ("AA" or "AAA")
  • userGroups: Specific user groups to consider for accessibility

📋 Parameter Details

Common Parameters

  • url (required): The website URL to analyze
  • device: Target device ("desktop" or "mobile", default: "desktop")
  • includeDetails: Include detailed audit information (default: false)
  • throttling: Enable network/CPU throttling (default: false)

Specific Parameters

  • categories: Lighthouse categories to audit (["performance", "accessibility", "best-practices", "seo", "agentic-browsing"])
  • threshold: Custom thresholds for metrics (e.g., {"lcp": 2.5, "inp": 200, "cls": 0.1})
  • budget: Performance budget limits (e.g., {"performanceScore": 90, "largestContentfulPaint": 2500})
  • resourceTypes: Resource types to analyze (["images", "javascript", "css", "fonts", "other"])
  • minBytes: Minimum file size threshold for analysis (default: 2048)
  • checks: Security checks to perform (["https", "csp", "hsts", "origin-isolation", "clickjacking", "trusted-types", "third-party-cookies", "deprecations"])

💡 Usage Examples

Basic Performance Audit

// Get overall performance score
{
  "tool": "get_performance_score",
  "arguments": {
    "url": "https://example.com",
    "device": "mobile"
  }
}

Core Web Vitals Analysis

// Check Core Web Vitals with custom thresholds
{
  "tool": "get_core_web_vitals",
  "arguments": {
    "url": "https://example.com",
    "device": "mobile",
    "includeDetails": true,
    "threshold": {
      "lcp": 2.5,
      "inp": 200,
      "cls": 0.1
    }
  }
}

Security Assessment

// Comprehensive security audit
{
  "tool": "get_security_audit",
  "arguments": {
    "url": "https://example.com",
    "checks": ["https", "csp", "hsts"]
  }
}

Resource Optimization

// Find optimization opportunities
{
  "tool": "analyze_resources",
  "arguments": {
    "url": "https://example.com",
    "resourceTypes": ["images", "javascript"],
    "minSize": 1024
  }
}

Using Reference Resources

Access built-in guidelines and best practices:

// Get Core Web Vitals thresholds
{
  "resource": {
    "uri": "lighthouse://performance/core-web-vitals-thresholds"
  }
}

// Access WCAG accessibility guidelines
{
  "resource": {
    "uri": "lighthouse://accessibility/wcag-guidelines"
  }
}

// Get framework-specific optimization guides
{
  "resource": {
    "uri": "lighthouse://frameworks/optimization-guides"
  }
}

Using Prompts for Analysis

// Analyze audit results with focused recommendations
{
  "prompt": "analyze-audit-results",
  "arguments": {
    "auditResults": "{...lighthouse audit json...}",
    "focusArea": "performance"
  }
}

// Create a performance improvement plan
{
  "prompt": "create-performance-plan",
  "arguments": {
    "currentMetrics": "{...current performance metrics...}",
    "targetGoals": "Achieve 90+ performance score and sub-2s LCP",
    "timeframe": "3 months"
  }
}

// Compare before/after audit results
{
  "prompt": "compare-audits",
  "arguments": {
    "beforeAudit": "{...before audit results...}",
    "afterAudit": "{...after audit results...}",
    "changesImplemented": "Implemented lazy loading and image optimization"
  }
}

🎯 Use Cases

  • Performance Monitoring: Automated performance tracking and Core Web Vitals monitoring
  • Accessibility Compliance: WCAG 2.1 compliance checking and remediation guidance
  • SEO Optimization: Technical SEO audits and search engine optimization recommendations
  • Security Assessment: Vulnerability scanning and security best practice validation
  • Resource Optimization: Bundle analysis and optimization opportunity identification
  • Performance Budgets: Automated performance budget monitoring and alerting
  • CI/CD Integration: Automated quality gates and performance regression detection

🏗️ Architecture

The server is built using:

🧪 Testing

npm run test:run      # unit tests
npm run test:coverage # unit tests with coverage
npm run test:e2e      # end-to-end tests

The end-to-end suite builds the server, launches it over stdio with a real MCP client, and runs actual Lighthouse audits against a fixture page served on loopback. It requires Chrome to be installed; set CHROME_PATH if it lives somewhere non-standard.

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide for details on:

  • Code style and standards
  • Testing requirements
  • Pull request process
  • Development setup

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔒 Security

For security issues, please see our Security Policy.

📞 Support

🙏 Acknowledgments

  • Google Lighthouse team for the excellent auditing engine
  • Anthropic for the Model Context Protocol specification
  • The open source community for continuous inspiration and contributions

Built with ❤️ by Daniel Sogl

版本与发布记录

@danielsogl/lighthouse-mcp 共发布 28 个版本,首次发布于 2025/06/01;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.1latest2026/08/162 个月前
2.0.02026/08/162 个月前
1.3.02025/12/2810 个月前
1.2.212025/12/0511 个月前
1.2.202025/10/131.1 年前
1.2.192025/10/061.1 年前

关于 @danielsogl/lighthouse-mcp 的常见问题

@danielsogl/lighthouse-mcp 是什么?

A comprehensive Model Context Protocol (MCP) server that provides web performance auditing, accessibility testing, SEO analysis, security assessment, and Core Web Vitals monitoring using Google Lighthouse. Enables LLMs and AI agents to perform detailed we

如何安装 @danielsogl/lighthouse-mcp?

在项目目录运行 npm install @danielsogl/lighthouse-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 lighthouse-mcp-server,可以用 npx lighthouse-mcp-server 直接运行。

@danielsogl/lighthouse-mcp 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@danielsogl/lighthouse-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@danielsogl/lighthouse-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@danielsogl/lighthouse-mcp 可以商用吗?

@danielsogl/lighthouse-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@danielsogl/lighthouse-mcp 的下载量有多少?

根据 npm 官方下载统计,@danielsogl/lighthouse-mcp 在 2026/10/12 – 2026/11/10 这 30 天内被下载 9,277 次,日均约 309 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@danielsogl/lighthouse-mcp 还在维护吗?

最新版本 2.0.1 发布于 2026/08/16(2 个月前);至今共发布 28 个版本,其中过去 12 个月发布了 4 个;首次发布于 2025/06/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。