Lighthouse MCP 是一个用于 Google Lighthouse 性能分析的模型上下文协议(MCP)服务器和命令行工具。它能够提供全面的性能分析,帮助开发者优化网页性能。
# 全局安装
npm install -g lighthouse-mcp
# 或在项目中使用
npm install lighthouse-mcp
# 分析网站
lhmcp https://example.com
# 启动 MCP 服务器
lhmcp --mcp
lhmcp [options]
lhmcp --mcp
选项:
-d, --device 设备类型:mobile(默认)或 desktop
-c, --categories 要测试的类别(逗号分隔)
默认值:performance,accessibility,best-practices,seo
--chains 包含关键链分析
--unused 包含未使用代码分析
--json 输出原始 JSON 数据,而非格式化文本
--mcp 以 MCP 服务器模式启动
-h, --help 显示此帮助信息
# 桌面端分析
lhmcp https://example.com --device desktop
# 包含关键链和未使用代码的全面分析
lhmcp https://example.com --chains --unused
# 导出为 JSON 文件
lhmcp https://example.com --json > report.json
# 仅分析特定类别
lhmcp https://example.com -c performance,seo
import { runLighthouse } from 'lighthouse-mcp';
import { performDeepAnalysis } from 'lighthouse-mcp';
// 运行 Lighthouse 分析
const result = await runLighthouse('https://example.com', {
device: 'mobile',
categories: ['performance', 'accessibility']
});
if (result.isOk()) {
// 执行深度分析
const analysis = performDeepAnalysis(result.value);
console.log('性能得分:', analysis.scoreAnalysis.summary?.performance);
console.log('核心网页指标:', analysis.metrics);
console.log('建议:', analysis.recommendations);
}
MCP 服务器为 AI 模型提供了执行 Lighthouse 分析的工具:
# 启动 MCP 服务器
lhmcp --mcp
工具采用三层架构组织:
l1_collect_single:对单个 URL 执行 Lighthouse 分析。l1_collect_multi:并行分析多个 URL。l1_collect_comparative:收集数据进行比较分析。l2_critical_chain:分析关键请求链。l2_unused_code:检测并量化未使用的 JavaScript 和 CSS。l2_deep_analysis:深度性能指标分析。l2_score_analysis:系统的得分和改进分析。l2_third_party_impact:衡量第三方脚本的影响。l2_progressive_third_party:渐进式第三方阻塞分析。l3_optimization_strategy:优化策略规划(计划中)。l3_business_impact:业务影响评估(计划中)。l3_custom_recommendations:自定义建议(计划中)。# 克隆仓库
git clone https://github.com/yourusername/lighthouse-mcp.git
cd lighthouse-mcp
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 运行测试
pnpm test
# 类型检查
pnpm typecheck
# 代码检查
pnpm lint
# 在开发环境中运行命令行工具
pnpm cli -- https://example.com
lighthouse-mcp/
├── src/
│ ├── analyzers/ # 分析模块
│ │ ├── criticalChain.ts
│ │ ├── unusedCode.ts
│ │ ├── thirdParty.ts
│ │ └── ...
│ ├── core/ # 核心功能
│ │ ├── lighthouse.ts
│ │ ├── browser.ts
│ │ └── config.ts
│ ├── tools/ # MCP 工具(L1/L2/L3 层)
│ │ ├── l1-collect-*.ts # L1: 数据收集
│ │ ├── l2-*.ts # L2: 直接分析
│ │ └── index.ts
│ ├── types/ # TypeScript 类型
│ └── cli.ts # 命令行工具入口
├── test/ # 测试文件
├── CLAUDE.md # 架构指南
└── package.json
🔍 正在分析 https://example.com...
设备:mobile
类别:performance, accessibility, best-practices, seo
✅ 分析在 15.2 秒内完成
# 深度性能分析
**URL:** https://example.com/
**时间戳:** 2025-09-08T12:00:00.000Z
## 性能得分
- **性能:** 95/100
- **可访问性:** 100/100
- **最佳实践:** 100/100
- **SEO:** 100/100
## 核心网页指标
- **LCP:** 1234ms
- **FCP:** 456ms
- **CLS:** 0.001
- **TBT:** 50ms
## 优先级建议
### 🟡 优化图片
**类别:** 性能
**影响:** 可节省 200KB 并缩短加载时间 0.5 秒
| 属性 | 详情 |
|---|---|
| 模型类型 | Lighthouse:Google 用于改进网页的自动化工具 |
| 训练数据 | Puppeteer:无头 Chrome 自动化工具 TypeScript:类型安全的开发语言 Vitest:快速单元测试框架 oxlint:支持类型感知规则的快速代码检查工具 neverthrow:类型安全的错误处理库 MCP SDK:用于 AI 集成的模型上下文协议 |
本项目采用 MIT 许可证。
欢迎贡献代码!请随时提交拉取请求。