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 "Install 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: AI-Canvas 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nano-step/rive-playground'
If you have feedback or need assistance with the MCP directory API, please join our Discord server