lighthouse-mcp
让 AI 编程助手秒变网页性能专家,在对话中直接获取 Lighthouse 审计数据
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 编程助手秒变网页性能专家,在对话中直接获取 Lighthouse 审计数据
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你一定遇到过这样的场景:前端开发者告诉你「这个页面加载很快」,但用户却抱怨「打开要等好几秒」。性能问题从来都是各执一词的口水仗,没有客观数据,再多的讨论也只是徒劳。
Lighthouse MCP Server 正是为解决这一痛点而生。它将 Google Lighthouse(网页性能审计的业界标准工具)封装成 MCP(Model Context Protocol)服务器,让 Claude Desktop、Cline、Cursor、Codex、GitHub Copilot 等主流 AI 编程助手直接调用,在对话中实时获取任意网页的性能指标分数。开发者无需切换工具,无需手动操作 Chrome DevTools,只需在对话中问一句「example.com 的性能评分是多少」,AI 就能自动完成 Lighthouse 审计并返回数据。
图1:Lighthouse MCP Server 工作示意(来源:项目仓库 screenshot.png)
Lighthouse 是 Google 开发的一套网页审计工具,通过 Chrome 内核模拟真实用户访问,测量页面在性能、可访问性、最佳实践、SEO、PWA 五个维度的得分(0-100 分制)。它是前端性能优化的基准工具,Google Chrome 团队维护,DevTools 内置,每年随着 Chrome 更新迭代。
但传统使用 Lighthouse 的方式是:打开 DevTools → 切换到 Lighthouse 面板 → 选择配置 → 点击分析 → 等待结果。这对于偶尔做一次性能测试来说还好,但如果要在开发迭代中持续监控,或者要在代码审查中加入性能门槛,这就成了负担。
2025 年 MCP(Model Context Protocol)生态迅速崛起,AI 编程助手的能力边界不断扩展。开发者开始用 MCP 将各种工具接入 AI——数据库查询工具、API 调用工具、文件处理工具。而 Lighthouse MCP 则是将性能测试这个垂直领域接入了 AI 对话。
项目由独立开发者 priyankark 创建(GitHub: priyankark),首个版本发布于 2025 年 4 月,定位为 AI 编程助手的性能增强工具。
MCP 是 Anthropic 主导的 AI 工具调用协议,定义了一套标准化的「AI 如何调用外部工具」的规范。服务器端注册一组工具(tools),客户端(Claude Desktop 等)看到这些工具后,可以根据用户对话内容决定调用哪个。MCP 传输层支持 stdio(标准输入输出)和 HTTP 两种模式,lighthouse-mcp 使用的是 stdio 模式——进程通过 stdin/stdout 与父进程通信,无需网络端口。
这种设计非常适合本地工具类插件:无需配置端口、无需认证、安全隔离。
源码文件仅两个:src/index.ts(主逻辑,481 行)和 src/types.d.ts(TypeScript 类型声明)。主流程非常清晰:
初始化 MCP Server:使用 @modelcontextprotocol/sdk 的 Server 类和 StdioServerTransport,注册两个工具 run_audit 和 get_performance_score。
SSRF 安全防护:在将用户提供的 URL 传给 Lighthouse 之前,代码先对 URL 做严格校验。系统维护了一个 BLOCKED_IP_RANGES 列表,阻止 RFC 1918 私有地址段(10.x、172.16-31.x、192.168.x)和 AWS/谷歌云元数据地址段(169.254.169.254)。同时对 metadata.google.internal 等云元数据域名做域名黑名单匹配。这意味着即使用户输入 http://169.254.169.254/latest/meta-data/,也会被直接拒绝,防止通过 AI 助手探测云服务器内部信息。
Chrome 无头模式启动:通过 chrome-launcher 库启动 headless Chrome(--headless --no-sandbox),Lighthouse 在此 Chrome 实例上运行审计。代码还处理了 Windows 平台临时目录权限问题(Issue #19):若 os.tmpdir() 不可写,则在用户 HOME 目录创建 .lighthouse-tmp 作为降级方案。
参数化配置:支持五个维度的审计类别(performance/accessibility/best-practices/seo/pwa)、设备模拟(mobile/desktop)和网络节流(throttling)。默认配置为移动设备 + 网络节流(模拟 4G 网络),这是 Lighthouse 的推荐默认设置,也是最严苛的性能场景。
结果格式化:Lighthouse 返回的 JSON 数据量很大(数百个 audit 项),lighthouse-mcp 只提取关键数据:各维度得分(0-1 的小数)和 6 个核心指标(FCP、LCP、TBT、CLS、SI、TTI),输出精简的结构化 JSON,便于 AI 模型理解和处理。
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.0", // MCP 协议 SDK
"lighthouse": "^12.0.0", // Google Lighthouse 核心
"chrome-launcher": "^1.0.0" // Chrome 启动器
}
项目使用 TypeScript 编写,通过 tsc 编译为 CommonJS 输出到 build/index.js。npm 包发布时 files 字段仅包含 build/ 和 README.md,体积控制得当。
场景一:迭代中持续监控性能回归
开发者在代码审查中,可以让 AI 助手对比前后两次提交的性能评分变化。例如:「帮我用 lighthouse-mcp 审计一下这个新功能的页面,对比主分支的评分」。AI 自动运行两次 Lighthouse,提取评分差异,告诉你性能是提升了还是下降了。
场景二:代码审查中加入性能门槛
在 CI/CD 流程中嵌入 lighthouse-mcp 调用,当 AI 审查 PR 时自动检查目标页面的性能评分,若低于阈值则给出警告。这比传统的 Lighthouse CI 设置更轻量,无需独立的 Lighthouse CI 服务。
场景三:竞品分析
产品经理或市场人员想让 AI 助手对比自己网站和竞品网站的性能评分,无需任何技术操作,直接在对话中提供 URL 即可。
Lighthouse MCP 提供了四种安装路径,覆盖从「零配置即用」到「本地开发调试」的全场景:
方式一(MCP Registry,推荐):通过 MCP Registry 安装,项目已在 Model Context Protocol 官方注册表中注册(包名 io.github.priyankark/lighthouse-mcp),Claude Desktop 等 MCP 客户端可以直接发现和安装。
方式二(npx,无需安装):直接运行 npx lighthouse-mcp,无需预先安装,适合临时使用。
方式三(npm 全局安装):npm install -g lighthouse-mcp,安装后全局可用,配置到 MCP 客户端后即可在对话中调用。
方式四(本地开发):克隆源码 → npm install → npm run build → 配置 MCP 客户端指向 build/index.js。适合需要定制或调试的场景。
{
"mcpServers": {
"lighthouse": {
"command": "npx",
"args": ["lighthouse-mcp"]
}
}
}
Chrome 依赖是最大的门槛。项目本身通过 npm 安装极简,但运行时必须依赖 Chrome/Chromium 浏览器。这意味着在无头服务器(纯命令行环境)或 Chrome 未安装的容器中,必须额外安装 Chrome——这一步恰恰是 MCP 工具「开箱即用」理念的反面,增加了环境配置的复杂度。
性能审计速度较慢。一次完整的 Lighthouse 审计(包含五个维度)需要模拟完整的页面加载流程,在移动设备节流模式下通常需要 20-60 秒。这对于需要快速响应的交互场景来说偏慢,不适合作为高频调用的工具。
无持久化和缓存机制。每次调用都是一次全新的 Lighthouse 审计,若对同一 URL 重复审计,没有缓存机制复用之前的结果。对于需要对比「优化前 vs 优化后」的场景,用户需要自行管理历史数据。
Lighthouse MCP 是 MCP 生态工具化的一个缩影——将专业领域的垂直工具(性能审计、安全扫描、代码检查)通过 MCP 协议接入 AI 对话,降低了使用门槛。它代表了一种趋势:AI 编程助手不只是「写代码」,还能「验证代码」——验证的方式从传统的静态分析扩展到了运行时性能测量。
从增长数据看,该项目在 2025 年 4 月上线后,10 个月内获得 183 个 GitHub stars,fork 19 次,2026 年 7 月仍在活跃更新(最后提交 2026-07-17),说明维护状态健康。随着 AI 编程助手生态持续扩大,这类「让 AI 调用专业工具」的项目数量和种类都会增长。