The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Google CrUX MCP listing page.
English | Русский
A1 Google CrUX MCP brings real-user Core Web Vitals data into an AI app. Check whether a public site or page passes LCP, INP and CLS, compare mobile with desktop, and see how the metrics changed over time.
It reads Google’s Chrome UX Report dataset — field data collected from Chrome users, not a synthetic speed test or a way to change your site.
no_data is a valid result.Start with a read-only question:
Does
https://example.compass Core Web Vitals on mobile?
Connect the server · Explore use cases · Open technical documentation
You: Does
https://example.com/pricingpass Core Web Vitals on mobile?Assistant: Shows p75 LCP, INP and CLS, their good/needs-improvement/poor ratings and the overall result. Nothing changes.
You: Compare this page with the site average and show how mobile differs from desktop.
Assistant: Compares the origin and URL, then device groups and their traffic shares. All six tools read the public CrUX dataset only.
You need Node.js 20+ and a Google Cloud API key with Chrome UX Report API enabled.
In Settings → MCP servers, select Add server, choose STDIO, enter the command npx -y mcp-google-crux@latest and environment variables CRUX_API_KEY, then select Save and Restart.
The current official path is Settings → Extensions. For a custom desktop extension, open Advanced settings → Extension Developer → Install Extension…, select a .mcpb file and follow the prompts.
This repository currently publishes an npm stdio package and does not contain a .mcpb bundle. For Claude Desktop builds that still support local configuration, use the following JSON stdio configuration as a fallback:
{"mcpServers":{"google-crux":{"command":"npx","args":["-y","mcp-google-crux@latest"],"env":{"CRUX_API_KEY":"your_key"}}}}
In those builds, save it to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.
Add {"mcpServers":{"google-crux":{"type":"stdio","command":"npx","args":["-y","mcp-google-crux@latest"],"env":{"CRUX_API_KEY":"your_key"}}}} to ~/.cursor/mcp.json on macOS/Linux or %USERPROFILE%\.cursor\mcp.json on Windows. Cursor MCP documentation
Run MCP: Open User Configuration and add:
Check it with MCP: List Servers. VS Code MCP documentation
CrUX reports a rolling 28-day window, updated daily. Historical data is weekly and updates on Mondays. The key value is p75: 75% of observed visits are at or below it. get_core_web_vitals interprets metric thresholds for you; raw record tools expose full histograms and density fractions.
No data does not mean the site is broken. It means Google has no sufficiently large public Chrome-user sample for that origin, URL or device group. Tablets and individual URLs often have no data.
CRUX_API_KEY.The key is stored in the MCP client configuration and is sent in the API request URL, so treat it as a password.
| Variable | Required | Description |
|---|---|---|
CRUX_API_KEY | Yes | Google Cloud key with Chrome UX Report API enabled. |
CRUX_API_BASE | No | API base URL override. |
CRUX_TIMEOUT_MS | No | Per-request timeout; default 30000 ms. |
CRUX_MAX_RETRIES | No | Retries for 429, 5xx and network failures; default 3. |
429, 5xx and network errors with backoff. Keep compound comparisons in mind when budgeting the 150 queries per minute project quota.ASKADS_TELEMETRY=0 to opt out.Found a bug or need a scenario? Create an issue or write in Telegram.
You made it to the end!