# Volito (npm · volito)

Motion graphics as code: find, preview and render lower thirds, titles, charts and 3D to video

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `volito`: 64/100 (this document), [markdown](https://verifymcp.io/servers/monarcpro-volito/volito.md), [page](https://verifymcp.io/servers/monarcpro-volito/volito)

## Channel facts

- Registry: `npm`
- Package: `volito`
- Version: `0.3.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 35 of 116 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 35/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license ((MIT AND LicenseRef-MONARC-Packs-1.0)) isn't a recognized OSI-approved license.
  - Actively maintained (last published 3 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 45/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5714 tokens (~476/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 96% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Volito MCP server?

Volito runs locally as an npm package, launched with npx -y volito. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add monarcpro-volito -- npx -y volito
```

### Cursor

```json
{
  "mcpServers": {
    "monarcpro-volito": {
      "command": "npx",
      "args": [
        "-y",
        "volito"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "monarcpro-volito": {
      "command": "npx",
      "args": [
        "-y",
        "volito"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add monarcpro-volito -- npx -y volito
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "monarcpro-volito": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "volito"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add monarcpro-volito --command npx --arg -y --arg volito
```

### Hermes

```yaml
mcp_servers:
  monarcpro-volito:
    command: "npx"
    args: ["-y", "volito"]
```

### Netclaw

```json
{
  "McpServers": {
    "monarcpro-volito": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "volito"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add monarcpro-volito -t stdio -c npx -a -y volito
```

### Other

```json
{
  "mcpServers": {
    "monarcpro-volito": {
      "command": "npx",
      "args": [
        "-y",
        "volito"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 63, +11)

- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 0.86

### 2026-11-01 (score 52)

First indexed and scored.

## MCP tools (12)

### `motion_list` (~57 tokens)

List motion graphics

The graphics in the packs: ref, overlay or full frame, default length, what it is.

Input parameters:

- `category` (string)
- `search` (string): Words to match (e.g. 'name', 'subscribe', 'chart').

### `motion_info` (~59 tokens)

Describe a motion graphic

Everything about one item: what it shows, its length, aspects and every prop with its type and default. `code: true` adds its source (to learn from or adapt).

Input parameters:

- `code` (boolean)
- `item` (string, required)

### `motion_styles` (~38 tokens)

List brand styles

The built-in brand styles (colour roles, faces, motion feel). Any style can be replaced by a DESIGN.md, or tuned with `colors`.

### `motion_moves` (~55 tokens)

List motion settings

Every move (entrances, and exits as the same move played backwards), ease, idle loop, emphasis hit, mood, text split and order the `motion` settings take. Any part of any graphic can use any of them.

### `motion_preview` (~756 tokens)

Preview a motion graphic

A contact sheet: frames across the graphic's time in one image, so you can see how it moves and whether the text fits. Overlays are shown on a grey stand-in for footage.

Input parameters:

- `aspect` (string): 16:9, 9:16, 1:1, 4:5 or WIDTHxHEIGHT. Default 16:9.
- `beats` (object): Named moments to move, e.g. { "in": 0.4, "out": -0.6 } (negative counts from the end).
- `code` (string): Your own program: plain JavaScript defining function frame(t, $) that returns SVG markup (see motion_api). Give this or `item`.
- `colors` (object): Overrides on the style: hex colours for accent / accent2 / ink (darkest) / paper (lightest) / surface, mode, and faces like "Poppins:800".
- `duration` (number): Seconds (the item's default when omitted).
- `item` (string): A pack item: "essentials/lower-third", or its id "lower-third" (motion_list shows them). Give this or `code`.
- `mood` (string): A choreography mood: the moves, eases and idles a seed draws from.
- `motion` (object): How each part moves — keys are part names from motion_info, or "*" for every part: { "*": { "ease": "bouncy" }, "name": { "in": "typewriter" }, "plate": { "in": "iris", "out": "wipe", "from": "right"…
- `placement` (string): For `code`: overlay (transparent, over footage) or full (draws its own ground).
- `props` (object): The item's props (motion_info lists them), e.g. { name: 'Priya Sharma', role: 'Product designer' }. For `code`, any data the program reads as $.data.
- `seed` (number): A new choreography for every number; the same number always moves the same way. Try several.
- `spec` (string): A Graphic spec file (.json with "volito": 1; motion_validate checks one) or a .volito bundle: its item and options are the base, and anything else given here wins. Give this instead of `item` or `cod…
- `speed` (number): Every move faster (2) or slower (0.5).
- `style` (string): A built-in brand style (ember, cream, mono, neon, pop, studio, whiteboard, sketch, pastel, pixel, collage, diorama, clay, storybook, cobalt, tomato, acid, candy, riso, aurora, sunset, lime, sport, re…
- `times` (array): Clip seconds to show (8 spread across it by default).
- `words` (array): Words spoken over the graphic with their start/end seconds — text lands on them.
- `wordsFile` (string): A transcript file instead of `words` ([{w,s,e}] or Whisper JSON).

### `motion_still` (~744 tokens)

Render one frame

One frame as a PNG (alpha kept), returned as an image and written to `out` when given.

Input parameters:

- `aspect` (string): 16:9, 9:16, 1:1, 4:5 or WIDTHxHEIGHT. Default 16:9.
- `beats` (object): Named moments to move, e.g. { "in": 0.4, "out": -0.6 } (negative counts from the end).
- `code` (string): Your own program: plain JavaScript defining function frame(t, $) that returns SVG markup (see motion_api). Give this or `item`.
- `colors` (object): Overrides on the style: hex colours for accent / accent2 / ink (darkest) / paper (lightest) / surface, mode, and faces like "Poppins:800".
- `duration` (number): Seconds (the item's default when omitted).
- `item` (string): A pack item: "essentials/lower-third", or its id "lower-third" (motion_list shows them). Give this or `code`.
- `mood` (string): A choreography mood: the moves, eases and idles a seed draws from.
- `motion` (object): How each part moves — keys are part names from motion_info, or "*" for every part: { "*": { "ease": "bouncy" }, "name": { "in": "typewriter" }, "plate": { "in": "iris", "out": "wipe", "from": "right"…
- `out` (string)
- `placement` (string): For `code`: overlay (transparent, over footage) or full (draws its own ground).
- `props` (object): The item's props (motion_info lists them), e.g. { name: 'Priya Sharma', role: 'Product designer' }. For `code`, any data the program reads as $.data.
- `seed` (number): A new choreography for every number; the same number always moves the same way. Try several.
- `spec` (string): A Graphic spec file (.json with "volito": 1; motion_validate checks one) or a .volito bundle: its item and options are the base, and anything else given here wins. Give this instead of `item` or `cod…
- `speed` (number): Every move faster (2) or slower (0.5).
- `style` (string): A built-in brand style (ember, cream, mono, neon, pop, studio, whiteboard, sketch, pastel, pixel, collage, diorama, clay, storybook, cobalt, tomato, acid, candy, riso, aurora, sunset, lime, sport, re…
- `t` (number): Clip seconds (mid-hold by default).
- `words` (array): Words spoken over the graphic with their start/end seconds — text lands on them.
- `wordsFile` (string): A transcript file instead of `words` ([{w,s,e}] or Whisper JSON).

### `motion_check` (~755 tokens)

Check a motion graphic

Runs it frame by frame at each aspect and reports errors (throws, SVG that does not parse, a graphic that draws nothing) and warnings (text running off the frame, words never spoken, props that do not fit). Use it in a write → check → preview loop.

Input parameters:

- `aspect` (string): 16:9, 9:16, 1:1, 4:5 or WIDTHxHEIGHT. Default 16:9.
- `beats` (object): Named moments to move, e.g. { "in": 0.4, "out": -0.6 } (negative counts from the end).
- `code` (string): Your own program: plain JavaScript defining function frame(t, $) that returns SVG markup (see motion_api). Give this or `item`.
- `colors` (object): Overrides on the style: hex colours for accent / accent2 / ink (darkest) / paper (lightest) / surface, mode, and faces like "Poppins:800".
- `duration` (number): Seconds (the item's default when omitted).
- `item` (string): A pack item: "essentials/lower-third", or its id "lower-third" (motion_list shows them). Give this or `code`.
- `mood` (string): A choreography mood: the moves, eases and idles a seed draws from.
- `motion` (object): How each part moves — keys are part names from motion_info, or "*" for every part: { "*": { "ease": "bouncy" }, "name": { "in": "typewriter" }, "plate": { "in": "iris", "out": "wipe", "from": "right"…
- `placement` (string): For `code`: overlay (transparent, over footage) or full (draws its own ground).
- `props` (object): The item's props (motion_info lists them), e.g. { name: 'Priya Sharma', role: 'Product designer' }. For `code`, any data the program reads as $.data.
- `seed` (number): A new choreography for every number; the same number always moves the same way. Try several.
- `spec` (string): A Graphic spec file (.json with "volito": 1; motion_validate checks one) or a .volito bundle: its item and options are the base, and anything else given here wins. Give this instead of `item` or `cod…
- `speed` (number): Every move faster (2) or slower (0.5).
- `style` (string): A built-in brand style (ember, cream, mono, neon, pop, studio, whiteboard, sketch, pastel, pixel, collage, diorama, clay, storybook, cobalt, tomato, acid, candy, riso, aurora, sunset, lime, sport, re…
- `words` (array): Words spoken over the graphic with their start/end seconds — text lands on them.
- `wordsFile` (string): A transcript file instead of `words` ([{w,s,e}] or Whisper JSON).

### `motion_review` (~810 tokens)

Review a motion graphic

Everything to look at before rendering, measured: the check at each aspect, when it settles and how long it holds still (with a warning when the entrance is slow or the hold too short to read its words), how much of an overlay sits under Reels', Shorts' and TikTok's own interface at 9:16, and a contact sheet per aspect (returned as images, written with a review.md to outDir).

Input parameters:

- `aspect` (string): 16:9, 9:16, 1:1, 4:5 or WIDTHxHEIGHT. Default 16:9.
- `beats` (object): Named moments to move, e.g. { "in": 0.4, "out": -0.6 } (negative counts from the end).
- `code` (string): Your own program: plain JavaScript defining function frame(t, $) that returns SVG markup (see motion_api). Give this or `item`.
- `colors` (object): Overrides on the style: hex colours for accent / accent2 / ink (darkest) / paper (lightest) / surface, mode, and faces like "Poppins:800".
- `duration` (number): Seconds (the item's default when omitted).
- `item` (string): A pack item: "essentials/lower-third", or its id "lower-third" (motion_list shows them). Give this or `code`.
- `mood` (string): A choreography mood: the moves, eases and idles a seed draws from.
- `motion` (object): How each part moves — keys are part names from motion_info, or "*" for every part: { "*": { "ease": "bouncy" }, "name": { "in": "typewriter" }, "plate": { "in": "iris", "out": "wipe", "from": "right"…
- `outDir` (string): Where to write the sheets and review.md. Default: volito-review/<id>.
- `placement` (string): For `code`: overlay (transparent, over footage) or full (draws its own ground).
- `props` (object): The item's props (motion_info lists them), e.g. { name: 'Priya Sharma', role: 'Product designer' }. For `code`, any data the program reads as $.data.
- `seed` (number): A new choreography for every number; the same number always moves the same way. Try several.
- `spec` (string): A Graphic spec file (.json with "volito": 1; motion_validate checks one) or a .volito bundle: its item and options are the base, and anything else given here wins. Give this instead of `item` or `cod…
- `speed` (number): Every move faster (2) or slower (0.5).
- `style` (string): A built-in brand style (ember, cream, mono, neon, pop, studio, whiteboard, sketch, pastel, pixel, collage, diorama, clay, storybook, cobalt, tomato, acid, candy, riso, aurora, sunset, lime, sport, re…
- `words` (array): Words spoken over the graphic with their start/end seconds — text lands on them.
- `wordsFile` (string): A transcript file instead of `words` ([{w,s,e}] or Whisper JSON).

### `motion_render` (~1045 tokens)

Render a motion graphic

Render to a file. Formats: mov — ProRes 4444 with alpha (.mov) — drops onto footage in Premiere, Resolve, Final Cut, After Effects; webm — VP9 with alpha (.webm) — for the web and CapCut; needs an ffmpeg built with libvpx; mp4 — H.264 (.mp4) — no alpha: drawn on --bg (black by default); hevc — HEVC with alpha (.mov) — small files for Final Cut, iMovie and Safari; macOS only (VideoToolbox); gif — animated GIF — 1-bit transparency, or drawn on --bg; png — a folder of PNG frames with alpha — no ffmpeg needed. Returns the file's path.

Input parameters:

- `aspect` (string): 16:9, 9:16, 1:1, 4:5 or WIDTHxHEIGHT. Default 16:9.
- `background` (string): "#000000" draws a ground under the graphic; "transparent" keeps alpha.
- `beats` (object): Named moments to move, e.g. { "in": 0.4, "out": -0.6 } (negative counts from the end).
- `bed` (string): A pad under it all, in a key: "Dm", "F major", "C#m".
- `code` (string): Your own program: plain JavaScript defining function frame(t, $) that returns SVG markup (see motion_api). Give this or `item`.
- `colors` (object): Overrides on the style: hex colours for accent / accent2 / ink (darkest) / paper (lightest) / surface, mode, and faces like "Poppins:800".
- `duration` (number): Seconds (the item's default when omitted).
- `format` (string): mov (ProRes 4444 with alpha) by default.
- `fps` (integer)
- `item` (string): A pack item: "essentials/lower-third", or its id "lower-third" (motion_list shows them). Give this or `code`.
- `mood` (string): A choreography mood: the moves, eases and idles a seed draws from.
- `motion` (object): How each part moves — keys are part names from motion_info, or "*" for every part: { "*": { "ease": "bouncy" }, "name": { "in": "typewriter" }, "plate": { "in": "iris", "out": "wipe", "from": "right"…
- `out` (string): Output path (relative to the server's working folder). Default: motion-renders/<id>-<size>.<ext>.
- `placement` (string): For `code`: overlay (transparent, over footage) or full (draws its own ground).
- `props` (object): The item's props (motion_info lists them), e.g. { name: 'Priya Sharma', role: 'Product designer' }. For `code`, any data the program reads as $.data.
- `seed` (number): A new choreography for every number; the same number always moves the same way. Try several.
- `sound` (boolean): Mux a sound track synthesised by Volito: the program's own sound($) cues, else cues read from its motion (pops, whooshes, ticks, hits). Not for png/gif.
- `soundOut` (string): Also write the track alone to this .wav (for an editor's timeline).
- `spec` (string): A Graphic spec file (.json with "volito": 1; motion_validate checks one) or a .volito bundle: its item and options are the base, and anything else given here wins. Give this instead of `item` or `cod…
- `speed` (number): Every move faster (2) or slower (0.5).
- `style` (string): A built-in brand style (ember, cream, mono, neon, pop, studio, whiteboard, sketch, pastel, pixel, collage, diorama, clay, storybook, cobalt, tomato, acid, candy, riso, aurora, sunset, lime, sport, re…
- `width` (integer): Output width px (height follows).
- `words` (array): Words spoken over the graphic with their start/end seconds — text lands on them.
- `wordsFile` (string): A transcript file instead of `words` ([{w,s,e}] or Whisper JSON).

### `motion_sound` (~825 tokens)

Sound design for a motion graphic

The graphic's sound alone, as a .wav, with its cue list: the program's own sound($) cues when it defines them, else cues read from its motion (a pop for every spring, a whoosh for every move across the frame, ticks for letters, a hit for a slam). Needs no ffmpeg. Use motion_render with sound: true to mux it into the video instead.

Input parameters:

- `aspect` (string): 16:9, 9:16, 1:1, 4:5 or WIDTHxHEIGHT. Default 16:9.
- `beats` (object): Named moments to move, e.g. { "in": 0.4, "out": -0.6 } (negative counts from the end).
- `bed` (string): A pad under it all, in a key: "Dm", "F major".
- `code` (string): Your own program: plain JavaScript defining function frame(t, $) that returns SVG markup (see motion_api). Give this or `item`.
- `colors` (object): Overrides on the style: hex colours for accent / accent2 / ink (darkest) / paper (lightest) / surface, mode, and faces like "Poppins:800".
- `duration` (number): Seconds (the item's default when omitted).
- `item` (string): A pack item: "essentials/lower-third", or its id "lower-third" (motion_list shows them). Give this or `code`.
- `mood` (string): A choreography mood: the moves, eases and idles a seed draws from.
- `motion` (object): How each part moves — keys are part names from motion_info, or "*" for every part: { "*": { "ease": "bouncy" }, "name": { "in": "typewriter" }, "plate": { "in": "iris", "out": "wipe", "from": "right"…
- `out` (string): Output .wav path. Default: motion-renders/<id>.wav.
- `placement` (string): For `code`: overlay (transparent, over footage) or full (draws its own ground).
- `props` (object): The item's props (motion_info lists them), e.g. { name: 'Priya Sharma', role: 'Product designer' }. For `code`, any data the program reads as $.data.
- `seed` (number): A new choreography for every number; the same number always moves the same way. Try several.
- `spec` (string): A Graphic spec file (.json with "volito": 1; motion_validate checks one) or a .volito bundle: its item and options are the base, and anything else given here wins. Give this instead of `item` or `cod…
- `speed` (number): Every move faster (2) or slower (0.5).
- `style` (string): A built-in brand style (ember, cream, mono, neon, pop, studio, whiteboard, sketch, pastel, pixel, collage, diorama, clay, storybook, cobalt, tomato, acid, candy, riso, aurora, sunset, lime, sport, re…
- `words` (array): Words spoken over the graphic with their start/end seconds — text lands on them.
- `wordsFile` (string): A transcript file instead of `words` ([{w,s,e}] or Whisper JSON).

### `motion_validate` (~149 tokens)

Validate a Graphic spec

Checks a Graphic spec before rendering: its shape, the item it names, files it points at, props against the item (lengths, types, choices), motion parts, aspect and length. A spec is one JSON document for one graphic: { "volito": 1, "item": "lower-third", "props": {…}, "style": "ember", "aspect": "9:16", "motion": {…}, "mood", "seed", "sound" }. Pass it inline or as a file path; then render it with motion_render { spec: "path" }.

Input parameters:

- `spec` (required): A path to a .json spec, or the spec itself

### `motion_api` (~64 tokens)

Program API

How to write your own graphic: the frame(t, $) contract, the whole $ runtime (timing, motion, text, shapes, cards, charts, art styles, brand colours and faces) and how items and packs are laid out. Read before passing `code`.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/monarcpro-volito/volito#diagnostics

## Score history

- 2026-11-05: 64
- 2026-11-04: 64
- 2026-11-03: 63
- 2026-11-02: 63
- 2026-11-01: 52

## Common questions

### What is the Volito MCP server?

Volito is an MCP server listed in the public MCP registry as io.github.monarcpro/volito. Motion graphics as code: find, preview and render lower thirds, titles, charts and 3D to video. This page covers its npm package (volito).

### Is the Volito MCP server safe to use?

Volito scores 64 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Volito MCP server expose?

Volito exposes 12 tools: motion_list, motion_info, motion_styles, motion_moves, motion_preview, and 7 more. Their descriptions and schemas cost roughly 5,357 tokens of context every time the server is loaded.

### Is the Volito MCP server still maintained?

Volito is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- npm package: https://www.npmjs.com/package/volito
- Socket report: https://socket.dev/npm/package/volito
- Repository: https://github.com/monarcpro/volito
- Website: https://volito.dev/
- Changelog RSS feed: https://verifymcp.io/servers/monarcpro-volito/volito.xml
- Changelog JSON feed: https://verifymcp.io/servers/monarcpro-volito/volito.json
- HTML version of this page: https://verifymcp.io/servers/monarcpro-volito/volito
