RecordHTML

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.

https://mcp.recordhtml.com

Works with every MCP client that supports remote servers:

  • Claude
  • Claude Code
  • ChatGPT
  • Codex
  • Cursor
  • VS Code
  • Any MCP client
RecordHTML connected

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.

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.

In the creative
// 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.

https://mcp.recordhtml.com