Google CrUX MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CRUX_API_KEY | Yes | Google Cloud API key with the Chrome UX Report API enabled. | |
| CRUX_API_BASE | No | API root override. | https://chromeuxreport.googleapis.com |
| CRUX_TIMEOUT_MS | No | Per-request timeout, ms. | 30000 |
| CRUX_MAX_RETRIES | No | Retries on 429/5xx/network errors. | 3 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_core_web_vitalsA | One-call Core Web Vitals assessment for an origin or URL over the latest 28-day window. Per metric (LCP, INP, CLS + diagnostic FCP and TTFB): p75, rating (good | needs-improvement | poor, web.dev thresholds: LCP ≤2500ms/>4000ms, INP ≤200ms/>500ms, CLS ≤0.10/>0.25) and the good/needs_improvement/poor user-experience densities (~sum 1.0). |
| compare_form_factorsA | Compares real-user performance across device classes for an origin or URL: one aggregated all-devices record plus phone, desktop and tablet records (4 API requests = 4 quota units of the 150/min budget). Per device: p75 + rating per metric; |
| compare_origin_vs_urlA | Compares the site-wide origin record against one specific page (2 API requests): p75 + rating per metric for each, so you can tell whether a page is faster or slower than the site average. Either side can come back {no_data: true} (single pages often lack data; redirecting homepages can lack origin data while pages have it). Default metrics: the three Core Web Vitals. Both |
| get_cwv_trendA | Weekly p75 trend for an origin or URL from the CrUX History API (1 request). Per metric: |
| query_recordA | Returns the latest 28-day rolling CrUX record for an origin or URL (raw API response, updated daily ~04:00 UTC). Per metric: |
| query_history_recordA | Returns the weekly CrUX timeseries for an origin or URL (raw API response, updated Mondays ~04:00 UTC): up to 40 collection periods, each a 28-day rolling window. Per metric: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: processed current assessment (get_core_web_vitals), device comparison (compare_form_factors), origin vs URL comparison (compare_origin_vs_url), historical trend (get_cwv_trend), and raw current/historical API queries (query_record, query_history_record). The processed/raw pairs are explicitly differentiated by use cases, leaving no ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case, with get_ for processed views, compare_ for comparisons, and query_ for raw API access. The naming clearly signals the action and domain, and while 'get_cwv_trend' uses an acronym, it remains consistent with the pattern.
Six tools is a well-scoped count for a specialized CrUX server. Each tool fills a distinct niche—current, historical, comparisons, and raw access—without redundancy or bloat. The count is neither too thin nor excessive for the domain.
The tool set covers the core CrUX workflows comprehensively: single-point assessment, trend analysis, cross-device comparison, origin vs page comparison, and raw data access for custom analysis. There are no obvious dead ends or missing operations for the stated purpose of accessing CrUX data.