Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REELSMITH_ROOTNoOptional. When set, the tools refuse projects outside that folder and imports of local files from outside it. Example: /home/me/studio

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
manualA

The reelsmith manual: how the editor works, the project format, Times, every tool, edit ops, components and what blocks delivery. Read it once before your first edit.

describeB

The editor's window as text: canvas, safe area, duration, voice lines, tracks bottom to top with their clips, assets and the latest issues. With at (seconds or a Time like "line:4"; "clip:c2.end" = c2's last frame), only what is on screen then.

new_projectA

Create a project folder with an empty project.json (no tracks yet), assets/, voice/ and script.md. Put it in /projects/ to get the workspace's library, rules and keys.

editA

Apply a batch of edit ops atomically: all apply and validate, or nothing changes. Ops: add_track, update_track, remove_track, add_clip, update_clip, remove_clip, move_clip, split_clip, set_keyframes, add_asset (an existing id is replaced), update_asset ({"op": "update_asset", "id", "set": {...}}: deep merge, null removes a key), remove_asset, set (see the manual). Every applied batch can be undone.

undoB

Undo the last steps edit batches: project.json goes back to the snapshot taken before them.

checkA

Validate the project and apply the owner's rules. Errors block render; warnings and advice are information. Run it after a batch of edits and before render.

libraryB

The components a component clip can use (built-in presets and your own library): name, source, what it is and its prop names. With name, one component in full: props schema, example props and the source file to read as a model. Also gives the path of the @reelsmith/kit reference (docs/kit.md).

previewA

Render stills at the given moments straight from the project (no full render): seconds or Times like "line:3", "clip:c2+0.5", "end-1" ("clip:c2.end" = c2's last frame). Up to 24 per call. Returns PNG paths (look at them with Read), a contact sheet with the platform's UI bands darkened and the safe area outlined, and measured layout problems. sweep=true also measures a still every second of the whole film, as render does before it encodes (no film is made): every layout problem that would stop render shows now, with stills of the flagged moments.

renderA

Render the whole film to out/film.mp4: refuses on check errors; measures text layout every second (the same pass as preview sweep=true); renders, masters loudness and runs the delivery checks. Anything failing keeps the previous film and says what to fix; a transient renderer failure is retried once and said to be one. Takes minutes: preview first.

reviewB

Evenly spaced frames (2-24) from the delivered out/film.mp4 and a contact sheet, to judge the film as a phone viewer would.

speakA

Narrate: one item per voice line, a string or {"text", "pace"?, "emotion"?}. pace: "slower", "normal", "faster" or a speed factor 0.5-2 relative to normal (1.0 normal, 0.9 a little slower, 1.1 a little faster). emotion: a word or two (at most 20 characters, e.g. "惊讶", "平静", "surprised") passed to the voice as an instruction; how much it changes depends on the voice model. gap_s: silence between lines. Writes voice/voice.wav and voice/voice.json (line times), sets the project's voice if unset. Only changed lines cost money (cached). Paid: estimates first and refuses over budget.

captureA

Screenshot a web page at phone width as evidence asset id (assets/.png), boxing the sentence that contains match (a short exact phrase from the page, 8-20 characters is safest; empty boxes the title).

drawB

Generate an original image asset id from prompt (optionally in the style of an image asset). size: an aspect "9:16" (default, 1080x1920), "2:3", "3:4", "4:5", "1:1", "4:3", "3:2", "16:9", or pixels "WxH" with sides 256-4096. Paid or rate-limited depending on the provider; slow (minutes).

animateA

Turn image asset image_asset into a short silent video asset id (2-12 s) in which motion happens (what moves in the picture). camera: push, pull, pan_left, pan_right, rise or still (default push). Paid: estimates first and refuses over budget; a submitted job is resumed, never bought twice.

import_assetA

Copy a local file, or download an http(s) image/video/audio (size-capped), into assets/ and register it as asset id (an existing id of the same kind is replaced). kind image, video, audio or evidence (a page screenshot you have: its box is the whole picture until you set one with the update_asset edit op); empty detects it from the file. This is also how music gets in: import a file you are allowed to use.

assetsC

The project's assets with kinds, sizes and durations.

notesB

Your own notes for this workspace (library/NOTES.md): what worked, what to avoid. Read them when you start.

noteA

Append a dated note at the end of the workspace's library/NOTES.md for future work (a lesson, a preference, a fix). Keep it short and specific. To put it under a heading or reword old notes, edit NOTES.md with your file tools.

typecheckB

Type-check your own components (library/components/*.tsx) with the renderer's TypeScript, before a preview bundles them. Lists errors in your files; errors elsewhere are counted, not shown.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target clearly distinct stages of the reel workflow (edit → check → preview → render → review), and descriptions make the differences explicit. A few pairs are close enough to invite misselection: preview vs review (stills from the project vs frames from the delivered mp4), check vs typecheck, and note vs notes (append vs read).

Naming Consistency3/5

The set mixes bare verbs (render, preview, draw, speak, capture, edit), bare nouns (manual, library, assets, notes), and only two snake_case compounds (new_project, import_asset). Singular/plural siblings note/notes add to the inconsistency, though every name remains readable and guessable.

Tool Count4/5

19 tools is on the heavy side of the ideal 3-15 band, but the domain is genuinely broad (project setup, editing, validation, rendering, voice, generated/imported assets, components, notes). Almost every tool maps to a real workflow step; only the doc/note trio (manual, notes, note) feels auxiliary.

Completeness4/5

The surface covers the full lifecycle: create project, edit atomically, undo, validate, preview, render, and review the delivered film, plus asset acquisition (import, capture, draw, animate) and voice narration. Minor gaps: no project listing/deletion or script-editing tool, and clipping/caption or audio-track authoring is only implied through edit ops and file tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues