Clipacanvas

io.github.mechreaper007xPublished by GitHub account mechreaper007xv1.0.2Updated Oct 24, 2026

Render HTML, CSS, SVG, and Canvas animations to MP4 locally via Playwright/Chromium and FFmpeg.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Local MCP server that renders HTML, CSS, SVG and Canvas animations into MP4 video using Playwright Chromium and FFmpeg on your own machine.

What you can do
  • Render HTML/CSS/JS animations to MP4 and get the video back as base64 data
  • Render the same content straight to a chosen file path on disk
  • Control output size, bitrate, frame rate and maximum duration per render
  • Adjust defaults and tool paths through optional environment variables
When to use it
Useful when you want an assistant to turn generated HTML, CSS, SVG or Canvas animation code into a short MP4 clip without uploading anything to a cloud service, for example for social-style vertical videos or quick motion graphics.
Requirements
Runs as a local stdio process, installed from PyPI (clipacanvas-mcp) and typically launched with uvx or pip. Needs Python 3.10+, FFmpeg (system-wide, via imageio-ffmpeg, or set CLIPACANVAS_FFMPEG_EXE) and Playwright Chromium, which is installed automatically on first render. Optional variables include CLIPACANVAS_BROWSERS_PATH, CLIPACANVAS_MAX_DURATION, CLIPACANVAS_DEFAULT_WIDTH, CLIPACANVAS_DEFAULT_HEIGHT, CLIPACANVAS_DEFAULT_BITRATE and CLIPACANVAS_DEFAULT_FRAME_RATE. No authentication is…
Before you install
The file-writing tool overwrites the target path, so point output_path at a location you are willing to replace. Rendering executes the supplied HTML/CSS/JS inside a local Chromium instance, so only render code you trust. Renders are capped by a maximum duration setting. The README states nothing is uploaded and no third-party services are used, but that is the vendor's own claim.

Installation

In SourceWeft

  1. Open Clipacanvas in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Clip.A.Canvas MCP Server

A universal MCP (Model Context Protocol) server that exposes Clip.A.Canvas HTML-to-video rendering as an MCP tool. Works with Claude Desktop, ChatGPT, Antigravity CLI (agy), Claude Code, and any STDIO/HTTPS-based MCP client.

Features

  • Universal MCP tool — render_video and render_video_to_file exposed via the MCP protocol
  • Works everywhere — Claude Desktop, ChatGPT, Antigravity CLI, Claude Code, and more
  • Local rendering — no upload, no cloud; Chromium + FFmpeg run on your machine
  • Base64 or file output — return video as base64 string or save directly to a path

Installation

Client Configuration

1. Antigravity CLI (agy)

Add the following to your mcp_config.json (typically at ~/.gemini/antigravity-cli/mcp_config.json):

json
{  "mcpServers": {    "clipacanvas": {      "command": "uvx",      "args": ["--from", "clipacanvas-mcp", "clipmcp"]    }  }}

Verify the server loads successfully by running agy inspect.

2. Claude Code
bash
claude mcp add -s user clipacanvas -- cmd /c uvx --from clipacanvas-mcp clipmcp
3. Codex CLI
bash
codex mcp add clipacanvas -- uvx --from clipacanvas-mcp clipmcp

[!NOTE] If codex mcp list displays Auth: Unsupported for Clip.A.Canvas, this is completely normal! This status simply means the server does not require external OAuth authentication to run (which is correct for local stdio MCP servers).

From PyPI

bash
pip install clipacanvas-mcp# oruv tool install clipacanvas-mcp  # gives 'clipacanvas-mcp' command

Configuration

Environment variables (all optional):

VariableDefaultDescription
CLIPACANVAS_FFMPEG_EXEauto-detectPath to FFmpeg executable
CLIPACANVAS_BROWSERS_PATHauto-detectPath to Playwright browsers
CLIPACANVAS_MAX_DURATION12Max render duration in seconds
CLIPACANVAS_DEFAULT_WIDTH540Default video width
CLIPACANVAS_DEFAULT_HEIGHT960Default video height
CLIPACANVAS_DEFAULT_BITRATE5MDefault FFmpeg bitrate
CLIPACANVAS_DEFAULT_FRAME_RATE60Default frame rate

MCP Tools

render_video

Read-only hint: No | Destructive hint: No

Render HTML/CSS/JS to MP4, returned as base64.

Arguments:

json
{  "code": "<!DOCTYPE html><html>...</html>",  "width": 540,  "height": 960,  "bitrate": "5M",  "frame_rate": 60,  "max_duration": 12}

Returns: Text content with video metadata and base64-encoded MP4 data.

render_video_to_file

Read-only hint: No | Destructive hint: Yes (overwrites file)

Same as above but saves the MP4 directly to output_path.

Arguments:

json
{  "code": "<!DOCTYPE html><html>...</html>",  "output_path": "/absolute/path/to/video.mp4",  "width": 540,  "height": 960}

Usage in AI Clients

Claude Desktop

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "clipacanvas": {      "command": "uvx",      "args": ["clipacanvas-mcp"]    }  }}

ChatGPT (via Bridge)

To use this local tool with ChatGPT, you can use an MCP-to-HTTPS bridge (like mcp-proxy) or host it on a public URL. ChatGPT currently requires an HTTPS endpoint for official "App" integrations.

Other Clients (Codex, Qwen Coder, etc.)

Since this is a standard STDIO-based server, it works with any client that supports MCP. Use uvx clipacanvas-mcp or python -m clipacanvas_mcp.server as the launch command.

Privacy Policy

Clip.A.Canvas is a local-first application.

  • Data Collection: No user data, code snippets, or rendered videos are ever uploaded to any server.
  • Processing: All HTML/CSS/JS rendering happens inside a local Chromium instance on your machine.
  • Storage: Rendered MP4 files are saved only to the directory you specify.
  • Third-party Services: None.

Requirements

  • Python 3.10+
  • FFmpeg (installed system-wide, via imageio-ffmpeg, or set CLIPACANVAS_FFMPEG_EXE)
  • Playwright Chromium: installed automatically on first render if missing.

License

MIT

Source: mcp/README.md at commit 573b01e

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts