Free, editor-less MCP server for Rive: create, edit, inspect, render and preview .riv animations
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Rive MCP.
riv_listRecursively find `.riv` files (size, format version)
riv_inspectFull metadata: artboards, animations (duration/fps/loop), state machines and inputs, plus data-binding structure (ViewModel definitions, instances with resolved values, enums, converters, bind wiring) when the file uses it
riv_lintStatic diagnostic: broken references, oversized embedded assets, unreachable state-machine states, unconditional self-transitions (infinite-loop risk), unused inputs, easing silently discarded on a track's last keyframe, **motion-quality rules** (all-linear "robotic" movement, teleporting objects,β¦
riv_render_frameRender any moment to PNG (inline image + file)
riv_render_gifTurn an animation into a preview GIF
riv_render_apngAnimated PNG export β 24-bit color + alpha transparency (plays on GitHub)
Create, edit, inspect, render and live-preview Rive (.riv) animations from Claude β no Rive editor, no cloud, no subscription.
rive-mcp is a free MCP (Model Context Protocol) server that gives Claude (or any MCP client) full control over .riv files. Unlike the official Rive MCP (which requires the editor running) or paid third-party servers, it works with nothing but a .riv file β and it can even build .riv files from scratch by serializing the binary format directly.
Rendering runs the official Rive runtime (@rive-app/canvas-advanced WASM) inside headless Chromium, so what you see is exactly what ships.


