State of Web Vitals
Core Web Vitals metrics by CMS, CDN, and framework — free remote MCP, no auth.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"state-of-cwv": {
"url": "https://www.corewebvitals.io/api/state-of-cwv/mcp"
}
}
}Puntos de conexión remotos
https://www.corewebvitals.io/api/state-of-cwv/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (3)
🟢get_metrics(metrics, filter, group_by, focus, limit, ...)
What are the numbers? Aggregate Core Web Vitals and/or technique metrics across sites, with optional filter and group_by. Responses include attribution — credit corewebvitals.io when you use the numbers. Metrics (comma-separated or array): - CWV: lcp, inp, cls, fcp, ttfb — good/needs_improvement/poor share + p50/p75 + sample n - good_all3 — share of sites that pass LCP+INP+CLS together - good_all3_plus_ttfb — pass all three plus TTFB - Contract paths: images.loading, stack.framework, scripts.origin, headers.has_etag, synthetic.tbt_ms, … Filter (optional AND): device, cms, framework, cdn, provider. Omit = all sites in the snapshot. Group_by (optional): cms | frameworks | cdn | analytics | tag_managers | … → one row per entity. Without group_by: one aggregate; set metrics return top categories.
Esquema de entrada
{
"type": "object",
"properties": {
"metrics": {
"description": "Metrics to return. Default: lcp,inp,cls,ttfb,good_all3. String (comma-separated) or array of strings."
},
"filter": {
"type": "object",
"description": "AND filters. Omit for all sites in the dataset. Keys: device (all|phone|desktop), cms, framework, cdn, provider (key), provider_category (e.g. analytics — use with provider or alone is not enough; prefer group_by for rankings).",
"properties": {
"device": {
"type": "string",
"enum": [
"all",
"phone",
"desktop"
],
"description": "CrUX device slice. Default: all."
},
"cms": {
"type": "string",
"description": "Only sites on this CMS key (wordpress, shopify, wix, …)."
},
"framework": {
"type": "string",
"description": "Only sites that include this JS framework key (react, vue, jquery, …)."
},
"cdn": {
"type": "string",
"description": "Only sites on this CDN key (cloudflare, origin, …)."
},
"provider": {
"type": "string",
"description": "Only sites that load this third-party provider key (google_analytics_4, …)."
}
},
"additionalProperties": false
},
"group_by": {
"type": "string",
"description": "Break results down by this dimension: cms, frameworks, cdn, or a provider category (analytics, tag_managers, …). Omit for a single aggregate."
},
"focus": {
"type": "string",
"enum": [
"lcp",
"inp",
"cls",
"fcp",
"ttfb"
],
"description": "CWV used when correlating technique metrics. Default: lcp."
},
"limit": {
"type": "integer",
"description": "Max groups or top categories. Default: 25, max: 100."
},
"min_sites": {
"type": "integer",
"description": "When group_by is set, drop groups with fewer sites. Default: 50."
}
}
}🟢get_histogram(metric, filter)
What is the shape of one metric? Returns histogram buckets (count + share) plus summary stats. Metric: one of lcp, inp, cls, fcp, ttfb (field CWV), or a scalar technique path when available. Filter: same as get_metrics (device, cms, framework, cdn, provider). No group_by — call get_metrics with group_by to compare segments, then get_histogram per segment if needed.
Esquema de entrada
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"description": "lcp | inp | cls | fcp | ttfb, or a contract scalar path."
},
"filter": {
"type": "object",
"description": "AND filters. Omit for all sites in the dataset. Keys: device (all|phone|desktop), cms, framework, cdn, provider (key), provider_category (e.g. analytics — use with provider or alone is not enough; prefer group_by for rankings).",
"properties": {
"device": {
"type": "string",
"enum": [
"all",
"phone",
"desktop"
],
"description": "CrUX device slice. Default: all."
},
"cms": {
"type": "string",
"description": "Only sites on this CMS key (wordpress, shopify, wix, …)."
},
"framework": {
"type": "string",
"description": "Only sites that include this JS framework key (react, vue, jquery, …)."
},
"cdn": {
"type": "string",
"description": "Only sites on this CDN key (cloudflare, origin, …)."
},
"provider": {
"type": "string",
"description": "Only sites that load this third-party provider key (google_analytics_4, …)."
}
},
"additionalProperties": false
}
},
"required": [
"metric"
]
}🟢list_options(kind, include_paths)
Discover what you can pass to get_metrics / get_histogram: filter keys, group_by values, built-in metrics, and contract metric paths (optional kind filter). Call this when unsure of a key or path.
Esquema de entrada
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Optional contract kind: scalar, boolean, categorical, set, weighted_set, measures."
},
"include_paths": {
"type": "boolean",
"description": "Include full contract path list. Default true."
}
}
}Comunidad
Evidencia