PageSpeed Insights MCP
An MCP server for Google PageSpeed Insights and Chrome UX Report data: page audits, release comparison and a fix plan.
- 80 ★ on the repository
- Last commit
- Apache-2.0
Minimal access
Why this level
- The server reads public URLs through the Google API and changes no files, but the API key sits in the client configuration.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/pagespeed-insights-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The server reads public URLs through the Google API and changes no files, but the API key sits in the client configuration.
This is third-party code. Review the repository files before installing.
What it does
The server gives an agent six tools. `pagespeed_analyze_page` runs Lighthouse on one page and returns a summary, full report, recommendations or a map. `pagespeed_diagnose_page` digs into one topic: elements, network, JavaScript, images, render-blocking resources or third parties. `pagespeed_get_field_data` reads real-user metrics from Chrome UX Report for a page or a whole origin. Also included are `pagespeed_compare_pages` to compare two URLs or a page with its saved baseline, `pagespeed_analyze_batch` to triage up to ten pages and `pagespeed_clear_cache` after a deploy. The ready prompts `performance-audit` and `release-comparison` run a four-step audit and return a GO or NO-GO call before a release.
Who it is for. Web developers and SEO specialists who check site speed straight from Claude Code, Cursor or Codex and turn measurements into tasks.
Good fit when
- Before a release staging is compared with production and the result is GO or NO-GO.
- A page lost LCP and you need to know whether images, third-party scripts or the network are to blame.
- Ten landing pages are checked as a batch and the worst one is picked for fixing.
- Chrome UX Report real-user data is set against a lab measurement.
Not a fit when
- The page sits behind a login or is not reachable from the internet, so Google cannot open it.
- You need a load profile from your own device rather than a Google measurement.
- You work with no Google API key and no network.
Example request
Check the speed of the home page on mobile and show the three heaviest problems with a fix plan.MCP
- Transport
- stdio
- Authentication
- API key
Environment variables
GOOGLE_API_KEYrequired, secret- Google API key for PageSpeed Insights.
Limitations
A free Google API key in `GOOGLE_API_KEY` and Node.js 20.19 or newer are required. Google runs every measurement, so the audited address must be public and URLs are sent to Google. Chrome UX Report data is not available for every page: for low-traffic addresses request origin-wide metrics with `scope: "origin"`. The response cache lives in process memory and is cleared by `pagespeed_clear_cache`. In the Claude Desktop and Codex configuration the `pino-pretty` package is added to `args`, otherwise the log format breaks.
How to disable. Remove the `pagespeed-insights` block from `claude_desktop_config.json` or the Codex configuration and restart the client. Revoke the Google API key in Google Cloud Console if you wish.
FAQ
How do I get a PageSpeed Insights key?
Create a free key in Google Cloud Console following Google instructions for the PageSpeed Insights API v5 and put it in `GOOGLE_API_KEY` in the `env` block.
How do lab and field data differ?
Lab data comes from Lighthouse (`pagespeed_analyze_page`), field data from real users in Chrome UX Report (`pagespeed_get_field_data`). The server does not mix them into one number.
Can I compare two releases?
Yes. `pagespeed_compare_pages` compares two addresses, and the `baseline` mode checks a page against a saved baseline. The `release-comparison` prompt returns a GO or NO-GO call.
How many pages can be checked at once?
`pagespeed_analyze_batch` takes from one to ten pages and reports progress when the client supports it.
Does the server run in Docker?
Yes, the README describes running in Docker as a separate install option. Configurations for Claude Desktop, Codex and Grok Build are given there too.
Discussion
No questions or reviews yet.
Related
MCP serversSearch Console MCP: Google, Bing and GA4 data for agents
Search Console MCP
An MCP server that gives an agent Google Search Console, Bing Webmaster, GA4 and AdSense data with ready SEO checks
The Betterlytics web analytics MCP server: an agent reads traffic, funnels, JavaScript errors and uptime monitor state.
Google Search Console MCP
Google Search Console MCP Server for SEOs
An MCP server for Google Search Console: queries and pages with clicks and positions, URL indexing checks, sitemaps and ready SEO skills
Humblytics MCP gives an agent live site analytics, funnels and A/B tests plus 12 marketing skills for finding conversion problems.
An MCP server with SEO data: backlinks, keyword difficulty and traffic estimates from the free Ahrefs tools
Eight read-only SEO MCP servers
seo-tools-mcp
SERP, Wordstat, GSC, GA4, Yandex Webmaster, Metrika and A-Parser: eight read-only MCP servers with strict JSON and multi-account support for Claude Code
README in short
The README gives a quick start with ready JSON, configurations for Claude Desktop, Codex and Grok Build, six tools, prompts and resources. A separate section maps old tool names to new ones.