rive-analyzer
Provides tools for inspecting, validating, controlling, and shipping Rive .riv animation files, including parsing artboards, state machines, animations, view models, data enums, assets, contracts, and generating platform-specific code.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rive-analyzerinspect animation.riv"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rive Playground
v1.1.0 — "Living Canvas"
Where your animation goes from a file to a living product.
Inspect, validate, control, and ship Rive .riv animation files — from the terminal, AI assistants, or a visual playground. The complete toolchain for teams that build with Rive at scale.
What's New in v1.1.0 — "Living Canvas"
Area | Feature |
Parser | Animation |
Parser |
|
Parser | ViewModel extraction — real data from |
Parser | DataEnum extraction — full enum names and values |
CLI |
|
CLI |
|
CLI |
|
CLI |
|
CLI |
|
CLI |
|
MCP | 5 new tools: |
Playground | Events Log Panel — real-time Rive event stream |
Playground | Preset Library — save/load/apply named configurations |
Playground | URL deep-linking — |
Playground | Keyboard shortcuts — Space play/pause, R reset, Ctrl+S save preset |
Playground | Error toasts — surface silent failures visually |
Infra | Vitest test suite (16 tests) |
Infra |
|
Related MCP server: Rive MCP Server
Overview
rive-analyzer CLI Terminal-first inspection, codegen, validation
MCP Server AI assistant integration (Claude, OpenCode)
Rive Playground Visual editor + preset library + event log
.rive-playground/ Project config — presets, contracts (git-trackable)Installation
cd /path/to/rive-mcp-analyzer
npm install
npm run build
npm link # optional: global CLI installCLI Reference
inspect
rive-analyzer inspect ./animation.riv
rive-analyzer inspect ./animation.riv --jsonscan
rive-analyzer scan ./public/validate
rive-analyzer validate ./animation.riv ./src/constants/rive.tsgenerate-types
rive-analyzer generate-types ./animation.riv -o ./src/rive-generated.tsgenerate-platform
rive-analyzer generate-platform ./animation.riv --target swift
rive-analyzer generate-platform ./animation.riv --target kotlin -o RiveConstants.kt
rive-analyzer generate-platform ./animation.riv --target json-schema
rive-analyzer generate-platform ./animation.riv --target zod
rive-analyzer generate-platform ./animation.riv --target dartcontract-generate
rive-analyzer contract-generate ./animation.riv -o .rive-playground/contracts/animation.yamlContract example:
version: 1.1.0
file: animation.riv
artboard: Main
stateMachine: Main SM
inputs:
speed:
type: number
min: 0
max: 10
description: "Animation speed multiplier"
isVisible:
type: boolean
RESET:
type: triggercontract-validate
rive-analyzer contract-validate ./animation.riv ./animation.rive-contract.yaml
# Exits 1 if: input removed, type changed, artboard renamedcompare
rive-analyzer compare ./animation-v1.riv ./animation-v2.riv
# Exits 1 on breaking changes — CI-safelist-assets
rive-analyzer list-assets ./animation.rivexport-fields
rive-analyzer export-fields ./animation.riv --jsoninit
rive-analyzer init
# Creates: .rive-playground/{presets,contracts,schedules,config.json}watch
rive-analyzer watch "./public/**/*.riv"MCP Server (11 tools)
node dist/mcp.jsAdd to Claude Desktop:
{
"mcpServers": {
"rive-analyzer": {
"command": "node",
"args": ["/absolute/path/to/rive-mcp-analyzer/dist/mcp.js"]
}
}
}Tool | Description |
| Parse .riv — artboards, SMs, animations |
| Scan directory recursively |
| Check JS/TS config against .riv |
| TypeScript constants |
| Watch for changes |
| Deep extract ViewModels, DataEnums |
| Enumerate embedded/CDN assets |
| Generate .rive-contract.yaml |
| Validate .riv against contract |
| Swift/Kotlin/JSON Schema/Zod/Dart |
| Diff two files, detect breaking changes |
Playground
cd playground
npm install
npm run dev
# Open http://localhost:5173Panels
Panel | What it does |
Artboard | Select artboard and animation |
State Machine | Live boolean/number/trigger controls |
ViewModel | All property types with live editing |
Text Runs | Edit text content, auto-discover from VMs |
Events | Real-time Rive event log |
Presets | Save / load / apply named configurations |
Export | JSON + Markdown export |
Keyboard Shortcuts
Key | Action |
| Play / Pause |
| Reset animation |
| Save current state as preset |
| Zoom canvas |
| Pan canvas |
| Reset view |
URL Deep-linking
http://localhost:5173?file=https://cdn.example.com/animation.riv&artboard=Main&sm=Main+SMRive Contract System
The safety net between designers and developers. Define constraints on inputs — validate on every CI run.
# 1. Generate contract scaffold from .riv
rive-analyzer contract-generate hero.riv -o .rive-playground/contracts/hero.yaml
# 2. Edit: add min/max, required, descriptions
# 3. Validate in CI
rive-analyzer contract-validate hero.riv .rive-playground/contracts/hero.yamlProject Structure
src/
cli.ts CLI (Commander + Clack, banner + NhoNH signature)
mcp.ts MCP server (11 tools)
parser/riveParser.ts WASM headless parser
tools/
contract.ts Contract system (YAML + Zod)
compareFiles.ts Breaking change detection
generateMultiplatform.ts Swift/Kotlin/JSON Schema/Zod/Dart codegen
listAssets.ts Asset enumeration
exportFields.ts ViewModel/DataEnum extraction
[inspect, scan, validate, generateTypes, watch].ts
ui/theme.ts CLI design system
ui/banner.ts ASCII art + NhoNH signature
playground/src/
hooks/useRivePlayground.ts Core state + event capture
hooks/usePresets.ts localStorage preset library
components/panels/
EventsPanel.tsx Real-time event log
PresetsPanel.tsx Save/load configurations
components/Toast.tsx Error notifications
types.ts RiveEvent, Preset, PlaygroundState
.rive-playground/ Git-trackable project config
presets/ Named configuration snapshots
contracts/ .rive-contract.yaml files
schedules/ (v1.2.0)Roadmap
Version | Theme | Highlights |
v1.1.0 | Living Canvas | Contract system, multi-platform codegen, preset library, events |
v1.2.0 | Living Server | LiveConfig HTTP+WS, Config Scheduler, MCP-Playground bridge |
v1.3.0 | Intelligence | AI Narrator, AI Config Assistant (opt-in), SM Visual Graph |
Built by NhoNH · rive-analyzer · github.com/hoainho
This server cannot be deployed
Maintenance
Related MCP Connectors
16 AI-native tools with dual SSE + streamable-http transport. Free tier available.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
FFmpeg as a service for AI agents: typed video editing tools, async jobs, downloadable outputs.
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to inspect, modify, export, and validate design documents with 47 tools covering design, code generation, branding, and print/mockup workflows.1 npm1MIT
- FlicenseNot gradedqualityFmaintenanceOrchestrates Rive animations by enabling discovery, integration, and composition across frameworks like React and Vue, with code generation and multi-backend storage.5-
- AlicenseBqualityFmaintenanceEnables AI agents to inspect, search, and edit Unreal Engine animation data including sequences, montages, blend spaces, animation blueprints, skeletons, and skeletal meshes via 62 tools over MCP.61MIT
- AlicenseAqualityAmaintenanceEnables creating, editing, inspecting, rendering, and live-previewing Rive (.riv) animations directly from Claude without needing the Rive editor or cloud subscription, including building .riv files from scratch and a local web studio for human-AI collaboration.30244 npm8-