MCP server
Give your AI agent a video recorder
Record HTML5 ads, banners and web pages to MP4, WebM or GIF from a chat. Your assistant writes or finds the creative, records it in a real browser and hands you the video.
Works with every MCP client that supports remote servers:
- Claude
- Claude Code
- ChatGPT
- Codex
- Cursor
- VS Code
- Any MCP client
Make a 300×250 banner for our autumn sale, animate the headline in, and record it as an MP4.
Tool call · record_html
record_html {
"html": "<!doctype html>… trim_start() … trim_end() …",
"width": 300,
"height": 250,
"durationSec": 15
}Here is your banner: 8.4 seconds, from the first frame of the animation to its last, because the page marks both ends. The download link works for an hour, and the recording is saved in your account.
What agents do with it
Build and record a banner in one chat
The assistant writes the HTML, adds trim_start() and trim_end(), and records exactly the animation.
Export every ad size
Ask once for 300×250, 728×90 and 160×600: each size records in a real browser at its own dimensions.
Turn a landing page into a video
Record a public page at any viewport, for a demo, a social post or a product update.
Check an animation
Each recording reports dropped frames, page errors and failed requests, so the agent can fix the page and record again.
A GIF for a README or a pull request
Silent, looping GIFs at a whole-number frame rate, small enough to embed.
DOOH spots at screen specs
Native screen sizes, 29.97 fps and constant-bitrate H.264 for digital out-of-home delivery.
Built for agents, not just wrapped for them
- It waits for the video
- record_html hands back the finished recording, usually within the same call. A long one returns its id to pick up later.
- Retries never record twice
- A model that repeats a call gets the same recording back, not a second one.
- Errors it can fix itself
- Problems come back field by field, such as “height: must be an even number”, so the agent corrects the request and calls again.
- Links for people
- Every result has a download link and the recording’s page in your account, where it stays.
Trim markers the agent adds itself
An agent that writes the creative also marks where the video starts and ends. The recorder defines both functions in every frame, so the clip is exactly the animation, with no loading screen before it and no idle frames after.
// assets loaded, just before the animation starts:
if (typeof trim_start === 'function') trim_start();
// in the animation's completion callback:
if (typeof trim_end === 'function') trim_end();Five tools
- record_htmlRecords a URL or an HTML document to MP4, WebM or GIF and waits for the video.
- get_recordingStatus and a fresh video link; can wait for a recording that is still running.
- estimate_recordingChecks a request against your limits and capacity, without recording.
- list_recordingsYour recordings, newest first, with status and page links.
- delete_recordingDeletes a recording’s video files for good.
Frequently asked questions
- What is an MCP server?
- MCP (Model Context Protocol) is the open standard AI assistants use to call tools. Connect RecordHTML once, and your assistant can record pages and creatives to video whenever you ask.
- Which clients work?
- Any client that supports remote MCP servers over Streamable HTTP with OAuth: Claude on the web and desktop, Claude Code, ChatGPT in developer mode, Codex, Cursor, VS Code and others. Headless agents can use an API key instead.
- Do I need an account or an API key?
- You need an account. When you connect, the client opens a sign-in page; you approve the access and the client gets a token for your account. There is no key to paste.
- MCP or the REST API?
- Use MCP when a person asks an assistant for a video. Use the REST API from your own code or a pipeline. Coding agents with a shell can use either: the API reference is also plain Markdown at /docs/api.md.
- Does it use my limits?
- Yes. Recordings from MCP, the API and the web app share one account: the same limits and the same list of recordings.
- How long do links last?
- The video link in a result is valid for an hour; ask the assistant to get the recording again for a fresh one. The recording’s page in your account keeps working.
- Can it record localhost or a page behind a login?
- No: the recorder runs on our servers, so the page must be public. For a creative it is writing, the assistant can send the HTML itself as one self-contained file, which is published at an unlisted URL and recorded.
Connect RecordHTML to your agent
Add the server URL in your client and sign in. That’s the whole setup.