snowstorm-mcp
Click on "Deploy 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., "@snowstorm-mcpCreate a smoke particle and render a GIF preview."
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.
Snowstorm MCP
Local MCP server and Windows editor for authoring Minecraft Blockbuster 1.12.2 particles. It combines a Blockbuster-safe JSON editor, a local Snowstorm preview, GIF/MP4 export, and a reference-video workflow for recreating VFX.
Snowstorm is used for simulation only. The server preserves blockbuster:* extensions when files are edited, and never treats a Snowstorm preview as proof of Minecraft rendering.
Features
Create, inspect, patch and validate
.particle.jsonfiles.Query selected fields across many particles and patch a preflighted batch with coordinated rollback.
Preserve Blockbuster fields when the Snowstorm editor saves a file.
Validate particle, texture, selector and MagicSpells links as one package graph.
Inspect or retime a MagicSpells
.MultiSpellwithout rewriting unrelated definitions.Render deterministic single-particle or absolute-timeline scene previews as PNG, GIF or MP4.
Probe Molang values at explicit ages with numeric assertions.
Open a selected particle in a secure local Electron window.
Expose the built-in Blockbuster/Snowstorm authoring guide and effect design briefs to MCP clients.
Import source videos into an automatically managed folder, then analyze them with FFmpeg scene detection.
Generate JPEG contact sheets, a JSON manifest and individual frames named with millisecond timecodes.
Extract decoded frames at requested
HH:MM:SS.mmmtargets and report their decoded PTS for vision-capable AI review.
Related MCP server: capcut-mcp
Requirements
Windows 10 or later.
Node.js 22.12 or newer.
FFmpeg and FFprobe available on
PATH.Git, for cloning Snowstorm as a submodule.
Installation
git clone --recurse-submodules https://github.com/YOUR_ACCOUNT/snowstorm-mcp.git
Set-Location snowstorm-mcp
npm install
npx install-electron
npx playwright install chromium
Copy-Item snowstorm-mcp.config.example.json snowstorm-mcp.config.json
npm run build
npm testEdit snowstorm-mcp.config.json so its paths target your package. The provided local configuration is intentionally ignored by Git; it may point to a private Minecraft instance.
Example layout:
my-package/
particles/
resourcepack/
selectors.json
spell.ymlOpenCode Configuration
Add this server entry to OpenCode's mcp configuration after building. Use absolute paths on Windows.
{
"snowstorm-mcp": {
"type": "local",
"command": ["node", "C:\\path\\to\\snowstorm-mcp\\dist\\mcp.js"],
"environment": {
"SNOWSTORM_MCP_CONFIG": "C:\\path\\to\\snowstorm-mcp\\snowstorm-mcp.config.json"
},
"enabled": true,
"timeout": 120000
}
}Restart OpenCode after changing its configuration.
Particle Workflow
Call
particle_design_brief, or request one focused topic fromparticle_authoring_guide.Use
particle_queryto compare only the required fields across references. It collapses common values.Call
particle_create,particle_patch, or dry-runparticle_patch_batchbefore executing the batch.Run
particle_verify_package. Usedetail: "full"only when the timeline rows are needed.Use
particle_probefor motion or scale claims, thenparticle_render_scenefor the relevant absolute-time window.Test the final effect in Minecraft. Snowstorm evidence does not prove Blockbuster behavior.
For timing-only changes, inspect with spell_timeline_inspect, then call spell_retime with its digest. Starts can be supplied in ticks or seconds and must align to the configured tick grid.
Example projected query:
{
"nameContains": "shockwave",
"select": {
"count": "/particle_effect/components/minecraft:emitter_rate_instant/num_particles",
"lifetime": "/particle_effect/components/minecraft:particle_lifetime_expression/max_lifetime"
},
"collapseCommon": true
}particle_render_scene accepts explicit {file, startSeconds, position} layers or derives layers, absolute starts and static helper offsets from the configured MagicSpells graph. Camera coordinates accept finite numbers or numeric strings. Render windows are capped at 30 seconds, 750 frames and a 480-million rendered-pixel budget. The result includes compact lifecycle checks, a contact sheet, a report and an optional GIF/MP4.
particle_authoring_guide embeds the Snowstorm/Blockbuster skill directly in the MCP. Request one of workflow, components, blockbuster, motion, textures, magicspells, validation or reference-video to minimize context; omit topic only when the AI needs the complete guide.
Video Reference Workflow
referenceVideosRoot is optional. When omitted, the MCP creates and manages:
.snowstorm-mcp/artifacts/reference-videos/Give the AI the path to a source video. It calls video_import, which copies it into the managed directory without changing the original file. Then use the returned file value with video_analyze:
{
"sourcePath": "D:\\references\\my-vfx-reference.mp4"
}The result includes file, for example my-vfx-reference.mp4. Call:
{
"file": "my-vfx-reference.mp4",
"samples": 12
}video_analyze returns:
An inline JPEG contact sheet for an MCP client with vision support.
contact-sheet.jpgon disk.manifest.jsoncontaining duration, resolution, detected scene times and every extracted frame path.Frame names such as
frame-03-00-00-12.500.jpg.
For a closer VFX transition, call video_extract_frames. It reports both the requested target and the actual decoded frame PTS, since frames only exist at real stream timestamps:
{
"file": "megumin-reference.mp4",
"timecodes": ["00:00:12.500", "00:00:12.750", "00:00:13.000"]
}For audio-led timing, use video_audio_transients. It ranks high-pass attacks in a bounded mixed-audio window; these are candidate timings, not isolated SFX recognition. Use video_compare after a scene render to make a reference-left/Snowstorm-right MP4 with the reference audio retained. It only reads preview MP4s inside the MCP artifact root and writes its output under .snowstorm-mcp/artifacts/comparisons/.
{
"file": "megumin-reference.mp4",
"previewPath": "C:\\project\\.snowstorm-mcp\\artifacts\\scenes\\run\\scene.mp4",
"referenceStartSeconds": 32,
"durationSeconds": 4.5
}The server places generated video artifacts under .snowstorm-mcp/artifacts/video/, leaving source videos and existing reference images untouched. Scene detection selects visual discontinuities; it does not identify VFX semantics, layers or camera effects by itself.
Desktop Editor
npm run desktopOpen a particular particle with:
npx electron . "C:\full\path\to\effect.particle.json"The Save safely control merges Snowstorm's output with the prior Blockbuster document and creates a backup under .snowstorm-mcp/artifacts/backups.
MCP Tools
Tool | Purpose |
| Compact inventory, source inspection and projected multi-file reads. |
| Safe single-file writes or preflighted batches with best-effort rollback. |
| Semantic particle and complete package-graph checks. |
| Strict MagicSpells timeline reading and timing-only edits. |
| Numeric Molang samples and generic assertions. |
| Single-particle or deterministic multi-layer previews. |
| Electron editor. |
| Embedded Snowstorm authoring knowledge. |
| Copy a user-provided video into the automatic managed directory. |
| Discover imported reference videos. |
| Scene-aware frames, contact sheet and manifest. |
| Mixed-track high-pass attack candidates for timing. |
| Targeted timecode extraction with decoded PTS reporting. |
| Side-by-side reference/preview MP4 with reference audio. |
Security and Limits
The server confines configured particle, texture and reference-video paths, rejects traversal including symlink escapes, serializes MCP writes, and creates backups. Batch writes lock every target, verify every digest before mutation and attempt every rollback if a rename fails. A process crash can still interrupt a multi-file commit, so retained backups remain the recovery source. Do not run it against folders writable by untrusted local processes.
Generated previews validate the local Snowstorm simulator only. Verify texture blending, anchors, collisions, selector links, MagicSpells timing and performance inside Minecraft before shipping.
License
This project is GPL-3.0-or-later because it vendors Snowstorm, which is GPL-3.0-or-later. Snowstorm source is retained in vendor/snowstorm; see NOTICE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, edit, render, save, and export voxel models with interactive 3D previews.
Screenplay, film and story toolkit over MCP: PDF formatting, stats, diagnosis, video prompts.
AI editor to build, animate & export layered short-form video projects via one tool catalog.
AI story development, screenplay editing, review, media, and export tools for BeatBandit projects.
Related MCP Servers
- AlicenseAqualityAmaintenanceThe first MCP server for Final Cut Pro. 53 tools that parse, edit, and generate FCPXML timelines via natural language. Health checks, flash frame detection, chapter markers, rough cuts, NLE export. 912 tests, MIT licensed.13362 PyPI109MIT
- AlicenseAqualityCmaintenanceAn MCP server that assembles CapCut International projects by reading and writing local project files, adding captions, subtitles, overlays, and more so editors start with a mostly-done timeline. It includes tools for inspecting projects, restyling captions, importing subtitles, and rendering alpha-channel overlays via Remotion.81MIT

Clipkitofficial
AlicenseAqualityBmaintenanceAuthor, validate, preview, and render motion-graphics videos from a single JSON document (Clipkit Protocol). 16 tools with in-chat PNG previews, captions, templated promos, and hand-off to a free browser editor by link.1617Apache 2.0- AlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP clients to programmatically edit video projects on a local desktop editor, with 119 tools for multitrack editing, effects, captions, audio, and batch auto-editing, producing reviewable and reversible real timeline edits.AGPL 3.0