Search / io.github.corewebvitals/state-of-cwv
State of Web Vitals
R0· no sign-inCore Web Vitals metrics by CMS, CDN, and framework — free remote MCP, no auth.
v1.0.1 · active · repository · website · descriptor JSON · versions
Search / io.github.corewebvitals/state-of-cwv
R0· no sign-inCore Web Vitals metrics by CMS, CDN, and framework — free remote MCP, no auth.
v1.0.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"state-of-cwv": {
"type": "http",
"url": "https://www.corewebvitals.io/api/state-of-cwv/mcp"
}
}
}claude mcp add --transport http state-of-cwv https://www.corewebvitals.io/api/state-of-cwv/mcp[mcp_servers.state-of-cwv]
url = "https://www.corewebvitals.io/api/state-of-cwv/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"state-of-cwv": {
"type": "remote",
"url": "https://www.corewebvitals.io/api/state-of-cwv/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"state-of-cwv": {
"type": "http",
"url": "https://www.corewebvitals.io/api/state-of-cwv/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=state-of-cwv&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmV3ZWJ2aXRhbHMuaW8vYXBpL3N0YXRlLW9mLWN3di9tY3AifQ%3D%3D"
}{
"servers": {
"state-of-cwv": {
"type": "http",
"url": "https://www.corewebvitals.io/api/state-of-cwv/mcp"
}
}
}{
"mcpServers": {
"state-of-cwv": {
"httpUrl": "https://www.corewebvitals.io/api/state-of-cwv/mcp"
}
}
}extensions:
"state-of-cwv":
enabled: true
name: "state-of-cwv"
type: streamable_http
uri: "https://www.corewebvitals.io/api/state-of-cwv/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations3 of 3 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_metrics (idempotentHint, openWorldHint); get_histogram (idempotentHint, openWorldHint); list_options (idempotentHint, openWorldHint)tools.token_costabout 1,105 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-96d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://www.corewebvitals.io/api/state-of-cwv/mcp streamable-http | none | yes | 100% | 653 ms | 2025-03-26 | 2026-10-20 |
get_histogramread-only | 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. |
get_metricsread-only | 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. |
list_optionsread-only | 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. |
Schemas: list_tools.
{
"name": "io.github.corewebvitals/state-of-cwv",
"title": "State of Web Vitals",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://www.corewebvitals.io/api/state-of-cwv/mcp",
"type": "streamable-http"
}
],
"version": "1.0.1",
"repository": {
"url": "https://github.com/corewebvitals/state-of-cwv-mcp",
"source": "github"
},
"websiteUrl": "https://www.corewebvitals.io/state-of-cwv",
"description": "Core Web Vitals metrics by CMS, CDN, and framework — free remote MCP, no auth."
}