
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
@mcpware/pagecast
Advanced tools
Record any browser page as GIF or video via MCP — powered by Playwright + ffmpeg
Record any browser page as GIF or video via MCP — powered by Playwright + ffmpeg.
AI assistants can record browser sessions, perform interactions (scroll, click, hover), and export optimized GIFs or video — perfect for demo content, documentation, and recording automated workflows.

Creating demo GIFs and recording browser sessions is manual and tedious:
Pagecast lets AI assistants do this programmatically. Record what the browser does, export as GIF or video.
AI Assistant → MCP tools → Playwright (browser + video recording)
↓
.webm video file
↓
ffmpeg two-pass palette → optimized .gif
record_page opens a URL in Chromium with video recording enabledinteract_page scrolls, clicks, hovers — all captured in the recordingstop_recording saves the .webm fileconvert_to_gif creates an optimized GIF using ffmpeg's two-pass palette method| Tool | Description |
|---|---|
record_page | Open URL and start recording. Returns session ID |
interact_page | Perform actions during recording (scroll, click, hover, wait, navigate) |
stop_recording | Stop recording and save .webm file |
convert_to_gif | Convert .webm to optimized GIF (two-pass palette, trim blank frames) |
record_and_gif | All-in-one: record URL for N seconds → GIF |
list_recordings | List all recordings in output directory |
sudo apt install ffmpeg / brew install ffmpeg)claude mcp add pagecast -- npx -y @mcpware/pagecast
npx @mcpware/pagecast
claude mcp add pagecast -- npx -y @mcpware/pagecast --headless
By default, Pagecast opens a visible browser window so you can see what's being recorded. Use --headless for background recording.
npx playwright install chromium
| Use Case | Duration | Output | Example Prompt |
|---|---|---|---|
| Demo GIF for README | 5-15s | GIF | "Record my app, click through the main features, make a GIF" |
| Record automation session | 1-5min | WebM/MP4 | "Log into the dashboard, toggle settings, record the whole thing" |
| QA / test evidence | 30s-2min | MP4 | "Run through the checkout flow and record it as evidence" |
| Record form submission | 15-60s | GIF or MP4 | "Fill out the signup form with test data and record the process" |
| Document a bug | 10-30s | GIF | "Go to the settings page, click export — record what happens" |
| Onboarding walkthrough | 1-3min | WebM | "Walk through the first-time user flow and record a video" |
Ask your AI assistant:
"Record https://myapp.localhost:3000 for 5 seconds and make a GIF"
The assistant calls record_and_gif → outputs recordings/recording-{id}.gif
"Record my app at localhost:3000. Scroll down slowly, hover over the navbar, then stop and make a GIF"
record_page → starts recordinginteract_page → scrolls, hovers (all captured on video)stop_recording → saves .webmconvert_to_gif → optimized GIF for README"Log into the dashboard, navigate to settings, toggle dark mode, and record the whole thing"
record_page → opens the page and starts recordinginteract_page → clicks through the UI (multiple action sequences)stop_recording → saves the full session as .webmconvert_to_gif for a short clip"Go to the payments page, try submitting an empty form, and record what error messages appear"
record_page → starts recordinginteract_page → navigates, clicks submit, waits for errorsstop_recording → saves as evidence .webm| Approach | Automated? | Interactions? | Output | AI-driven? |
|---|---|---|---|---|
| Pagecast | ✅ | ✅ scroll/click/hover | GIF + WebM | ✅ |
| gifcap.dev | ❌ manual | ❌ manual | GIF | ❌ |
| Peek / ScreenToGif / Kap | ❌ manual | ❌ manual | GIF | ❌ |
| Playwright MCP (official) | ✅ | ✅ | Screenshot only | Partial |
| playwright-record-mcp | ✅ | ✅ | WebM only | Partial |
| VHS (Charmbracelet) | ✅ | Terminal only | GIF | ❌ |
Uses ffmpeg's two-pass palette method for optimal quality:
palettegen=stats_mode=diff)paletteuse=dither=bayer)This produces dramatically better quality than single-pass encoding at similar file sizes.
| Environment Variable | Default | Description |
|---|---|---|
RECORDING_OUTPUT_DIR | ./recordings | Where to save recordings |
| CLI Flag | Default | Description |
|---|---|---|
--headless | off (headed) | Run browser without visible window |
| Setting | Default | Notes |
|---|---|---|
| FPS | 10 | Higher = smoother but larger |
| Width | 640px | Height auto-scaled. Half of 1280px viewport |
| Video viewport | 1280×720 | Full HD recording, downscaled for GIF |
src/
├── index.js # MCP server — 6 tool definitions, stdio transport
├── recorder.js # Playwright browser lifecycle + session management
└── converter.js # ffmpeg two-pass GIF conversion
Key design decisions:
--headless for background recordingrecord_page call, keeping MCP server startup fastexecFile not exec — No shell interpretation of filenames for safetyMIT
FAQs
Record any browser page as GIF or video via MCP — powered by Playwright + ffmpeg
The npm package @mcpware/pagecast receives a total of 122 weekly downloads. As such, @mcpware/pagecast popularity was classified as not popular.
We found that @mcpware/pagecast demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.