JSON2Video
NPM · @JSON2VIDEO/CLI · 2 COMPONENTS
Video API for automated video production at scale: templates, AI voiceovers, subtitles, AI images
Available components
Last scanned (11 hours ago)
Scores higher than 58% of npm servers
Category Design and Media
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. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 7 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1687 tokens (~88/item across 19 items; 17 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
- Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (12% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +6
- Tool safety: pass → unverified ▼ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Schema quality: 1151 → 1687 ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Stability: unverified → 0.17 ▲ functional
- First check of Tool coverage: 12 functional
- First check of Capabilities: pass functional
- First check of Schema quality: 100 functional
- First check of Schema quality: unverified functional
- Destructive annotations: All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation. functional
- Package version: 1.1.4 → 1.1.5 functional
- 24 Oct 26 +25
- Known CVEs: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Dependency health: unverified → 0.85 ▲ functional
- 23 Oct 26 43
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/@json2video/cli@1.1.5
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 93 packages
| Packages resolved | 93 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_status Check render status ~55
Check the rendering status of a video project. When the status is done, call show_video with the url (and duration) so the user can watch it in the chat.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | yes | Project ID from render_video |
No output schema declared.
No examples provided.
get_account Get account ~15
Get account information and remaining quotas
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_example Get example movie ~48
Get an example movie JSON by ID. Use without arguments to list all available examples.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | Example ID (e.g. 'hello-world'). Omit to list all examples. |
No output schema declared.
No examples provided.
get_help Get movie JSON help ~355
Get help on movie JSON syntax, element types, properties, and transitions. Essential for understanding how to construct movie JSONs.
| Name | Type | Req | Description |
|---|---|---|---|
| accent | string | – | For ai-voices: filter by accent. For emojis: filter by category |
| age | string | – | For ai-voices: filter by age (young, middle_aged, old) |
| component_path | string | – | For components topic: component path (e.g. 'basic/050'). Omit to list all components. |
| gender | string | – | For ai-voices: filter by gender (male, female) |
| language | string | – | For ai-voices: filter by language code (en, es, fr, etc.) |
| limit | number | – | For ai-voices, music, or emojis: max items per page (default: 20) |
| page | number | – | For ai-voices, music, or emojis: page number (default: 1) |
| provider | string | – | For ai-voices topic: voice provider (azure, elevenlabs) |
| style_id | string | – | For text-styles topic: style ID (e.g. '002'). Omit to list all styles. |
| topic | string | – | Help topic: movie, scene, elements, video, image, text, html, component, template, audio, voice, audiogram, subtitles, transitions, variables, base, visual, audio-props, ai-models, ai-voices, text-st… |
| voice_id | string | – | For ai-voices: get specific voice by ID |
| voice_name | string | – | For ai-voices: search by voice name |
No output schema declared.
No examples provided.
get_template Get template ~61
Get details of a template including its expected variables (as JSON Schema) or its full movie JSON source code.
| Name | Type | Req | Description |
|---|---|---|---|
| code | boolean | – | If true, return the full movie JSON source code instead of template info |
| template_id | string | yes | Template ID |
No output schema declared.
No examples provided.
list_featured_templates List featured templates ~91
List featured/published templates from the template library. Each template has id, name, tags, width, height, thumbnail_url and video_url. To show them to the user, call show_templates with the templates you want to present, exactly as returned here (up to 12 at a time): it displays their real thumbnails and playable previews.
| Name | Type | Req | Description |
|---|---|---|---|
| tag | string | – | Filter featured templates by tag |
No output schema declared.
No examples provided.
list_recent_renders List recent renders ~82
List the most recent video renders of the account (newest first) with project id, status, URL, creation time and duration. Use it to find a project again, for example after a timeout. Only renders of the last 3 months are listed.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many renders to return (default 10, max 50) |
No output schema declared.
No examples provided.
list_templates List my templates ~45
List the user's own templates. To show them to the user, call show_templates with the templates as returned here (id, name, thumbnail_url, video_url, width, height).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
media_delete Delete media file ~37
Delete a file from media storage.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | File path to delete (e.g. 'my_avatars/avatar1.jpg') |
No output schema declared.
No examples provided.
media_get Get media file ~40
Get details and download URL of a file in media storage.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | File path (e.g. 'my_avatars/avatar1.jpg') |
No output schema declared.
No examples provided.
media_list List media files ~98
List files and folders in media storage. Returns file names, sizes, content types, and URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | Page number, 0-indexed (default: 0) |
| path | string | – | Folder path (e.g. 'my_avatars'). Omit for root folder. |
| search | string | – | Filter by filename |
| type | string | – | Filter by type: image, video, audio, other |
No output schema declared.
No examples provided.
media_upload Upload media file ~92
Upload a file to media storage from a local file path or a public URL.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | Local file path to upload (e.g. '/Users/me/photo.jpg') |
| folder | string | – | Destination folder (default: root) |
| name | string | – | Filename to use in storage (default: derived from file/URL) |
| url | string | – | Public URL of the file to upload |
No output schema declared.
No examples provided.
render_video Render video ~123
Render a video from a movie JSON definition or a template with variables. Returns the video URL when done. When the status is done, call show_video with the url (and duration) so the user can watch it in the chat.
| Name | Type | Req | Description |
|---|---|---|---|
| movie | string | – | Complete movie JSON as a string (will be parsed). Include scenes, elements, resolution, etc. |
| template_id | string | – | Template ID (alternative to movie) |
| variables | string | – | Template variables as JSON string |
| wait | boolean | – | Wait for render to complete (default: true) |
No output schema declared.
No examples provided.
save_template Save template ~194
Save a movie JSON as a reusable template in the user's account (create, or update when template_id is given). Put default values in the movie's "variables" object and reference them with {{name}} placeholders. Once saved, render many videos with render_video using template_id + variables. The template also works from n8n, Make, Zapier and the API, and opens in the visual editor (editor_url). Use it for batches: design one video, save it as a template, then render each row of data by passing only variables.
| Name | Type | Req | Description |
|---|---|---|---|
| movie | string | yes | Complete movie JSON as a string, with a "variables" block of defaults and {{variable}} placeholders |
| name | string | – | Template name (required when creating a new template) |
| tags | string | – | Comma-separated tags |
| template_id | string | – | Existing template ID to update. Omit to create a new template |
No output schema declared.
No examples provided.
show_templates Show templates ~126
Show templates to the user as a visual carousel with their real thumbnails and playable previews. First get the data with list_featured_templates (or list_templates), then call this tool with the templates you want to present, copying id, name, thumbnail_url, video_url, width and height exactly as returned (1 to 12 templates). It shows the real thumbnails of JSON2Video templates. The carousel has a "Use this template" button, so you do not need to list the templates again in text.
| Name | Type | Req | Description |
|---|---|---|---|
| templates | array | yes | The templates to show (1 to 12) |
| Name | Type | Req | Description |
|---|---|---|---|
| templates | array | yes | – |
No examples provided.
show_video Show video ~152
Show a rendered video to the user in an inline player (with duration and a download link). Call it when render_video, check_status or list_recent_renders report a video as done: pass its url and, when known, project and duration. Use it instead of only pasting the link.
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | – | Duration in seconds |
| height | number | – | Video height in pixels, if known |
| project | string | – | Project ID of the render |
| title | string | – | Title to show above the player |
| url | string | yes | The video (MP4) URL returned by render_video / check_status |
| width | number | – | Video width in pixels, if known |
| Name | Type | Req | Description |
|---|---|---|---|
| duration | number | – | – |
| height | number | – | – |
| project | string | – | – |
| title | string | – | – |
| url | string | yes | – |
| width | number | – | – |
No examples provided.
validate_movie Validate movie JSON ~39
Validate a movie JSON without rendering. Checks structure, element types, and required properties.
| Name | Type | Req | Description |
|---|---|---|---|
| movie | string | yes | Movie JSON as a string to validate |
No output schema declared.
No examples provided.
How do I install the JSON2Video MCP server?
JSON2Video runs locally as an npm package, launched with npx -y @json2video/cli. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @json2video/cli
claude mcp add com-json2video-mcp -- npx -y @json2video/cli
What is the JSON2Video MCP server?
JSON2Video is an MCP server listed in the public MCP registry as com.json2video/mcp. Video API for automated video production at scale: templates, AI voiceovers, subtitles, AI images. This page covers its npm package (@json2video/cli).
Is the JSON2Video MCP server safe to use?
JSON2Video scores 78 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 JSON2Video MCP server expose?
JSON2Video exposes 17 tools: render_video, check_status, list_recent_renders, list_templates, list_featured_templates, and 12 more. Their descriptions and schemas cost roughly 1,653 tokens of context every time the server is loaded.
Is the JSON2Video MCP server still maintained?
JSON2Video 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.
What licence is the JSON2Video MCP server under?
JSON2Video declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.