Skip to main content
Glama
Core Web Vitals MCP Server

Core Web Vitals MCP Server

by surendranb

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CRUX_API_KEYNoAlternative Google API Key for CrUX API
DO_NOT_TRACKNoSet to 1 to opt out of telemetry
GOOGLE_API_KEYNoGoogle API Key for Chrome UX Report (CrUX) and PageSpeed Insights APIs
DISABLE_TELEMETRYNoSet to 1 to disable telemetry
MCP_TELEMETRY_OPT_OUTNoSet to 1 to opt out of telemetry
CORE_WEB_VITALS_TELEMETRYNoSet to false to disable telemetry

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_crux_metricsA

Query Google Chrome User Experience Report (CrUX) API for real-user field metrics.

Returns 75th percentile ratings for LCP, INP, CLS, FCP, TTFB, and overall Core Web Vitals assessment.

Args: url: Page URL (e.g. 'https://surendranb.com/blog/article') or root origin ('https://surendranb.com'). form_factor: Device form factor filter ('ALL_FORM_FACTORS', 'PHONE', 'DESKTOP', 'TABLET'). Defaults to ALL_FORM_FACTORS. api_key: Optional Google API Key. If omitted, checks GOOGLE_API_KEY or CRUX_API_KEY environment variables.

get_crux_historyA

Query Google Chrome UX Report History API for 28-day historical field metric trends.

Provides timeseries percentiles for LCP, INP, CLS, FCP, and TTFB across 25+ weekly collection periods.

Args: url_or_origin: Web page URL or origin domain (e.g. 'https://surendranb.com'). form_factor: Optional device filter ('ALL_FORM_FACTORS', 'PHONE', 'DESKTOP', 'TABLET'). api_key: Optional Google API Key. If omitted, checks GOOGLE_API_KEY or CRUX_API_KEY environment variables.

audit_pagespeedB

Run a Google PageSpeed Insights lab audit for synthetic Lighthouse performance scores and diagnostics.

Returns overall performance score (0-100), Speed Index, Total Blocking Time (TBT), Largest Contentful Paint (LCP), and prioritized remediation opportunities.

Args: url: URL of the web page to audit (e.g. 'https://surendranb.com'). strategy: Analysis strategy ('mobile' or 'desktop'). Defaults to 'mobile'. api_key: Optional Google API Key. If omitted, checks GOOGLE_API_KEY or PAGESPEED_API_KEY.

doctorB

Validate Google Cloud API credentials, test endpoint reachability, and check test beds.

Args: api_key: Optional Google API Key to test directly.

skills_listA

List available Core Web Vitals diagnostic and remediation playbooks (LCP, INP, CLS).

skill_readA

Read a specialized Core Web Vitals optimization playbook (e.g. 'lcp-optimization', 'inp-debugging', 'cls-remediation').

Args: name: Name of the skill to read. Call skills_list to view available playbooks.

check_for_updatesC

Check PyPI for the latest version of core-web-vitals-mcp.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 7 tools

Disambiguation4/5

The core analysis tools are clearly separated by data source and shape: lab vs. field (audit_pagespeed vs. get_crux_metrics) and snapshot vs. timeseries (get_crux_metrics vs. get_crux_history). The two CrUX tools share a prefix and domain, which could cause a mild misselection, but descriptions make the distinction explicit. The remaining operational tools (doctor, check_for_updates) are unambiguous.

Naming Consistency3/5

Most tools follow verb_noun (get_crux_history, get_crux_metrics, audit_pagespeed, check_for_updates), but skill_read and skills_list invert to noun_verb and 'doctor' is a bare noun with no action verb. The pattern is readable but not uniform, so an agent cannot reliably predict a name from an intended action.

Tool Count4/5

Seven tools is a well-scoped size for a Core Web Vitals server, and no tool is redundant. Two of the seven (doctor, check_for_updates) serve the package itself rather than CWV analysis, which makes the analytical surface slightly thinner than the count suggests.

Completeness4/5

Coverage spans both major data planes (CrUX field metrics snapshot plus history timeseries) and lab diagnostics, with playbooks for remediation guidance and a credential/connectivity check. Gaps are minor: no batch or multi-URL comparison, no explicit mapping between audit opportunities and the referenced skills, and no export of raw percentile data beyond what the two CrUX tools return.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues