Playwright-Lighthouse MCP Server
# Playwright-Lighthouse MCP Server
A MCP server that analyzes web site performance using Playwright and Lighthouse. Through the Model Context Protocol (MCP), LLMs can perform web site performance analysis.
## Features
- Performance analysis with Lighthouse
- Screenshot capture
## Setup
### Prerequisites
- Node.js 18 or higher
- npm
### Installation
```bash
# Clone the repository
git clone https://github.com/kbyk004/playwright-lighthouse-mcp.git
cd playwright-lighthouse-mcp
# Install dependencies
npm install
npx playwright install
# Build
npm run build
```
## Usage
### Debugging MCP Server
```bash
npm run inspector
```
### Integration with MCP Clients
This server is designed to be used with clients that support the Model Context Protocol (MCP). For example, it can be integrated with Claude for Desktop.
#### Configuration Example for Claude for Desktop
Add the following to the Claude for Desktop configuration file (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"playwright-lighthouse": {
"command": "node",
"args": [
"/path-to/playwright-lighthouse-mcp/build/index.js"
]
}
}
}
```
## Available Tools
### 1. run-lighthouse
Runs a Lighthouse performance analysis on the currently open page.
Parameters:
- `url`: The URL of the website you want to analyze
- `categories`: Array of categories to analyze (default: ["performance"])
- Available categories: "performance", "accessibility", "best-practices", "seo", "pwa"
- `maxItems`: Maximum number of improvement items to display for each category (default: 3, max: 5)
### 2. take-screenshot
Takes a screenshot of the currently open page.
Parameters:
- `url`: The URL of the website you want to capture
- `fullPage`: If true, captures a screenshot of the entire page (default: false)
## Output Format
The analysis results include:
- Overall scores for each selected category with color indicators
- Key improvement areas grouped by category
- Path to the saved report file
## License
MIT License - see [LICENSE](LICENSE) for detailsTDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one runs a performance analysis (run-lighthouse) and the other captures a visual snapshot (take-screenshot). There is no overlap in functionality, making it easy for an agent to select the correct tool based on the task.
Both tools follow a consistent verb_noun pattern (run-lighthouse, take-screenshot), using hyphenated lowercase names. This predictable naming scheme enhances readability and usability for agents.
With only two tools, the server feels under-scoped for a Playwright-Lighthouse integration, which typically involves more operations like navigation, interaction, or detailed reporting. This limited set may hinder complex workflows that agents might expect from such a domain.
The tool surface is severely incomplete for browser automation and performance testing. Missing are essential operations like opening/closing pages, interacting with elements, running audits with specific configurations, or exporting results, which are core to the domain and could lead to agent failures in broader tasks.