Connect Motion Audit to AI assistants such as Cursor, Claude Desktop, Copilot, and Windsurf via the Model Context Protocol.
The Motion Audit MCP (Model Context Protocol) server enables AI coding assistants to evaluate web motion performance, diagnose compositor bottlenecks, inspect CSS pipeline costs, query documentation, and generate automated code remediations directly in your editor.
The server supports both standard STDIO (recommended for desktop clients like Cursor and Claude Desktop) and HTTP transport.
Add the server to your project's .cursor/mcp.json or your global Cursor MCP configuration:
If you prefer using the precompiled bundle:
Add to claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonThe MCP server exposes 7 specialized tools designed for AI model context windows:
audit_motionRuns a headless Chromium audit against a target URL and returns an overall score (0–100), quality tier (S through F), viewport breakdowns, and diagnostic findings.
url (string, required): Webpage URL to evaluate (e.g. http://localhost:3000).desktopOnly (boolean, optional): Audit only the 1440x900 @ DPR 2 viewport.mobileOnly (boolean, optional): Audit only the 390x844 @ DPR 3 viewport.get_remediation_promptAudits a URL and formats a comprehensive, actionable technical refactoring directive specifically designed for AI coding assistants.
url (string, required): Webpage URL to audit.category (string, optional): Filter by issue category (layout-animation, thrashing, scroll, gpu, blur, will-change, offscreen-animation, all).inspect_css_propertyChecks CSS properties against the browser rendering pipeline model (Compositor vs Paint vs Layout). Tells the AI whether a given transition will cause layout reflow or paint invalidation, and suggests compositor-accelerated alternatives (such as transform: translate3d(...) or opacity).
properties (string[], required): List of CSS properties to inspect (e.g. ["top", "left", "width", "transform", "box-shadow"]).generate_badgeGenerates SVG badge markup and Markdown shields reflecting the Motion Audit grade.
tier (string, required): Quality tier (S, A, B, C, D, F).score (number, required): Performance score (0–100).label (string, optional): Badge label (default: motion audit).search_docsSearches Motion Audit documentation by keyword or phrase. Operates local-first in the monorepo with remote fallback to https://motion.soralabs.studio.
query (string, required): Search query.section (string, optional): Filter by documentation section.limit (number, optional): Maximum results (default: 10).get_pageRetrieves full markdown content of any documentation page by slug (e.g. programmatic-api, methodology/cost-model).
slug (string, required): Documentation slug or path.list_sectionsLists the complete documentation hierarchy and section structure.
section (string, optional): Filter by section name.audit_and_fixA guided 4-step workflow prompt that instructs an AI assistant to:
audit_motion against your development server.Tier A or Tier S) is achieved.The server exposes 2 MCP resources:
motion-audit-docs: Complete index and table of contents for Motion Audit documentation.motion-audit-cli-guide: Full technical guide covering CLI flags (--ai, --json, --threshold, --badge), exit codes, and headless container configuration.Once configured, you can prompt your AI assistant directly:
"Audit http://localhost:3000 using motion audit, check the CSS animation properties on our hero banner, and refactor any layout-triggering properties to compositor transforms."
The AI will invoke audit_motion and inspect_css_property, locate the offending source files, apply the minimal patch, and verify the performance improvement.
Programmatic API
Using Motion Audit as a Node.js library or SDK for automated testing and CI/CD pipelines.
Conceptual Analysis
Analysis of publicly documented MotionScore concepts, observable browser rendering dimensions, and SoraLabs research boundaries.
Built by Axyl. A performance auditing toolkit for motion-heavy web interfaces.
Last updated: 10/15/2026
Help keep SoraLabs moving.
Every contribution helps us build and maintain open-source tools for the community.
Sponsor on GitHub