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
MCP server

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.
All reasons and checks
Needs a VPN

ruslanlap/pagespeed-insights-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/pagespeed-insights-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal 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_KEY required, 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.

Official

The Betterlytics web analytics MCP server: an agent reads traffic, funnels, JavaScript errors and uptime monitor state.

MCP serverExtended access180Repository stars

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

MCP serverExtended access2.2KRepository stars
Official

Humblytics MCP gives an agent live site analytics, funnels and A/B tests plus 12 marketing skills for finding conversion problems.

MCP serverExtended access85Repository stars

An MCP server with SEO data: backlinks, keyword difficulty and traffic estimates from the free Ahrefs tools

MCP serverBroad access193Repository stars
Russian stack

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

PluginExtended access8Repository stars

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.

README badge

Report a problem