Back to Browse

Webperf Snippets MCP Server

Developer ToolsLow Risk9.7MCP RegistryLocal
Free

Server data from the Official MCP Registry

Measure Core Web Vitals and debug web performance with 56 snippets in a headless Chromium

About

Measure Core Web Vitals and debug web performance with 56 snippets in a headless Chromium

Security Report

9.7
Low Risk9.7Low Risk

Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

6 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Chrome UX Report API key for the field data of get_crux; the other tools work without itRequired

Environment variable: CRUX_API_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-nucliweb-webperf-snippets": {
      "env": {
        "CRUX_API_KEY": "your-crux-api-key-here"
      },
      "args": [
        "-y",
        "webperf-snippets"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

WebPerf Snippets

Tested JavaScript snippets that measure and debug web performance. Your AI agent runs them for you, or you run them yourself in DevTools: the same code every time.

CI Release Snippets License Star History

WebPerf Snippets

AI agents are good at interpreting performance data and unreliable when they write measurement code on the fly. WebPerf Snippets keeps both apart: the measurement is fixed code, tested in CI, that returns structured data, and the agent reasons about the result. The same snippets run in the console, the CLI, the DevTools extension and the Agent Skills, and every one returns an object that follows a single contract (snippets/SCHEMA.md).

→ Why AI audits need deterministic scripts

Run them with an AI agent

You want toUse
Audit a URL with any agent that has a terminalThe Copy prompt button on each snippet page
Give an agent the snippets as toolsThe MCP server
Let the agent drive your Chrome (login, interactions)The Agent Skills with Chrome DevTools MCP
Run snippets from scripts or CIThe CLI
Give an agent the whole documentationllms.txt (details)

Not sure which snippet to run? Start from the symptom in Which snippet should I use?

Copy prompt

Snippet pages have a Copy prompt button above the code. It copies a prompt that asks any AI agent with a terminal to run that snippet with the CLI on the URL you give it, and to report the value, the cause and the issues. The agent runs the published snippet instead of rewriting it or estimating the result.

MCP server

The CLI includes an MCP server: an agent in any MCP client (Claude Code, Cursor, VS Code, Gemini CLI) calls the snippets and the workflows as tools, on a headless Chromium, and reads the object each one returns. It is listed in the MCP Registry as io.github.nucliweb/webperf-snippets.

claude mcp add webperf -- npx -y webperf-snippets mcp

In Claude Code, the webperf plugin installs the same server:

/plugin install webperf --marketplace nucliweb/webperf-snippets

See the MCP server documentation for other clients, the tools, the resources and prompts, and the CrUX key.

Agent skills

The snippets are packaged as Agent Skills for Claude Code, Cursor, OpenCode, Gemini CLI, VS Code extensions and other compatible agents. With Chrome DevTools MCP, the agent runs the snippets in your browser and reads the object they return.

npx skills add nucliweb/webperf-snippets

This installs the skills from the GitHub repository into ~/.claude/skills/. To install them from a clone instead:

git clone https://github.com/nucliweb/webperf-snippets.git
cd webperf-snippets
npm run install-skills   # into .claude/skills/ of the current project
npm run install-global   # into ~/.claude/skills/, for every project
SkillSnippetsWhat it covers
webperf56Main entry point for all web performance analysis
webperf-core-web-vitals7LCP, CLS, INP measurements with detailed breakdowns
webperf-loading34TTFB, FCP, script and font analysis, resource hints, service workers
webperf-interaction10Long tasks, animation frames, scroll jank, INP debugging
webperf-media4Image and video audits, lazy loading validation, SVG analysis
webperf-resources1Network bandwidth, connection quality, adaptive loading

The skills include workflows (predefined sequences, such as a complete loading audit or a font loading investigation) and decision trees that pick the next snippet from the result of the previous one: when TTFB is above 600 ms, the agent runs TTFB-Sub-Parts to find whether the time goes to DNS, the connection or the server.

User: "Analyze loading performance"

Agent:
1. Runs TTFB.js → 1.9 s (poor)
2. Follows the decision tree → runs TTFB-Sub-Parts.js
3. Finds that the server response takes most of the time
4. Runs Service-Worker-Analysis.js
5. Reports the findings with specific fixes

Skills activate when the request matches them:

Audit this page for Core Web Vitals
Debug slow LCP
Why is my TTFB so high?
Check for image optimization issues

See SKILLS.md for every skill, its workflows and its triggers.

→ Read more about WebPerf Agent Skills

CLI

The CLI runs the same snippets headlessly with Playwright. It diagnoses LCP regressions in CI, gates pull requests on performance budgets and automates the audits you run by hand. The --json output is what an agent or a script reads.

npx webperf-snippets https://example.com --json
npx webperf-snippets https://example.com --snippet LCP-Subparts
npx webperf-snippets https://example.com --workflow audit
npx webperf-snippets https://example.com --budget-lcp 2500 --budget-cls 0.1

The core-web-vitals, audit, loading and interaction workflows chain several snippets in one run. A composite GitHub Action (nucliweb/webperf-snippets/.github/actions/webperf-snippets) wraps the CLI for CI, with budgets and a Markdown output ready to post as a pull request comment.

The CLI is published to npm as webperf-snippets. See the CLI documentation and cli/README.md for installation, usage and CI integration.

Run them in your browser

Every snippet also runs by hand in the DevTools console, with the same code the agents use. All snippets are tested in Google Chrome; most also work in other Chromium-based browsers and in Firefox, and Safari has limited Performance API support. Each snippet page shows the browser support of the APIs it needs.

Run in the console

  1. Copy any snippet from webperf-snippets.net
  2. Open DevTools (F12 or Cmd+Option+I / Ctrl+Shift+I)
  3. Go to the Console tab
  4. Paste and press Enter

Save as a DevTools snippet

  1. Open DevTools → Sources tab → Snippets panel
  2. Click + New snippet
  3. Name it (e.g., "LCP")
  4. Paste the code
  5. Right-click → Run (or Cmd+Enter / Ctrl+Enter)

DevTools extension (beta)

A DevTools panel runs the snippets on the inspected page without pasting them, shows their results, and audits the page with the checks of the CLI. It installs from a zip while it is in beta.

→ DevTools extension

Video tutorial

https://github.com/nucliweb/webperf-snippets/assets/1307927/2987a2ca-3eef-4b73-8f6b-7b1e06b50040

What you can measure

CategorySnippetsWhat it includes
Core Web Vitals7LCP, CLS and INP, with LCP sub-parts, trail, image entropy and video candidate
Loading34TTFB, FCP, render-blocking resources, resource and priority hints, scripts, fonts, CSS, caching, compression, back/forward cache
Interaction10Long animation frames with script attribution, interactions, input latency, long tasks, layout shifts, forced layout, scroll performance, DOM size
Media4Image and video element audits, oversized images, SVG with embedded bitmaps
Resources1Network bandwidth and connection quality
DevTools Overrides2Fetch and XHR timeline, injected with a local override before the page scripts

Documentation for agents

  • llms.txt: an index of every page, with a short description of each snippet.
  • llms-full.txt: the documentation and the code of every snippet in one file.
  • Every page has a Markdown version at the same URL with .md (for example, /CoreWebVitals/LCP.md).

Contributing

Contributions are welcome. CONTRIBUTING.md explains how to add or change a snippet, its tests and its documentation page.

Resources

Star History

Reviews

No reviews yet

Be the first to review this server!