Rive MCP Server

Free, editor-less MCP server for Rive: create, edit, inspect, render and preview .riv animations

Local serverstdio

What is the Rive MCP server?

Free, editor-less MCP server for Rive: create, edit, inspect, render and preview .riv animations. That is what the rive mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

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.

  • Losslessly edit existing .riv — — change any property, swap text, delete subtrees (references auto-remapped); round-trip verified pixel-perfect
  • Human ⇄ AI loop — — an "Instructions for AI" box in the Studio: you type feedback, the AI picks it up via riv_studio_notes (now auto-attached with the current selection/artboard/animation/time context) and fixes the file, your browser updates instantly
  • Auto-rig characters — — one call turns a character PNG into a rigged .riv with cutout parts, bone-skinned head mesh, eye blink, idle/happy animations and a state machine
  • Everything verified — — generated files are loaded, rendered and state-machine-driven by the official runtime in E2E tests

The tools it exposes

The server publishes 14 tools. What each one is for:

  • 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
  • riv_lint — Static diagnostic: broken references, oversized embedded assets, unreachable state-machine states, unconditional self-transitions (infinite-loop
  • 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_createBuild a .riv from a JSON scene spec — validated with the official runtime, returns a preview. Supports bezier-handled vertices, elastic easing

Getting it running

The server ships on npm as rive-mcp-server, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

How it compares

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Rive's toolset — riv_list, riv_inspect, riv_lint and 11 more — is a fair guide to whether it matches your workflow. It is maintained by ODU33104; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Rive's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Rive.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
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
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,
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)
riv_render_videoRecord an animation or state machine to WebM video
riv_render_spritesSprite-sheet PNG + JSON metadata (for game engines)
riv_batch_renderRender 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_machineSet/fire inputs → advance → state-transition report (+ optional frame captures)
riv_generate_codeIntegration 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** ({
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 pri

How to install the Rive MCP server

{
  "mcpServers": {
    "rive": {
      "command": "npx",
      "args": ["-y", "rive-mcp-server"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Example prompts to try

  • Use Rive to riv list.
  • Use Rive to riv inspect.
  • Use Rive to riv lint.

Frequently asked questions

It connects Rive to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (riv_list, riv_inspect, riv_lint, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Rive directly.