This plugin adds a small MCP tool that opens a web address in Chromium (via Playwright) and saves a short video (WebM, about 1–10 seconds) of what happens on the page. That helps an AI (or you) judge motion: scrolling, CSS animations, marquees, and transitions—things a single screenshot cannot show.
It also includes a Skill so Cursor’s agent knows when to call the tool and how to use the resulting file.
The MCP tool can record:
- The whole browser window (default)—like a normal screen recording of the page at a chosen size.
- A rectangular area you describe with page coordinates (
x,y,width,heightfrom the top of the document)—useful when you only care about one band or column. - One HTML element you point to with a CSS selector (for example a chart, hero, or component)—the video is cropped to that element (plus a little padding).
The Skill explains focusMode (viewport, region, element) for the AI.
-
Node.js (LTS is fine)—https://nodejs.org
-
Playwright’s Chromium browser (one-time download, not the same as “having Chrome installed”):
Open a terminal, go to the
serverfolder inside this plugin, then run:npx playwright install chromium
You only need to do this again if you reinstall the plugin on a new machine or delete Playwright’s browser cache.
Cursor loads local plugins from a folder under your user profile.
-
Copy this whole plugin folder or create a shortcut/symlink so it appears under:
- Windows (typical):
C:\Users\<YourName>\.cursor\plugins\local\browser-motion-proof\ - macOS/Linux (typical):
~/.cursor/plugins/local/browser-motion-proof/
The inner folder name can be anything; what matters is that
plugin.jsonlives at.cursor-plugin/plugin.jsoninside that folder (this repo is already laid out that way). - Windows (typical):
-
Build the server once (so the
distfolder exists):cd server npm install npm run build -
Restart Cursor or reload the window so it picks up the plugin.
-
In Cursor, check Settings → Features → MCP (or your MCP list). You should see the server from this plugin’s
mcp.json.
Some setups resolve paths differently. In that case you can publish the server to npm and point mcp.json at npx instead of a local node path—see “Advanced: npx fallback” below.
- Put this project in a public GitHub repository.
- Open https://cursor.com/marketplace/publish and submit your repo link.
- Cursor reviews plugins manually; follow their checklist (manifest, README, etc.).
repository and homepage in .cursor-plugin/plugin.json point at https://github.com/dusa89/cursor-browser-motion-plugin — change them if you fork or rename the repo.
The tool opens whatever URL you give it in a real browser. Use it for trusted sites and your own local dev servers (http://localhost…). Do not point it at unknown or malicious pages.
.cursor-plugin/plugin.json— plugin manifestmcp.json— registers the MCP serverskills/browser-motion-proof/— agent skillserver/— TypeScript MCP server (build withnpm run buildinserver/)
If you publish the server package to npm (for example cursor-browser-motion-mcp), you can replace the local command/args in mcp.json with:
"command": "npx",
"args": ["-y", "your-package-name-on-npm"]That avoids depending on a built dist folder inside the plugin folder. Document the package name in your README after you publish.
MIT — see LICENSE.