# Google CrUX MCP
**English** | [Русский](./README.ru.md)
[](https://www.npmjs.com/package/mcp-google-crux)
[](https://glama.ai/mcp/servers/A1-x-Tech/mcp-google-crux)
[](https://github.com/A1-x-Tech/mcp-google-crux/actions/workflows/ci.yml)
[](./LICENSE)
**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.
- **6 read-only tools.** Core Web Vitals assessment, device comparison, origin-versus-page comparison, 40-week trend and raw latest or historical records.
- **Real-user data.** It is the same CrUX field data used by PageSpeed Insights and Google’s Core Web Vitals signals.
- **Clear availability boundary.** Only public origins and URLs with enough real-user traffic have data; `no_data` is a valid result.
- **Known quota cost.** CrUX allows 150 queries per minute per project. Device comparison makes four API calls; origin-versus-page makes two.
Start with a read-only question:
> Does `https://example.com` pass Core Web Vitals on mobile?
[Connect the server](#quick-start) · [Explore use cases](#what-you-can-ask-it-to-do) · [Open technical documentation](#technical-documentation)
---
## See it work in a minute
> **You:** Does `https://example.com/pricing` pass 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.
## Contents
- [Quick start](#quick-start)
- [What you can ask it to do](#what-you-can-ask-it-to-do)
- [How to read CrUX data](#how-to-read-crux-data)
- [Getting access](#getting-access)
- [Configuration](#configuration)
- [Data, limits and background work](#data-limits-and-background-work)
- [Technical documentation](#technical-documentation)
- [Support](#support)
## Quick start
You need Node.js 20+ and a Google Cloud API key with Chrome UX Report API enabled.
1. [Create a restricted API key](#getting-access).
2. Add the server to your AI app.
3. Ask the read-only question above.
Codex
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**.
```bash
codex mcp add google-crux --env CRUX_API_KEY=your_key -- npx -y mcp-google-crux@latest
codex mcp list
```
[Codex MCP documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)
Claude Code
```bash
claude mcp add --env CRUX_API_KEY=your_key --transport stdio --scope user google-crux -- npx -y mcp-google-crux@latest
claude mcp list
```
[Claude Code MCP documentation](https://code.claude.com/docs/en/mcp)
Claude Desktop
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.
[Claude Desktop MCP documentation](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop)
Cursor
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](https://cursor.com/docs/mcp)
VS Code
Run **MCP: Open User Configuration** and add:
```json
{"servers":{"google-crux":{"type":"stdio","command":"npx","args":["-y","mcp-google-crux@latest"],"env":{"CRUX_API_KEY":"${input:crux_api_key}"}}},"inputs":[{"type":"promptString","id":"crux_api_key","description":"Google Cloud API key","password":true}]}
```
Check it with **MCP: List Servers**. [VS Code MCP documentation](https://code.visualstudio.com/docs/agent-customization/mcp-servers)
You made it to the end!