Playwright-Lighthouse MCP Server
by kbyk004
Verified
# 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 details