servers / aioproductos-studio

AIOProductOS Studio MCP server

communitystdiolocalwrite capablehealthy

Your AI host becomes a product videographer — scripted app recordings, zooms, captions, MP4/GIF.


01Tools · 13

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
studio_start
Start a recording session: launches a themed headless browser and begins capturing video. Returns the session config and the output directory. One session at a time — studio_finish or studio_cancel ends it. Set theme to the PRODUCT'S brand (bg = its app background — wrong bg causes visible flashes on page loads); use storage_state_path (a Playwright storageState JSON) to record logged-in areas without sharing credentials; list chat widgets / dev overlays / consent banners in hide_selectors so they never appear on tape.
writetrueunknown
studio_goto
Navigate to a URL behind a designed transition card (eyebrow + big title on the theme background) — the viewer never sees a loading flash or half-hydrated page. Use for the opening shot AND every surface change; give each a short title so the cut reads as a chapter. Waits for real content (network settle + optional wait_for selector + skeleton loaders cleared) before lifting the card.
unknownunknownunknown
studio_caption
Show (or replace) the bottom-left storyline caption — an eyebrow kicker plus one sentence that narrates the current beat. This is the film's voiceover in text form: keep it under ~12 words and leave it up 2–4s (studio_hold) so it reads. Pass clear=true to fade it out before a scene change.
readfalseunknown
studio_click
Glide the visible cursor to a target and click it — the move is slow enough to read as deliberate action on camera. Target is a CSS selector, or visible text as a fallback. Fails with 'target not visible' if nothing matches; take a studio_screenshot to see the current frame and pick a better target.
writetrueunknown
studio_type
Glide to an input and type text at a human pace (keystroke by keystroke — it reads as real usage, not a paste). Use realistic demo content; whatever you type is on tape.
unknownunknownunknown
studio_zoom
Camera punch-in: smoothly zoom the page toward a target (CSS selector or visible text) — the money shot for a metric, button, or result. Captions stay screen-fixed; the content scales under them. ALWAYS studio_zoom with reset=true before navigating or showing the end card, or the next scene inherits the zoom.
unknownunknownunknown
studio_scroll
Cubic-eased scroll to a Y position or to a target element — never a jump cut. Use between story beats to bring the next area into frame.
unknownunknownunknown
studio_highlight
Draw an accent ring around a target (CSS selector or visible text), optionally with a label card beside it — the 'look here' callout. Scrolls the target into view first. Returns whether the target was found. Clear highlights (clear=true) before navigating or zooming elsewhere.
readfalseunknown
studio_screenshot
Take a high-DPI (2x) screenshot of the current frame and save it as a PNG in the output directory. Works any time during a session — element-only via selector, or full_page for the whole scroll height. Returns the file path. Clear captions/rings first unless you want them in the shot.
unknownunknownunknown
studio_hold
Hold the shot for a moment — glides to a target (optional) and keeps micro-drift so the recorder keeps emitting frames (a dead-static hold gets its tail frames dropped). Use after captions, highlights, and zooms: 2000–3000ms is a good beat.
unknownunknownunknown
studio_end_card
Show the closing card — a centred glass card over the (still visible) product: title, optional subtitle and URL. The classic outro: what they saw + where to get it. Hold ~2.5s after this, then studio_finish.
readfalseunknown
studio_finish
Stop recording and produce the final files: closes the browser, strips any residual dark frames deterministically (ffmpeg blackdetect → trim → re-encode), transcodes to a share-ready MP4 (H.264, faststart), and optionally a palette-optimized GIF. Returns every produced file with sizes and duration. Without ffmpeg on PATH you still get the raw WebM.
readfalseunknown
studio_cancel
Abandon the current recording session: closes the browser and discards the tape. Nothing is written except screenshots already saved. Safe to call when no session is active (no-op).
unknownunknownunknown

02Install & source
npx -y @aioproductoscom/mcp-studio
npx

03Access granted
Browser automation · write

The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.


05Provenance & freshness
sourcesOfficial MCP Registry [p1]
last_checked2026-07-11 15:32Z
next_check2026-07-12 20:18Z
cadenceevery 29h
verifiedtools_list:passed handshake:passed metadata:passed
index_statusindex9 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. AIOProductOS Studio MCP — as seen on mcpexplorer.com

[![AIOProductOS Studio MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/aioproductos-studio.svg)](https://mcpexplorer.com/servers/aioproductos-studio)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →
AIOProductOS Studio MCP server — MCPExplorer