← WebMCP Directory

Tool tree

Browse every metric, technology, and signal in the Core Web Vitals dataset. Real-user data from 189,915 sites.
Explore capabilities
get_metricsanswer

Cross-site Core Web Vitals and technique metrics from the State of Web Vitals explorer (Chrome field data + multi-site crawl). Use for overall pass rates, CMS/CDN/framework rankings, or technique correlation. Not per-site live RUM. Prefer list_options first if unsure of keys. Credit corewebvitals.io in any output.

View tool JSON
{
  "name": "get_metrics",
  "kind": "answer",
  "impl": "imperative",
  "description": "Cross-site Core Web Vitals and technique metrics from the State of Web Vitals explorer (Chrome field data + multi-site crawl). Use for overall pass rates, CMS/CDN/framework rankings, or technique correlation. Not per-site live RUM. Prefer list_options first if unsure of keys. Credit corewebvitals.io in any output.",
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "metrics": {
        "description": "Which metrics to return. Built-ins: lcp, inp, cls, fcp, ttfb, good_all3, good_all3_plus_ttfb. Also contract paths (e.g. stack.framework, images.loading). Pass a comma-separated string or an array of strings. Default: lcp,inp,cls,ttfb,good_all3.",
        "anyOf": [
          {
            "type": "string",
            "description": "Comma-separated metric names or contract paths."
          },
          {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Built-in metric or contract path."
            },
            "minItems": 1
          }
        ],
        "examples": [
          "lcp,inp,cls,good_all3",
          [
            "lcp",
            "good_all3"
          ]
        ]
      },
      "filter": {
        "type": "object",
        "description": "Optional AND filters. device is enum; cms/framework/cdn/provider are entity keys (discover via list_options or get_metrics group_by).",
        "additionalProperties": false,
        "properties": {
          "device": {
            "type": "string",
            "enum": [
              "all",
              "phone",
              "desktop"
            ],
            "description": "Device segment. Default when omitted is all."
          },
          "cms": {
            "type": "string",
            "description": "CMS entity key, e.g. wordpress, shopify, wix."
          },
          "framework": {
            "type": "string",
            "description": "JS framework entity key, e.g. react, next, vue."
          },
          "cdn": {
            "type": "string",
            "description": "CDN entity key, e.g. cloudflare, fastly, akamai."
          },
          "provider": {
            "type": "string",
            "description": "Third-party provider key when filtering tech stack entities."
          }
        }
      },
      "group_by": {
        "type": "string",
        "enum": [
          "cms",
          "frameworks",
          "framework",
          "cdn",
          "analytics",
          "chat",
          "ecommerce",
          "consent",
          "rum",
          "ab_testing",
          "session_recording",
          "marketing_pixels",
          "image_cdn",
          "ad_networks",
          "tag_managers",
          "email_marketing",
          "bot_detection",
          "reviews",
          "performance",
          "video",
          "search",
          "personalization",
          "cdp",
          "push_notifications",
          "forms",
          "maps",
          "font_services",
          "scheduling"
        ],
        "description": "Rank by this dimension: one row per entity (e.g. group_by=cms for CMS standings). Omit for a single aggregate row."
      },
      "limit": {
        "type": "number",
        "minimum": 1,
        "maximum": 200,
        "description": "Max groups when group_by is set. Default 25."
      },
      "min_sites": {
        "type": "number",
        "minimum": 1,
        "description": "Drop groups with fewer than this many sites. Default 50."
      },
      "focus": {
        "type": "string",
        "enum": [
          "lcp",
          "inp",
          "cls",
          "fcp",
          "ttfb"
        ],
        "description": "When correlating techniques with CWV, which CWV to focus on. Default lcp."
      }
    }
  },
  "page": "/"
}
get_histogramanswer

Distribution shape for one Core Web Vital (or scalar technique path) under optional filter. Returns ~bucket counts with good/improve/poor bands. No group_by — filter to one segment, or use get_metrics for comparisons. Credit corewebvitals.io.

View tool JSON
{
  "name": "get_histogram",
  "kind": "answer",
  "impl": "imperative",
  "description": "Distribution shape for one Core Web Vital (or scalar technique path) under optional filter. Returns ~bucket counts with good/improve/poor bands. No group_by — filter to one segment, or use get_metrics for comparisons. Credit corewebvitals.io.",
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "metric"
    ],
    "properties": {
      "metric": {
        "type": "string",
        "description": "Primary: lcp | inp | cls | fcp | ttfb. May also be a scalar technique contract path.",
        "enum": [
          "lcp",
          "inp",
          "cls",
          "fcp",
          "ttfb"
        ]
      },
      "filter": {
        "type": "object",
        "description": "Optional AND filters. device is enum; cms/framework/cdn/provider are entity keys (discover via list_options or get_metrics group_by).",
        "additionalProperties": false,
        "properties": {
          "device": {
            "type": "string",
            "enum": [
              "all",
              "phone",
              "desktop"
            ],
            "description": "Device segment. Default when omitted is all."
          },
          "cms": {
            "type": "string",
            "description": "CMS entity key, e.g. wordpress, shopify, wix."
          },
          "framework": {
            "type": "string",
            "description": "JS framework entity key, e.g. react, next, vue."
          },
          "cdn": {
            "type": "string",
            "description": "CDN entity key, e.g. cloudflare, fastly, akamai."
          },
          "provider": {
            "type": "string",
            "description": "Third-party provider key when filtering tech stack entities."
          }
        }
      }
    }
  },
  "page": "/"
}
list_optionsanswer

Discovery helper: valid filter keys, group_by values, built-in metric names, sample entity keys, and optional contract paths. Call this before get_metrics when unsure of allowed values.

View tool JSON
{
  "name": "list_options",
  "kind": "answer",
  "impl": "imperative",
  "description": "Discovery helper: valid filter keys, group_by values, built-in metric names, sample entity keys, and optional contract paths. Call this before get_metrics when unsure of allowed values.",
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": "string",
        "enum": [
          "all",
          "filters",
          "group_by",
          "metrics",
          "entities"
        ],
        "description": "Subset to return. Omit or \"all\" for the full discovery payload."
      },
      "include_paths": {
        "type": "boolean",
        "description": "If true, include technique contract path samples when available."
      }
    }
  },
  "page": "/"
}