This animation was generated entirely by riv_create β no Rive editor involved.
.riv from JSON β shapes, gradients, embedded PNGs, text, bones + skinning, IK, mesh deformation, keyframe animation with easing, multi-layer state machines, listeners, events, physics baking, particles, embedded audio (WAV/MP3/FLAC) fired from the timeline or a state machinepop-in, staggered rise-in, breathing, stagger-in, parallax-drift, shimmer, β¦) with professionally tuned amplitudes/easings, an OKLCH design-token generator (riv_design_tokens), motion-quality lint rules (robotic linear movement, teleports, missing stagger), and a one-call critique loop (riv_critique: frames + objective metrics + scoring checklist)@twemoji/svg when offline) as true bezier paths (riv_import_svg, riv_asset_search), decompile existing .riv files into editable specs including gradients, blend modes and hand-tuned animation tracks (riv_decompile), plus trim paths (draw-on), clipping masks, blend modes (multiply shadows, screen glows), follow-path motion, solos and detached bezier handles in the scene spec.riv β change any property, swap text, delete subtrees (references auto-remapped); round-trip verified pixel-perfectriv_studio_notes, fixes the file, and replies into the same thread; your browser updates instantly.riv with cutout parts, bone-skinned head mesh, eye blink, idle/happy animations and a state machineriv_inspect decodes ViewModel definitions, instances (with resolved values), enums, converters and bind wiring β data binding inspection that few tools support yet; riv_batch_render exports many files Γ formats in one glob-aware call for CI, and riv_ab_compare composites two files side by side into one labeled GIF/APNG for design review| Tool | What it does |
|---|---|
riv_list | Recursively find .riv files (size, format version) |
riv_inspect | Full metadata: artboards, animations (duration/fps/loop), state machines and inputs, plus data-binding structure (ViewModel definitions, instances with resolved values, enums, converters, bind wiring) when the file uses it |
riv_lint | Static diagnostic: broken references, oversized embedded assets, unreachable state-machine states, unconditional self-transitions (infinite-loop risk), unused inputs, easing silently discarded on a track's last keyframe, motion-quality rules (all-linear "robotic" movement, teleporting objects, missing stagger, one-sided scale) |
riv_render_frame | Render any moment to PNG (inline image + file) |
riv_render_gif | Turn an animation into a preview GIF |
riv_render_apng | Animated PNG export β 24-bit color + alpha transparency (plays on GitHub) |
riv_render_video | Record an animation or state machine to WebM video |
riv_render_sprites | Sprite-sheet PNG + JSON metadata (for game engines) |
riv_batch_render | Render a list of jobs β single files or globs β to png/gif/apng/webm/sprites in one call; per-job error isolation and a timing report, built for CI |
riv_play_state_machine | Set/fire inputs β advance β state-transition report (+ optional frame captures) |
riv_generate_code | Integration code with real artboard/SM/input names (React / JS / Vue / Svelte / Flutter) |
riv_create | Build a .riv from a JSON scene spec β validated with the official runtime, returns a preview. Supports bezier-handled vertices, elastic easing, gradients, physics baking, particles, and semantic motion presets ({"preset":"pop-in","target":"card"} expands server-side into professionally tuned keyframes β entrances/exits/emphasis/ambient loops, with stagger for groups). Also embeds audio (WAV/MP3/FLAC) fired from timeline frames or state-machine entry β the AudioAsset/AudioEvent are written correctly but only play back in a GPU-backed Rive runtime, not this server's own preview |
riv_design_tokens | Generate design tokens before designing: OKLCH-harmonized palette (+WCAG contrast), gradient pairs, Material-Motion durations & easing roles, spacing/radius/type scales β deterministic from seed color + mood |
riv_import_svg | SVG β Rive bezier shapes (Figma/Illustrator exports, icons, illustrations): full cubic vertices, multi-contour paths, gradients, strokes, nested transforms β so the AI composes pro artwork instead of drawing with primitives. Fragments plug into riv_create via imports |
riv_asset_search | Search Iconify's ~200k professionally designed icons and import one directly as Rive shapes (needs network) |
riv_lottie_import | Lottie/bodymovin JSON β Rive scene fragment β pulls in LottieFiles' huge library of free professionally-animated assets art and choreography: keyframed transforms with exact bezier easing curves (not preset-approximated), path morphing (per-vertex keyframes), shape/null/precomp layers, gradients, trim-path draw-on, visibility windows. Unsupported bits (text layers, masks, mattes, β¦) are counted, not silently dropped |
riv_decompile | .riv β editable scene spec: study or remix professional files (bezier paths, gradients, solos, trim paths, animations with named easings); unsupported types are counted, not silently dropped |
riv_critique | One-call review bundle that makes motion visible to a VLM: a filmstrip (frames leftβright), an onion-skin overlay (motion trails), a motion report (net displacement vector per animated object), objective metrics (bezier ratio, palette flags, easing distribution) + lint findings + a fixed 7-axis scoring checklist incl. spatial/directional coherence (does each mover travel toward its artwork's front? is the perspective consistent?) |
riv_edit | Lossless editing of existing .riv files: set properties, swap named text, delete subtrees, add/replace/remove keyframes |
riv_optimize | Shrink a .riv without changing its visual output: remove unreferenced interpolators/events/empty tracks left over from prior edits, thin redundant keyframes on strictly-linear runs (Douglas-Peucker, easing-safe β cubic/hold segments are never touched), with a dryRun report of the plan |
riv_extract_assets | Extract embedded images/fonts from a .riv |
riv_visual_diff | Pixel diff of two .riv files with a highlighted diff image |
riv_ab_compare | Render two .riv files under identical conditions into one labeled side-by-side (or stacked) GIF/APNG for human review β where riv_visual_diff measures a pixel-level delta, this one is for eyeballing two different things playing next to each other |
riv_dump | Low-level binary structure dump (typeKeys / properties / hierarchy) |
riv_slice_image | Cut character parts out of a PNG by polygon (for cutout rigging) |
riv_rig_character | Character PNG β fully rigged .riv in one call |
riv_diff | Structural diff between two .riv files |
riv_studio | Local web Studio: Rive-editor-style dark UI β hierarchy tree, canvas select/drag/resize, inspector, keyframe timeline editing, bezier curve editor (drag control points, hold/linear/cubic, 10 easing presets), state machine graph view (node graph, transition details, lint-highlighted states, live playback highlighting), onion skin overlay, undo/redo, playback speed, one-click export (PNG/APNG/GIF/WebM), live preview + hot reload, EN/JA |
riv_studio_notes | Read the Studio's Agent chat (with auto-attached context: selection, artboard, animation, playback time) and post replies back into it |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/rive-mcp)<a href="https://allmcps.com/mcp/rive-mcp"><img src="https://allmcps.com/api/badge/rive-mcp?style=directory" alt="Rive MCP on AllMCPs" /></a>