Dembrandt vs Rive MCP

A side-by-side look at the Dembrandt and Rive MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Dembrandt logoDembrandtDeveloper Tools · Local subprocess (stdio)Design tokens from any live site: colours, type, spacing, components, drift against a baseline.53GoodAuth: not declaredRive MCP logoRive MCPDeveloper Tools · Local subprocess (stdio)Free, editor-less MCP server for Rive: create, edit, inspect, render and preview .riv animations65GreatAuth: not declared

Verdict: choose Dembrandt for developer tools work as a local process; choose Rive MCP for developer tools as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Dembrandt logoChoose Dembrandt when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a local stdio subprocess transport.
Explore Dembrandt

Rive MCP logoChoose Rive MCP when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like riv_list, riv_inspect, riv_render_frame.
Explore Rive MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecDembrandt logoDembrandtRive MCP logoRive MCP
CategoryDeveloper ToolsDeveloper Tools
Quality signal53/100 · Good65/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars3,80622
Directory activity 1 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
ToolsNot listed32

Tools & capabilities

Dembrandt tools

No tool names declared yet. Check the project README from the listing page.

Rive MCP tools 32

  • riv_listRecursively find .riv files under a directory and report size and format version for each.
  • riv_inspectExtract full metadata from a .riv file: artboards, animations (duration/fps/loop), state machines and their inputs (name/type/initial value). Uses the official Rive runtime. Also decodes Data Binding (ViewModel) structure when present — ViewModel definitions and their properties, ViewModelInstances with resolved property values (including enum/nested-viewmodel/list references), enums, converters, and DataBind wiring (which target object/property each bind writes to) — via direct binary parsing (returned as `dataBinding`, omitted when the file has none).
  • riv_render_frameRender one frame of a .riv animation or state machine to PNG. Returns the image inline and saves it to disk.
  • riv_render_gifRender a .riv animation (or state machine idle playback) to an animated GIF file for preview.
  • riv_render_apngRender a .riv animation (or state machine playback) to an animated PNG (APNG). Unlike GIF this supports 24-bit color plus full alpha transparency, and GitHub READMEs animate it like a regular image. Frames are rendered with a transparent background by default.
  • riv_play_state_machineRun a .riv state machine step by step: set/fire inputs, advance time, observe state transitions, and optionally capture frames. Returns a transition report.
  • riv_generate_codeGenerate ready-to-use integration code (React/Vue/Svelte/plain JS/Flutter) for a .riv file, using its real artboard, state machine and input names.
  • riv_dumpLow-level dump of a .riv file's object stream (typeKeys, property values, hierarchy). Useful for debugging and format research. Large files return a summary unless full=true.
  • riv_lintStatic diagnostic pass over a .riv file: broken/out-of-range references, oversized embedded assets, state-machine states unreachable by any transition, unconditional self-transitions (infinite-loop risk), unused state-machine inputs, keyframe easing silently discarded on a track's last keyframe, plus motion-quality rules (all-linear robotic movement, teleporting objects, missing stagger on simultaneous fade-ins, one-sided scale animation). Complements riv_dump (which shows raw structure but doesn't judge it).
  • riv_design_tokensDeterministically generate professional design tokens for a scene BEFORE calling riv_create: an OKLCH-harmonized palette (with WCAG contrast ratios), gradient pairs, Material-Motion-derived durations & easing roles, spacing/radius/stroke scales and a type scale. Call this first, then use ONLY the returned values in the scene spec — never invent raw hex colors or ad-hoc durations. Inputs: optional seed color, mood (calm|playful|elegant|tech|warm|natural), scheme (dark|light).
  • riv_critiqueOne-call review bundle for the render→critique→revise loop. Returns (1) a FILMSTRIP image — N frames left→right across the duration, so motion is readable as a sequence, (2) an ONION-SKIN image — all frames ghost-overlaid so every mover leaves a visible trail (use it to check trajectories and travel direction vs the artwork's facing), (3) a MOTION REPORT — net displacement/rotation vector per animated object computed from the file data, (4) objective design metrics + lint findings, and (5) a fixed 7-axis scoring checklist (incl. spatial/directional coherence). LOOK at the images, score each axis 1-5, fix anything below 4 (riv_edit / regenerate), then re-run. Iterate at least twice before delivering any non-trivial scene.
  • riv_import_svgConvert an SVG file (Figma/Illustrator export, icon, illustration) into Rive bezier path shapes — the professional way to get high-quality artwork instead of drawing with primitives. Writes a scene-fragment JSON (shapes with full cubic vertices, gradients, strokes) and returns a rendered preview. Use the fragment in riv_create via "imports". Supports path/rect/circle/ellipse/polygon/polyline/line, nested transforms, style attrs, linear/radial gradients. Not imported: <text> (use texts[] with a font), <image>, filters, masks.
  • +20 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Dembrandt

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "dembrandt": {
      "command": "npx",
      "args": [
        "-y",
        "dembrandt"
      ]
    }
  }
}

Rive MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "rive-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "rive-mcp-server"
      ]
    }
  }
}

Frequently asked questions

Dembrandt is categorized under Developer Tools and uses a local stdio subprocess. Rive MCP belongs to Developer Tools and uses a local stdio subprocess. Pick Dembrandt for developer tools work and Rive MCP for developer tools.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Dembrandt has no declared pricing — check the project's own site. Rive MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add dembrandt and rive-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Dembrandt has a quality signal of 53/100 (Good) with 1 views, 0 installs and 3,806 GitHub stars. Rive MCP has 65/100 (Great) with 1 views, 0 installs and 22 GitHub stars.