
Security News
Rust 1.100 Will Add Dependency Cooldowns to Cargo
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.
Polymation — the multi-format AI animation MCP. Author Rive (.riv/.rev) and Spline (.splinecode/.spline) scenes from scratch and convert Rive↔Spline, validated on the real runtime. The most complete Rive MCP, now multi-format.
The multi-format AI animation MCP — one MCP for every animation format. Polymation is the most complete Rive MCP (it generates binary .riv runtime and .rev editor files from scratch via a high-level builder API), authors Spline 3D scenes (.splinecode / .spline), and converts between Rive, Spline, Lottie, Figma and After Effects — with an honest per-decision loss report and real-runtime validation before you ship. Exposed as MCP tools for LLM-driven animation authoring.
| Format | Author | Convert | Status |
|---|---|---|---|
Rive — .riv / .rev | ✅ | ↔ Spline, ↔ Lottie, → Figma | Live |
Spline — .splinecode / .spline | ✅ | ↔ Rive, ↔ Lottie, → Figma | Live |
Lottie — .lottie / .json | — | ↔ Rive, ↔ Spline, → Figma | Live |
| Figma | — | → Rive / Spline / Lottie | Live |
After Effects — .aep | edit only | → Rive / Lottie / Spline / Figma | Live |
Every conversion crosses a model boundary, so every one is lossy — the report says what came across
clean, what was reconstructed, what was dropped and what needs your call. After Effects is read
natively (no After Effects install, no plugin) and can be edited and saved back; writing a .aep
from scratch is not offered, because without After Effects there is no way to check such a file
would open.
core tier, 116 in standard; set POLYMATION_TOOLS=core|standard|full).splinecode (runtime) and .spline (editor) scenes from scratch.aep compositions, layer timing and parenting, keyframes with AE's own ease curves, shapes, paths, masks, gradients, text and effects; edit_aep writes changes back.riv files, modify, re-export.riv in one callrivemcp-<version>.mcpb from the Releases page..mcpb file. Done — no Node.js, no JSON editing, no path setup.npm install
npm run build
Add to your MCP client configuration:
{
"mcpServers": {
"rivemcp": {
"command": "node",
"args": ["dist/mcp/server.js"]
}
}
}
Or run in development mode:
npm run dev
npm run build:mcpb
Produces rivemcp-<version>.mcpb in the repo root (~7 MB). Distribute that single file for one-click install.
| Category | Tools | Description |
|---|---|---|
| Artboard | 3 | Create projects, artboards, list objects |
| Shapes | 9 | Rectangles, ellipses, triangles, paths, groups |
| Style | 7 | Fills, strokes, gradients, trim paths, dash paths, feather |
| Edit | 6 | Query, update, and delete shapes/groups/text |
| Animation | 3 | Keyframe animation with 14 easing presets |
| State Machine | 12 | Layers, states, transitions, conditions, listeners |
| Events | 3 | Custom events, open-URL events, custom properties |
| Text | 3 | Text objects with styled runs |
| Images | 2 | Embedded image assets |
| Nested | 4 | Nested artboards for component reuse |
| Bones | 6 | Bones, IK constraints, skinning |
| Mesh | 1 | Mesh deformation |
| Constraints | 1 | Transform constraints |
| Scroll | 2 | Scroll and scroll-bar constraints |
| ViewModel | 12 | Data enums, view models, instances, data binding |
| Advanced | 44 | Layout, assets, scripting, organization, draw order |
| HLAPI | 8 | Physics baking, prefabs, particles, scene composition |
| Import/Export | 2 | Load existing .riv, export with validation |
The add_keyframe tool accepts an easing parameter for named presets:
| Preset | Curve | Use Case |
|---|---|---|
linear | Constant speed | Rotation, continuous motion |
ease | Gentle S-curve | General purpose |
ease-in | Slow start | Elements leaving view |
ease-out | Slow end | Elements entering view |
ease-in-out | Slow both ends | Symmetric transitions |
material-standard | Material Design | Navigation transitions |
material-decelerate | Material decel | Incoming elements |
material-accelerate | Material accel | Outgoing elements |
spring | Overshoot | Playful interactions |
bounce-out | Settle bounce | Landing, drop effects |
snap | Fast then hold | Toggle, switch states |
anticipate | Pull-back start | Button press, launch |
smooth | Smooth S-curve | UI transitions |
smooth-out | Smooth decel | Fade-in |
smooth-in | Smooth accel | Fade-out |
Three abstraction layers for complex animations:
Layer 3: Scene Composer compose_scene
"Rockslide with mountains, 20 falling rocks, dust"
Layer 2: Prefabs spawn_prefab, emit_particles
"Spawn 20 rocks with random size/position"
Layer 1: Physics Bakers bake_motion, bake_shake
"Apply gravity, bounce at ground, wind gusts"
Layer 0: Core Tools 132 MCP tools
Shapes, fills, keyframes, state machines...
Physics runs at compile time. Dense per-frame snapshots are compressed to sparse keyframes via Douglas-Peucker simplification (180 frames typically compress to 5-10 keyframes).
Shapes: rock, dust_cloud, debris, spark, raindrop, snowflake, leaf, bubble Backgrounds: sky_gradient (day/dusk/night/storm), mountain_range, ground_plane, starfield
Six tools for iterative design after initial creation:
| Tool | Description |
|---|---|
get_object_info | Query any object's transform, geometry, fills, strokes |
update_object | Modify position, size, rotation, scale, opacity |
update_fill | Change fill color by index |
update_stroke | Change stroke color, thickness by index |
remove_object | Delete a shape, group, or text |
update_text | Update text content on a run |
load_riv → modify with tools → export_riv
The load_riv tool imports existing .riv files into the builder scene graph. Unmodified artboards are preserved byte-for-byte on re-export.
| File | Description |
|---|---|
sample.riv | Basic shapes + keyframe animation |
expand-rect.riv | State machine click interaction |
ui-buttons.riv | Full UI dashboard: gradients, elastic easing, blend states, feather, trim paths |
flag-wave.riv | Mesh deformation + embedded image |
confetti-twist.riv | Mesh corner spiral animation |
rockslide-hlapi.riv | HLAPI physics, prefabs, and scene composition |
character-demo.riv | Bones, IK constraints, skinning |
data-bind-demo.riv | Toggle switch with cross-object color theme change |
Generate demos with:
npx tsx scripts/generate-sample.ts
npx tsx scripts/generate-ui-buttons.ts
npx tsx scripts/generate-data-bind-demo.ts
Open viewer.html in a browser (via HTTP server) to preview .riv files. Supports drag-and-drop upload and a batch test grid for all demo files.
npx serve .
# Open http://localhost:3000/viewer.html
npm test # Run all tests
npm run build # TypeScript compile
npm run dev # Run MCP server with tsx
npm run extract-defs # Regenerate rive-defs.json from rive-cpp
src/
core/ Binary .riv reader/writer, LEB128 encoding
defs/ Rive type registry (from rive-cpp source)
builder/ High-level scene graph API
hlapi/ Physics engine, prefab library, scene composer
mcp/ MCP server + 132 tools
All rights reserved. Commercial license required for use.
FAQs
Polymation — the multi-format AI animation MCP. Author Rive (.riv/.rev) and Spline (.splinecode/.spline) scenes from scratch and convert Rive↔Spline, validated on the real runtime. The most complete Rive MCP, now multi-format.
The npm package rivemcp receives a total of 0 weekly downloads. As such, rivemcp popularity was classified as not popular.
We found that rivemcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.