About Vecmo
Vecmo is a browser-based vector motion editor for creators and agents, with a typed scene document, CLI, and MCP tools for observing and editing projects. It exports self-contained runtime code as well as formats including WebGL, PDF, WebM, SVG, and DCTL.
Key features
- 01Edit typed scene and motion documents
- 02Observe and edit projects with 26 MCP tools
- 03Run headless commands with vmactl
- 04Export self-contained JS runtime code
- 05Export WebGL, PDF, WebM, SVG, and DCTL
Use cases
- 01Have an agent inspect or edit a motion scene
- 02Apply an edit plan and export without opening the GUI
- 03Embed exported motion runtime code in a site
- 04Export a look-graph effect for DaVinci Resolve
MCP support
A local stdio MCP server exposes 26 tools for reading and editing the typed scene and motion document. It can be launched through the repository's .mcp.json configuration.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEVecmo
A browser vector-motion editor that exports dependency-free runtime code.
- Export motion as code, not video: a self-contained JS runtime with typed
.d.ts, not a rendered clip. - Agent-native: a typed scene/motion document,
vmactlfor headless/live command work, and 26 MCP tools let an agent read and edit a project. - GPU Look Graph effects (grain, halftone, riso, CRT, VHS, lens) export to a
.dctlfile for DaVinci Resolve Studio 18+.

Quick start
bun install && bun run dev
/ opens the editor. It runs entirely in the browser: local-first, and nothing in this build talks to a server.
Checks: bun run check. Build: bun run build. No test suite ships in this repo (see CONTRIBUTING.md).
Try it
bun run dev, then open/?ref=hello-motion.- Export → Motion / Code → EMBED ("Motion Artifact", self-contained embeddable artifact).
- Unzip the download:
hello-motion.runtime.js, its.d.ts, a manifest, and a demo HTML page.
Other reference scenes live at /?ref=<slug>; see src/features/reference-scenes/model/registry.ts for the full list.
Headless, without the GUI: bun run export:motion-artifact -- --ref hello-motion --out ./out writes the same four files (deterministic; --commands plan.json applies an agent edit plan first, --dump-documents emits raw scene/motion JSON for the MCP tools).
Example consumer
vecmo-example — live at https://vecmo-example.pages.dev — is an unrelated Vite site that imports only the exported files at runtime (no Vecmo source, no SDK): a WebGL look-graph piece as hero, scroll-driven seekProgress, palette re-theming, a measured size ladder (49.8 KB / 118 KB / 198 KB gzip), Lighthouse 0.98 desktop / 0.91 mobile, a zero-leak mount/destroy probe, and one real MCP edit → CLI re-export loop.
Export sizes (measured, gzip -9)
| Scene | Profile | Size |
|---|---|---|
hello-motion | EMBED (Motion Artifact) | 48.2 KB |
| Effects-heavy reference scenes (grain, masks, motion grammar) | EMBED (Motion Artifact) | 115–152 KB |
Reproduce: bun run export:motion-artifact -- --ref <slug> --out ./out (prints raw/gzip bytes and tier), or bun run dev → /?ref=<slug> → Export → EMBED → gzip the <slug>.runtime.js inside the zip.
Other export targets: WebGL player, PDF, WebM, SVG, and DCTL (DaVinci Resolve look export).
MCP
Add the repo's .mcp.json to Claude Code or Cursor; it launches bun run mcp:agent (scripts/vma-agent-mcp.ts) as a local stdio server exposing 26 tools over a typed scene/motion document, for example observe_document, apply_scene_commands, and export_artboard. For headless or scripted work, bun run vmactl talks the same command envelope directly, without an MCP client. Read docs/agent-command-catalog.md for the full command reference and docs/live-mcp-agent-runbook.md for live-editing over the local relay (bun run agent:bridge).
Scope
This repository is the editor: it runs fully in the browser, and nothing here talks to a server. The vecmo.dev hosted service (accounts, cloud projects, billing) is a separate, private backend and is not included.
Architecture
Start at docs/architecture.md for the responsibility layers (app -> pages -> widgets -> features -> entities -> shared) and docs/codemap.md for where each subsystem lives.
Contributing
See CONTRIBUTING.md.
License
The editor is AGPL-3.0-only. A developer layer (the agent/CLI toolkit, the runtime player control/manifest code, and packages/editor-kernel) is MIT; see REUSE.toml for the exact file list. Everything you export — the runtime JS, the WebGL player, their .d.ts files, and your scene/motion/backup documents — carries an added AGPL §7 permission (the Vecmo Runtime Output Exception), so you can embed exported artifacts in proprietary sites and owe nothing back for them. Details: LICENSING.md.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.