PageSpeed Insights MCP vs Pagespeed Insights MCP
A side-by-side look at the PageSpeed Insights MCP and Pagespeed Insights MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose PageSpeed Insights MCP for developer tools work; choose Pagespeed Insights MCP for developer tools as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose PageSpeed Insights MCP when
- You need dedicated capabilities in the Developer Tools domain.
- You want tools like
report, check_pagespeed, diagnose_page.
Choose Pagespeed Insights MCP when
- You need dedicated capabilities in the Developer Tools domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
GOOGLE_API_KEY. - You want tools like
pagespeed_analyze_page, pagespeed_diagnose_page, pagespeed_get_field_data.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 45/100 · Fair | 68/100 · Great |
| Install command | Not confirmed yet | Confirmed |
| Transport | — | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | None listed | GOOGLE_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 76 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 8 | 6 |
| Full listing | View PageSpeed Insights MCP | View Pagespeed Insights MCP |
Tools & capabilities
PageSpeed Insights MCP tools 8
reportEverything in one call, and the one most people want. Scores with their spread, real-user data if Google has any, and what is failing ranked by what fixing it is worth. Returns a self-contained HTML page as well, to save or forward. Comes back as a job id.check_pagespeedScores only. Median of N distinct analyses with the spread. `urls`, `strategy` (mobile, desktop or both), `runs` (1-10, default 5). Anything past a single analysis comes back as a job id.diagnose_pageWhat is failing, ranked. Only reports a fault that failed in every analysis, because audits are as noisy as scores. Comes back as a job id.field_dataReal-user data from the Chrome UX Report. `urls`, and `history` for the weekly p75 series.explain_lcpWhich of four phases owns a slow Largest Contentful Paint: server response, the wait before the browser starts fetching the largest image, the download, then the wait before it is painted. One call, answers at once.compareDid the change actually help. Measures now and compares against a saved baseline, giving a verdict only where the two ranges do not overlap. Comes back as a job id.check_statusCollects a measurement that was handed back as a job id. Answers immediately, every time. `job_id`, or nothing at all for the most recent one.diagnoseWhether the key works, whether the Chrome UX Report is reachable, and which baselines are held, without disclosing the key.
Pagespeed Insights MCP tools 6
pagespeed_analyze_pageRun a PageSpeed Insights Lighthouse analysis for one public page. Start with report=summary for a health check; choose full for audits, recommendations for a prioritized fix list, audit for non-performance categories, or performance-map for Mermaid. Example: analyze a mobile product page and return the three most useful remediation steps. Returns a report plus structured result. The Google API is contacted and results may be served from the local cache.pagespeed_diagnose_pageInspect one page through exactly one diagnostic lens: visual, elements, network, javascript, images, render-blocking, or third-parties. Use after pagespeed_analyze_page identifies a problem; do not use it for a general score. Example: focus=render-blocking to identify CSS/JS delaying first render. Returns focused evidence rather than a full Lighthouse dump.pagespeed_get_field_dataGet real-user Core Web Vitals from Chrome UX Report, not Lighthouse lab measurements. Use scope=page for one URL; use scope=origin with a bare origin when the page has insufficient traffic. Example: check mobile LCP and INP for https://example.com/checkout. Returns p75 field metrics or a clear no-data result.pagespeed_compare_pagesCompare two pages now (mode=pages) or measure one page against its locally stored baseline (mode=baseline). Baseline mode records the first call; use runs=3 or more and rely on guaranteed deltas, not medians alone. Example: compare staging against production, or verify whether a deployed fix improved mobile LCP. replaceBaseline overwrites local baseline state.pagespeed_analyze_batchAnalyze 1–10 public URLs and return per-page results plus success/failure counts. Use pagespeed_analyze_page for one URL or pagespeed_compare_pages for a direct comparison. Example: triage the ten highest-traffic landing pages. Progress notifications are emitted when supported by the client.pagespeed_clear_cacheClear only this server process's in-memory PageSpeed response cache, forcing later analysis calls to contact Google again. Use after a deploy when a cached result is stale. It does not change the target website, files, or remote data; repeating the call is safe.
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
PageSpeed Insights MCP
No confirmed install command for PageSpeed Insights MCP yet — follow the setup steps linked from its listing page rather than a guessed package name.
Pagespeed Insights MCP
{
"mcpServers": {
"pagespeed-insights-mcp-2": {
"command": "npx",
"args": [
"-y",
"pagespeed-insights-mcp"
],
"env": {
"GOOGLE_API_KEY": "YOUR_GOOGLE_API_KEY_HERE"
}
}
}
}