lighthouse-mcp
The Lighthouse MCP Server allows you to measure and analyze web page performance using Google's Lighthouse tool.
Run Comprehensive Audits: Perform audits on any URL with options to select specific categories (performance, accessibility, best-practices, SEO, PWA)
Get Performance Scores: Retrieve just the performance score for a specific URL
Customization: Configure device emulation (mobile/desktop) and network throttling settings
Integration: Easily integrate with MCP systems using provided configuration templates
Integrates with Google's Lighthouse tool to provide web performance analysis and auditing capabilities.
Wraps around Google's Lighthouse tool to run comprehensive performance audits on web pages, providing performance scores, metrics, device emulation, network throttling control, and specific audit categories (performance, accessibility, best-practices, seo, pwa).
Enables auditing of Progressive Web App (PWA) metrics as one of the available audit categories when running Lighthouse tests.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lighthouse-mcpaudit https://mywebsite.com for performance and accessibility"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Lighthouse MCP Server
An MCP server that wraps around Google's Lighthouse tool to help measure various performance metrics for web pages.
Features
Run comprehensive Lighthouse audits on any URL
Get performance scores and metrics
Configure device emulation (mobile/desktop)
Control network throttling
Select specific audit categories
Related MCP server: LightScout MCP
Installation
Option 1: From MCP Registry (Recommended)
This server is available in the Model Context Protocol Registry. Install it using your MCP client or Claude Desktop.
Option 2: Using npx
You can run the tool directly using npx without installation:
npx lighthouse-mcpOption 3: Global Installation
Install the package globally from npm:
npm install -g lighthouse-mcpThen run it:
lighthouse-mcpOption 4: Local Development
Clone this repository
Install dependencies:
npm installBuild the project:
npm run buildRun the server:
npm start
MCP Configuration
When installed via npm (global or npx)
Add the following to your MCP settings configuration file:
{
"mcpServers": {
"lighthouse": {
"command": "npx",
"args": ["lighthouse-mcp"],
"disabled": false,
"autoApprove": []
}
}
}When using local development version
Add the following to your MCP settings configuration file:
{
"mcpServers": {
"lighthouse": {
"command": "node",
"args": ["/absolute/path/to/lighthouse-mcp/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}Replace /absolute/path/to/lighthouse-mcp with the actual path to this project.
Available Tools
run_audit
Run a comprehensive Lighthouse audit on a URL.
Parameters:
url(required): The URL to auditcategories(optional): Array of categories to audit (defaults to all)Options: "performance", "accessibility", "best-practices", "seo", "pwa"
device(optional): Device to emulate (defaults to "mobile")Options: "mobile", "desktop"
throttling(optional): Whether to apply network throttling (defaults to true)
Example:
{
"url": "https://example.com",
"categories": ["performance", "accessibility"],
"device": "desktop",
"throttling": false
}get_performance_score
Get just the performance score for a URL.
Parameters:
url(required): The URL to auditdevice(optional): Device to emulate (defaults to "mobile")Options: "mobile", "desktop"
Example:
{
"url": "https://example.com",
"device": "mobile"
}Example Usage
Once the MCP server is configured, you can use it with Claude:
What's the performance score for example.com?Claude will use the get_performance_score tool to analyze the website and return the results.
Requirements
Node.js 16+
Chrome/Chromium browser (for Lighthouse)
Endorsements
Available Tools
2 toolsget_performance_scoreC
Get just the performance score for a URL
| Name | Required | Description | Default |
|---|---|---|---|
| device | No | Device to emulate (defaults to mobile) | |
| url | Yes | URL to audit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It doesn't describe whether this is a read-only operation, what authentication might be required, rate limits, error conditions, or what format the performance score returns. The description only states what the tool does, not how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that directly states the tool's core functionality. There's zero waste or unnecessary elaboration, making it easy to parse and understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'performance score' entails (numeric value, rating scale, composite metric), doesn't mention the sibling tool relationship, and provides no behavioral context. Users need more information to effectively use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already fully documents both parameters (url and device). The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain what 'performance score' means, how it's calculated, or provide context about the device parameter's impact. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('performance score for a URL'), making it immediately understandable. However, it doesn't distinguish this tool from its sibling 'run_audit' - both likely relate to performance analysis but with different outputs or scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus its sibling 'run_audit' or any alternatives. It doesn't mention prerequisites, constraints, or appropriate contexts for usage beyond the basic functionality stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_auditC
Run a Lighthouse audit on a URL
| Name | Required | Description | Default |
|---|---|---|---|
| categories | No | Categories to audit (defaults to all) | |
| device | No | Device to emulate (defaults to mobile) | |
| throttling | No | Whether to apply network throttling (defaults to true) | |
| url | Yes | URL to audit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions running an audit but doesn't cover critical aspects like execution time, resource consumption, rate limits, authentication needs, or what the output entails (e.g., scores, reports). This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundant information. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of running an audit (which can be resource-intensive and produce detailed results), the lack of annotations, and no output schema, the description is insufficient. It doesn't explain what the audit returns (e.g., scores, reports, errors) or address behavioral traits like execution constraints, making it incomplete for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, detailing all four parameters (url, categories, device, throttling) with defaults and options. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline score of 3 without compensating or adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run a Lighthouse audit') and target ('on a URL'), providing a specific verb+resource combination. However, it doesn't differentiate from the sibling tool 'get_performance_score', which might offer overlapping functionality for performance measurement, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_performance_score', nor does it mention any prerequisites or exclusions. It simply states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: get_performance_score retrieves a specific metric, while run_audit executes a full audit. There is no overlap or ambiguity between them.
Both tools follow a consistent verb_noun pattern (get_performance_score, run_audit) with clear, descriptive names that align well with their functions.
With only two tools, the server feels thin for a Lighthouse auditing domain. It lacks essential operations like getting other audit metrics (e.g., accessibility, SEO), running audits with custom configurations, or managing audit history.
The toolset is severely incomplete for Lighthouse functionality. It misses core features such as retrieving full audit reports, accessing other performance categories, configuring audits, or batch processing URLs, leaving significant gaps for agent workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Analyze web performance and get optimization insights from GTmetrix, directly in your AI workflow.
Run SEO + AI-visibility (GEO) audits from Claude, Cursor & other AI clients.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to perform Google Lighthouse website performance analysis, including Core Web Vitals, accessibility, SEO audits, and actionable optimization recommendations. Provides comprehensive web performance insights through natural language interactions.1,3543MIT
- AlicenseAqualityDmaintenanceCore Web Vitals analysis powered by Lighthouse. Four tools: analyze a URL, compare two URLs, check against thresholds, or crawl an entire site. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible AI tool.420MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control and inspect a live Chrome browser for automated web debugging, performance analysis, and Lighthouse audits. It allows agents to capture screenshots, monitor network requests, and measure Core Web Vitals using plain-English prompts.3,288,165Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform comprehensive web performance analysis using Google's PageSpeed Insights API, including metrics, best practices, SEO, and accessibility audits.22MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/priyankark/lighthouse-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server