# snapcn (npm · @snapcn/mcp)

Search hand-tuned Remotion components, read their props, and plan a video from a one-line brief.

- Trust score: 61/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- npm · `@snapcn/mcp`: 61/100 (this document), [markdown](https://verifymcp.io/servers/dev-snapcn-mcp/snapcn-mcp.md), [page](https://verifymcp.io/servers/dev-snapcn-mcp/snapcn-mcp)

## Channel facts

- Registry: `npm`
- Package: `@snapcn/mcp`
- Version: `0.1.5`
- 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-10-24.

- **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.
  - 30 of 92 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 2 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1715 tokens (~285/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 95/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 86% 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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 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.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

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

snapcn runs locally as an npm package, launched with npx -y @snapcn/mcp. 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 dev-snapcn-mcp -- npx -y @snapcn/mcp
```

### Cursor

```json
{
  "mcpServers": {
    "dev-snapcn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@snapcn/mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-snapcn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@snapcn/mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add dev-snapcn-mcp -- npx -y @snapcn/mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add dev-snapcn-mcp --command npx --arg -y --arg @snapcn/mcp
```

### Hermes

```yaml
mcp_servers:
  dev-snapcn-mcp:
    command: "npx"
    args: ["-y", "@snapcn/mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "dev-snapcn-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@snapcn/mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-snapcn-mcp -t stdio -c npx -a -y @snapcn/mcp
```

### Other

```json
{
  "mcpServers": {
    "dev-snapcn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@snapcn/mcp"
      ]
    }
  }
}
```

## 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-10-22 (score 61, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-21 (score 46)

First indexed and scored.

## MCP tools (6)

### `snapcn_search_components` (~179 tokens)

Search snapcn components

Find snapcn Remotion components for a scene by describing the beat in plain English. Returns ranked candidates with natural length, vibe and use/avoid notes. Use this instead of writing animation code.

Input parameters:

- `category` (string)
- `limit` (integer)
- `max_frames` (integer): Drop candidates longer than this frame budget (30fps).
- `query` (string, required): What the shot must DO, not a component name. e.g. 'swap one pricing number for another', 'show our CLI install command', 'burned-in captions over a talking head'. Pass an empty string with a category…
- `tier` (string): Which half of the catalogue. Pro components install with the user's key and are the premium scenes; free ones install with no key at all.
- `vibe` (string)

### `snapcn_component` (~72 tokens)

Get a snapcn component

Everything needed to use one snapcn component: install command, full prop table with defaults and ranges, a working example, when not to use it, and its frame budget.

Input parameters:

- `name` (string, required): Registry name, e.g. 'text-reveal'. Accepts a legacy name and tells you the replacement.

### `snapcn_plan_video` (~386 tokens)

Plan a video

Turn a one-line video brief into a beat-by-beat plan: archetype, duration, one registry component per beat with frame budgets, a single install command, and a ready TransitionSeries skeleton.

Input parameters:

- `accent_color` (string): One hex accent, e.g. '#F2D200'. One accent only.
- `allow_placeholders` (boolean): ESCAPE HATCH. Only when the user is genuinely unreachable: emits the skeleton with honest English placeholders ("<the problem your users have today>") and a REPLACE list, instead of questions. Never…
- `archetype` (string): Force a recipe. Omit to let the brief pick.
- `brief` (string, required): One line: what the video is for, the product, and the surface to show. e.g. 'launch video for Acme, an AI CLI that fixes flaky tests'.
- `content` (object): The user's REAL copy. Without the required fields this tool returns questions and no skeleton — a skeleton pre-filled with component defaults is how a video ends up saying "Scene A". Infer what you c…
- `duration_seconds` (integer): Target length; selects the short/standard variant. Default: the archetype's own.
- `mode` (string): Frame background. "dark" sets mode="dark" on every component in the skeleton.
- `vibe` (string): How it should FEEL. Not decoration: several beats offer more than one component for the same job, and this is what chooses between them — premium opens on a swell and closes on the logo, tech opens o…

### `snapcn_preview` (~391 tokens)

Preview a frame

Render a frame of the video you just wrote and LOOK at it. Shells the user's own Remotion CLI (`remotion still`) and returns the frame as an image. Call it after writing a composition and after every fix: a snapcn scene missing mode="dark" on a dark frame renders BLACK, and that is invisible from the code. Requires the user's Remotion project — snapcn does not bootstrap it.

Input parameters:

- `composition` (string, required): The <Composition id="..."> to render, exactly as registered in the Root file. Required: with no id the Remotion CLI opens an interactive picker and this call would hang.
- `entry` (string): Remotion entry point, e.g. 'src/index.ts'. Omit unless the render says it cannot find one: the CLI already resolves remotion.config.ts, src/index.ts(x), remotion/index.ts(x) and src/remotion/index.ts…
- `frames` (array): Frames to render, one image back per frame (max 4). Default [30] — 1s in, after the entrance. Pick the frame where each beat has LANDED; at frame 0 most snapcn components have not started and you wil…
- `project_dir` (string): Root of the user's Remotion project — the folder with package.json and node_modules. Default: the directory this server was started in.
- `scale` (number): Render scale. 0.5 of a 1280×720 composition is enough to judge layout, colour and a black frame. Raise to 1 only when you need to read small type.
- `timeout_seconds` (integer): Budget for the WHOLE call, all frames. The first render of a session also builds a webpack bundle and may download Chromium; later ones take seconds.

### `snapcn_analyze_recording` (~571 tokens)

Analyze a screen recording

MEASURE a screen recording so content.recording is filled from data, not guessed. Returns crop, beatFrames and focus already in snapcn_plan_video's shape, plus one frame per beat cropped and fitted exactly as the composition will show it. Call it BEFORE snapcn_plan_video whenever the user has a recording: these are the three fields the contract says not to guess, and omitting them is not neutral — the default beat walk (0/139/278) only reaches 9.3s into a take of any length, so a 37s demo ships with its payoff never on screen.

Input parameters:

- `at_seconds` (array): VERIFY MODE. Skip the analysis and just return these moments of the take, cropped exactly as the composition will show them. Use it after moving a beat: pass the new opening times and look, instead o…
- `beat_frames` (integer): Frames one screen beat runs. 139 is what screen-recording ships at and what the screen-demo recipe bills. It is load-bearing here: a beat opening later than duration - beat_frames/fps runs past the e…
- `beats` (integer): Screen beats to propose, one source frame each. 3 for product-demo's screen-demo (reveal / the moment / interaction), 2 for cli-tool-demo. Drop to 1 if you only want the reveal.
- `composition_aspect` (number): width/height of the composition the shot lands in (1280x720 = 1.7778). Everything x/y is normalized to. A source of a different aspect is centre-cropped to this before crop applies, and points outsid…
- `file` (string, required): Path to the recording (.mp4/.mov/.webm/.m4v). Absolute, or relative to project_dir. Paste the name exactly as the filesystem has it — macOS writes a NARROW NO-BREAK SPACE (U+202F) before "PM" in a sc…
- `fps` (integer): The COMPOSITION's fps, not the file's. trimBefore is a Sequence offset, so beatFrames are composition frames. At 30fps a 120fps source's own 1754 frames are not numbers you can pass.
- `project_dir` (string): Root of the user's Remotion project — the folder with package.json and node_modules. Its @remotion/cli is where ffmpeg and ffprobe come from; there is nothing else to install. Default: the directory…

### `snapcn_rules` (~48 tokens)

snapcn motion rules

The snapcn motion, design and anti-slop rules. Read before writing any scene chrome of your own — backdrops, cards, lower-thirds, easing.

Input parameters:

- `topic` (string)

## Diagnostics

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

## Score history

- 2026-10-24: 61
- 2026-10-23: 61
- 2026-10-22: 61
- 2026-10-21: 46

## Common questions

### What is the snapcn MCP server?

snapcn is an MCP server listed in the public MCP registry as dev.snapcn/mcp. Search hand-tuned Remotion components, read their props, and plan a video from a one-line brief. This page covers its npm package (@snapcn/mcp).

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

snapcn scores 61 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 24 October 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 snapcn MCP server expose?

snapcn exposes 6 tools: snapcn_search_components, snapcn_component, snapcn_plan_video, snapcn_preview, snapcn_analyze_recording, snapcn_rules. Their descriptions and schemas cost roughly 1,647 tokens of context every time the server is loaded.

### Is the snapcn MCP server still maintained?

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

### What licence is the snapcn MCP server under?

snapcn declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@snapcn/mcp
- Socket report: https://socket.dev/npm/package/@snapcn/mcp
- Website: https://snapcn.dev/docs/mcp
- Changelog RSS feed: https://verifymcp.io/servers/dev-snapcn-mcp/snapcn-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-snapcn-mcp/snapcn-mcp.json
- HTML version of this page: https://verifymcp.io/servers/dev-snapcn-mcp/snapcn-mcp
