MCP server

pixelpact MCP Server: Measure a Built UI Against Its Reference

pixelpact extracts a contract from a reference page and checks your implementation against it, returning one line per drifted property so a coding agent can fix its own UI.

Run
npx -y pixelpact-mcp
View on GitHub

Stars, license and last push from GitHub. Install count as reported by the open skills directory.

The gap pixelpact fills

pixelpact is an MCP server and CLI that measures a UI against its reference. It extracts a contract of rendered sizes, colors, spacing and states, then checks an implementation and returns expected, actual and difference values. A coding agent uses those numbers to fix its own code.

A coding agent writes CSS and reports it is done without ever seeing the page. pixelpact reads the reference page, records what it actually renders as a contract file, and answers an implementation check with one line per property that drifted.

The contract holds sizes, colors, spacing, typography, hover and focus states, animation keyframes and design tokens as plain JSON. It runs on Playwright, reads the rendered DOM, and needs no account or service.

The measure and fix loop

  1. Extract a contract from the reference URL with npx pixelpact extract <url> -o contract.json.
  2. Check the implementation with npx pixelpact check contract.json <url>.
  3. Read the deviation list, which gives the selector, property, expected value, actual value and difference.
  4. Fix the code and run the check again. Exit code 0 means everything is inside tolerance.

Not a visual regression tool

Regression tools such as Percy or Chromatic compare against a snapshot you approved earlier. pixelpact compares against the reference design itself, so it is useful while the page is still being built. The README calls the two complementary.

Who it suits

  • Developers whose coding agent builds UI from a reference page and needs numbers back.
  • Builders starting from a screenshot or a Figma frame. Related: image-to-code, figma-mcp and framelink-figma-mcp.
  • Teams that want a contract committed to the repository and one pull request comment from a GitHub Action.

Skip it if

  • You need a finished page protected over time. The README points to a regression tool for that.
  • You cannot run Node 22.12 or newer with a Playwright browser.

Use it with UiChemy

pixelpact only measures and never generates a page. Figma to WordPress is UiChemy's converter for turning a Figma frame into WordPress pages, and because pixelpact reads the rendered DOM, you can point its check at the converted page URL. Click Get Started on uichemy.com.