Skip to content

State of Web Vitals

by corewebvitals · remote · no sign-in to list tools · v1.0.1 · published by GitHub user corewebvitals

Core Web Vitals metrics by CMS, CDN, and framework — free remote MCP, no auth.

Read only

3 tools: 3 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http state-of-cwv https://www.corewebvitals.io/api/state-of-cwv/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

3 tools

Only reads 3Claude Code: allow
  • get_histogramWhat is the shape of one metric?No findings

    Why it is in this group

    • The name "get_histogram" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get histogram
    • readOnlyHint: true
    • destructiveHint: false
  • get_metricsWhat are the numbers?No findings

    Why it is in this group

    • The name "get_metrics" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get metrics
    • readOnlyHint: true
    • destructiveHint: false
  • list_optionsDiscover what you can pass to get_metrics / get_histogram: filter keys, group_by values, built-in metrics, and contract metric paths (optional kind filter).No findings

    Why it is in this group

    • The name "list_options" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List options
    • readOnlyHint: true
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http state-of-cwv https://www.corewebvitals.io/api/state-of-cwv/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__state-of-cwv__get_metrics",
      "mcp__state-of-cwv__get_histogram",
      "mcp__state-of-cwv__list_options"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as state-of-cwv. Review it before you use it.