reels
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REELS_FONT | Yes | Path to the font file, for example /absolute/path/to/reels-studio/assets/Montserrat-Black.ttf. | |
| REELS_BLENDER | No | Full path to the Blender executable if Blender is not in the usual macOS Applications folder or on PATH. | |
| REELS_DATA_DIR | Yes | Data directory for the editor process. Each editor process needs its own data directory; scenes, imported assets, and exports are stored there. | |
| REELS_RENDERER | No | Optional renderer backend. Set to `three` to select the optional Three.js backend; Blender is the default. | |
| REELS_IMPORT_ROOT | Yes | Import folder path used by the MCP server. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
AI-operated video editor. Start with reels_catalog and reels_search_assets. Reuse verified assets; do not rebuild an existing character. If the bank lacks a suitable prop, search_remote_assets and download_asset can import Poly Haven models. Inspect imported candidates before review/resolve. Retain asset provenance and required attribution. Create a declarative project; inspect compact summaries; edit one shot/entity using the current revision. Preview key frames before rendering. Render is asynchronous: poll reels_render_status sparingly. No code generation, shell tools, AI subscription, or Higgsfield is required. Draft visuals are not automatically approved or posted.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| reels_catalogB | Read supported scene features, limits, and the workflow. Small response; request the schema resource only when needed. |
| reels_search_remote_assetsB | Search downloadable Poly Haven CC0 models when the local bank lacks a suitable asset. Catalog is cached for one day. Returns compact metadata; Powered by Poly Haven. |
| reels_download_assetB | Download a selected Poly Haven model and its PBR textures, verify checksums, embed as one GLB and register in the shared bank. Reuses existing downloads. New candidates require visual review. Powered by Poly Haven. |
| reels_search_assetsB | Search reusable characters, props, sets and sounds before creating anything. Returns compact metadata, variants and readiness; no geometry in context. |
| reels_get_assetA | Read one canonical asset record, including source provenance and converted variants. |
| reels_preview_assetA | Inspect the stored preview of one selected asset without loading its mesh or running Blender. Use after search; previews may not exist for source-only assets. |
| reels_register_assetB | Register an already imported file in the searchable bank. Reuse an existing asset ID when adding a new variant. New variants require visual review before resolve will return them. |
| reels_review_assetA | Record the AI visual review of a specific imported variant after inspecting it in preview. Verified variants may be reused; reject inferior variants rather than silently substituting them. |
| reels_resolve_assetB | Resolve a verified reusable variant to the hashed asset reference for a model/image/audio field. Rejects candidates, rejected versions and stale conversions. |
| reels_createB | Create a project from structured shots or the demo. Returns only ID, revision and counts. |
| reels_listC | List projects with compact summaries and pagination. |
| reels_getB | Get a compact shot list, one full shot, or the complete document on explicit request. |
| reels_edit_shotB | Patch only supplied fields in one shot. Camera fields merge; other supplied fields replace. No scene code or full-project rewrite. |
| reels_edit_entityB | Patch one existing entity: color, pose, movement or geometry. Omitted fields stay unchanged. |
| reels_timelineC | Insert, remove or move one shot atomically. Index is zero-based in the resulting timeline; removing the last shot is rejected. |
| reels_set_audioB | Attach imported narration and/or aligned words. Whole words array replaces the previous one. Null audio removes narration. |
| reels_import_assetA | Import audio, image, or self-contained GLB from the configured local import root. Stored once by content hash; no arbitrary URLs or code. |
| reels_import_pipelineA | Import an existing work/ narration and aligned words into a new editor project. Visuals become explicit placeholders; does not convert WGSL or modify the source. |
| reels_previewA | Render one frame as an inline image. Use sparse key times; enable guides to inspect safe zones. |
| reels_renderB | Queue an MP4 export of the current revision. Identical content/settings reuse the cached export. Returns immediately. |
| reels_render_statusB | Read the last render status for a project. Output is the captured revision, even if later edits exist. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| scene-schema | Complete declarative scene document schema |
TDQS
Scored across 21 tools
Most tools have clearly distinct roles: project listing/creation, asset search/registration/review/resolution, shot/entity edits, timeline, audio and render are separable. The weakest boundaries are reels_list vs reels_get (project vs shot/document read), and the dense asset family (search_assets, search_remote_assets, get_asset, preview_asset, resolve_asset, register_asset, download_asset), where descriptions do the heavy lifting but an agent could still misselect a first step.
All tools share a predictable reels_ prefix and snake_case verb_noun form. The deviation is that project-scoped tools drop the noun (reels_list, reels_create, reels_get, reels_preview, reels_render) while asset tools name their resource explicitly, so reels_get/reels_list read less self-explanatory than reels_get_asset.
At 21 tools the surface is on the heavy side for a single MCP server, and the asset bank alone consumes eight tools (search, search_remote, get, preview, register, review, resolve, download). Each has a defensible role, but several are fine-grained steps that could reasonably be consolidated.
The lifecycle is largely covered: project creation/read, shot and entity patching, timeline mutation, audio attachment, preview/render with status, plus local and remote asset import, registration, review and resolution. Gaps remain around destructive/administrative operations — no project delete or metadata update, no render cancel/listing, and no entity or asset removal.