{
  "slug": "io-github-priyankark-lighthouse-mcp",
  "name": "io.github.priyankark/lighthouse-mcp",
  "title": "lighthouse-mcp",
  "description": "MCP server for Google Lighthouse performance metrics",
  "version": "0.1.9",
  "publishedAt": "2025-09-09T10:02:57.08666Z",
  "updatedAt": "2025-09-09T10:02:57.08666Z",
  "repoUrl": "https://github.com/priyankark/lighthouse-mcp",
  "websiteUrl": null,
  "namespace": {
    "type": "github",
    "owner": "priyankark"
  },
  "kind": "local",
  "packages": [
    {
      "registryType": "npm",
      "identifier": "lighthouse-mcp",
      "version": "0.1.9",
      "transport": "stdio",
      "runtimeHint": null
    }
  ],
  "remotes": [],
  "envVars": [],
  "category": "monitoring",
  "subcategory": "observability",
  "company": "",
  "categoryAuto": true,
  "checks": [
    {
      "id": "source-linked",
      "label": "Source repository linked",
      "result": "pass",
      "detail": "https://github.com/priyankark/lighthouse-mcp"
    },
    {
      "id": "version-pinned",
      "label": "Version pinned",
      "result": "pass",
      "detail": "Every package has an explicit version"
    },
    {
      "id": "secrets-requested",
      "label": "Secrets requested",
      "result": "info",
      "detail": "Asks for no secrets"
    },
    {
      "id": "known-registry",
      "label": "Known package registry",
      "result": "pass",
      "detail": "All packages come from npm, PyPI, OCI, NuGet or MCPB"
    },
    {
      "id": "namespace",
      "label": "Namespace ownership",
      "result": "info",
      "detail": "Name verified via GitHub account priyankark"
    },
    {
      "id": "meta-text",
      "label": "Registry text aimed at the AI",
      "result": "pass",
      "detail": "Description and settings contain no hidden characters or instructions to the AI"
    },
    {
      "id": "install-scripts",
      "label": "Install scripts",
      "result": "pass",
      "detail": "lighthouse-mcp@0.1.9 runs nothing at install"
    },
    {
      "id": "code-flags",
      "label": "Code red flags",
      "result": "pass",
      "detail": "Read 4 files in lighthouse-mcp@0.1.9: no obfuscation, encoded execution, credential reads or data-collection endpoints found"
    },
    {
      "id": "ai-text",
      "label": "Text aimed at the AI",
      "result": "pass",
      "detail": "No hidden characters or instructions to the AI in 4 files, including comments and the README"
    }
  ],
  "scannedAt": "2026-10-29",
  "level": "Scanned",
  "install": [
    {
      "label": "Claude Desktop (npm)",
      "kind": "claude_desktop_json",
      "text": "{\n  \"mcpServers\": {\n    \"lighthouse-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"lighthouse-mcp@0.1.9\"\n      ]\n    }\n  }\n}"
    }
  ],
  "curated": true,
  "stars": 214,
  "archived": false,
  "pushedAt": "2026-10-26T18:31:44Z",
  "review": {
    "package": "lighthouse-mcp",
    "version": "0.1.9",
    "at": "2026-10-31",
    "files": 2,
    "lines": 262,
    "verdict": "pass-with-notes",
    "summary": "Lighthouse MCP runs Google Lighthouse speed and quality audits on a web page using a headless Chrome on your computer. It sends nothing to any service except loading the page you ask it to audit, and it returns only scores and timings. It will load any address, including ones on your local network, and can leave a Chrome process running if an audit fails.",
    "hosts": [
      {
        "host": "the URL passed to the tool (any host)",
        "when": "only when run_audit / get_performance_score is called",
        "sends": "a normal headless-Chrome page load from the user's machine (and whatever the page itself requests)"
      }
    ],
    "env": [],
    "local": "Launches a local headless Chrome via chrome-launcher (index.js:114). No direct file reads/writes in this package. The URL comes from tool input unvalidated, so the local browser can be pointed at localhost, LAN or intranet addresses (SSRF-style reach by design for an auditor); only scores/metrics are returned, not page bodies.",
    "exec": "Spawns the local Chrome binary through chrome-launcher with fixed flags (--headless). No user-controlled command arguments, no shell.",
    "telemetry": "None in package code.",
    "tools": [
      "run_audit",
      "get_performance_score"
    ],
    "toolText": "clean. Short descriptions, no hidden text.",
    "deps": [
      "@modelcontextprotocol/sdk",
      "lighthouse",
      "chrome-launcher"
    ],
    "findings": [
      {
        "severity": "note",
        "at": "build/index.js:7-18,114,138",
        "what": "Any URL string is accepted and loaded in a local Chrome, including http://localhost and internal network addresses. Only Lighthouse scores and metric numbers are returned to the model."
      },
      {
        "severity": "note",
        "at": "build/index.js:138-139,196-207",
        "what": "Chrome is only killed after a successful audit; if Lighthouse throws, the headless Chrome process is left running."
      },
      {
        "severity": "info",
        "at": "build/index.js:23",
        "what": "Reports server version 0.1.0 although the package is 0.1.9; cosmetic."
      },
      {
        "severity": "info",
        "at": "build/index.js:59",
        "what": "Offers the 'pwa' category, which recent Lighthouse versions removed; may error."
      },
      {
        "severity": "info",
        "at": "package.json/pyproject",
        "what": "The manifest file was not in the reviewed tree; dependencies listed are inferred from import statements. None look unusual or typosquatted for the job."
      }
    ]
  },
  "health": {
    "score": 73,
    "parts": {
      "popularity": 0.6120139481639121,
      "activity": 0.8495770429557894,
      "issues": null,
      "security": 1
    },
    "fail": 0,
    "warn": 0,
    "raw": {
      "stars": 215,
      "forks": 21,
      "downloads": 4086,
      "hn": {
        "n": 1,
        "pts": 2,
        "t": [
          [
            "43614830",
            "Show HN: MCP server wrapper for Google Lighthouse",
            2,
            0,
            "2025-04-07"
          ]
        ]
      },
      "issuesOpen": 0,
      "issuesClosed": 4,
      "prsMerged": 17,
      "commits90": 12,
      "release": "2026-10-26T18:33:06Z",
      "pushed": "2026-10-26T18:31:44Z",
      "growth": null,
      "growthDays": null,
      "archived": false
    },
    "at": "2026-10-31T07:42:38.200Z"
  }
}
