项目简介

Lighthouse MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它利用 Google Lighthouse 强大的网站性能分析能力,以标准化的 MCP 协议向大型语言模型 (LLM) 客户端提供网页性能指标。通过此服务器,LLM 可以轻松获取指定 URL 的 Lighthouse 审计报告和性能得分,从而在对话或应用流程中融入网页性能评估的功能。

主要功能点

  • 执行 Lighthouse 审计: 对指定的 URL 运行全面的 Lighthouse 性能审计。
  • 获取性能得分: 提取并返回网页的性能评分。
  • 灵活的审计配置: 支持配置设备模拟 (移动端/桌面端)、网络限速以及选择特定的审计类别(如性能、可访问性、最佳实践等)。
  • 标准 MCP 协议: 使用 JSON-RPC 协议与 MCP 客户端通信,易于集成到各种 LLM 应用中。

安装步骤

你可以选择以下任一方式安装和运行 Lighthouse MCP Server:

方式一: 使用 npx (推荐)

无需安装,直接使用 npx 运行:

npx lighthouse-mcp

方式二: 全局安装

全局安装 lighthouse-mcp 包:

npm install -g lighthouse-mcp

然后直接运行:

lighthouse-mcp

方式三: 本地开发

  1. 克隆仓库到本地
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build
  4. 运行服务器:
    npm start

服务器配置

MCP 客户端配置

要让 MCP 客户端连接到 Lighthouse MCP Server,你需要在客户端的 MCP 服务器配置中添加以下信息。

如果通过 npm 安装 (全局或 npx)

{
  "mcpServers": {
    "lighthouse": {  // 服务器名称,可以自定义
      "command": "npx", // 启动命令,npx 用于运行本地或全局安装的 npm 包
      "args": ["lighthouse-mcp"], // 命令参数,这里指定运行 lighthouse-mcp
      "disabled": false, // 设置为 false 启用该服务器
      "autoApprove": []  // 自动允许的工具列表,默认为空
    }
  }
}

如果使用本地开发版本

{
  "mcpServers": {
    "lighthouse": {  // 服务器名称,可以自定义
      "command": "node", // 启动命令,node 用于运行 Node.js 程序
      "args": ["/absolute/path/to/lighthouse-mcp/build/index.js"], // 命令参数,指向构建后的服务器入口文件
      "disabled": false, // 设置为 false 启用该服务器
      "autoApprove": []  // 自动允许的工具列表,默认为空
    }
  }
}

请将 '/absolute/path/to/lighthouse-mcp' 替换为你的 Lighthouse MCP Server 项目的实际绝对路径。

基本使用方法

  1. 启动 Lighthouse MCP Server(根据上述安装方式选择一种启动命令)。

  2. 配置你的 MCP 客户端,添加上述服务器配置信息。

  3. 在 LLM 应用中,你可以指示 LLM 使用 'run_audit' 或 'get_performance_score' 工具来分析网页性能。例如,你可以向 Claude 这样的 LLM 客户端提问:

    example.com 的性能得分是多少?

    LLM 客户端将会调用 'get_performance_score' 工具,Lighthouse MCP Server 会运行 Lighthouse 分析 'example.com' 并返回性能得分给 LLM。

可用工具 (Tools)

  • run_audit: 运行全面的 Lighthouse 审计并返回详细报告。
    • 参数:
      • 'url' (必选): 要审计的 URL。
      • 'categories' (可选): 审计类别数组,默认为全部类别。 可选值: "performance", "accessibility", "best-practices", "seo", "pwa"。
      • 'device' (可选): 模拟设备类型,默认为 "mobile"。 可选值: "mobile", "desktop"。
      • 'throttling' (可选): 是否启用网络限速,默认为 true。
  • get_performance_score: 仅获取指定 URL 的性能得分。
    • 参数:
      • 'url' (必选): 要审计的 URL。
      • 'device' (可选): 模拟设备类型,默认为 "mobile"。 可选值: "mobile", "desktop"。

信息

分类

开发者工具