Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VIDX_HOMENoDirectory used to store vidx data (SQLite DB and per-video embeddings). Defaults to ~/.vidx.
VIDX_DEVICENoCompute device to use: 'cuda', 'mps', or 'cpu'.
VIDX_ENCODERNoVideo encoder to use: 'libx264' or 'h264_videotoolbox'.
VIDX_SILENCE_DBNoDecibel threshold used by the silence/audio-event analyzer.
VIDX_WHISPER_TASKNoWhisper task: 'auto', 'transcribe', or 'translate'.
VIDX_WHISPER_MODELNoWhisper model used for transcription. Default is 'small'; try 'medium' or 'large-v3' for languages such as Malayalam.
VIDX_SHOT_THRESHOLDNoThreshold used by the shot-detection analyzer.
VIDX_WHISPER_LANGUAGENoForce the Whisper transcription language, e.g. 'ml'.

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
index_videoA

Index a video file (shots, transcript, audio/visual events, CLIP embeddings). Re-indexing the same file is a no-op unless force=true. captions=true adds one-line shot captions (slower). Returns video_id, duration, shot count, language and a short summary.

overviewA

Table of contents. level="scenes" covers the whole video in <=limit lines (similar shots merged, long shots split at pauses); level="shots" lists shots s1..sN (page with offset).

queryB

Find time ranges. kind: speech (exact+fuzzy transcript match), visual (CLIP text->shot), event (e.g. "silence>1.5", "black", "loud", "freeze"), any (event syntax, else speech+visual).

get_segmentA

Detail for one range: start/end in seconds or shot ids (start="s3" alone = that shot). fields: any of words,events,shots,wordtimes (wordtimes = per-word timestamps for precise cuts).

peekA

SEE frames (costs image tokens; use sparingly). target = video_id or a rendered version id (v3). times = seconds or shot ids, e.g. ["12.5", "s3"]; omit for an even visual summary. Returns one contact sheet (max 4x4 tiles, each labeled with its timestamp); size = longest side of a tile.

editA

Create a version from an edit script (see server instructions for the DSL). With parent_version, the script is appended to the parent's script (incremental fix) unless it has its own base line. Returns version id, segment count, output duration and warnings.

renderC

Render a version with ffmpeg. preset: original | reel_9x16 | yt_16x9. Returns path, duration, size.

checkA

QA a rendered version: black frames, new freezes, mid-word cuts, audio jumps at joins, loudness vs preset target, duration limits. Each finding has a time and a DSL fix. Returns OK when clean.

diffC

What changed between two versions: added/removed/moved source ranges, option changes, output duration delta.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool maps to a distinct stage of the video workflow: ingest (index_video), navigation (overview), search (query), detail (get_segment), visual inspection (peek), editing (edit), output (render), QA (check), and comparison (diff). The retrieval tools (overview/query/get_segment) could superficially overlap, but the descriptions clearly separate navigation, time-range search, and single-range detail.

Naming Consistency4/5

All names are lowercase snake_case, which is stylistically consistent, and the two multiword names (index_video, get_segment) follow verb_noun. However, the rest are bare nouns or verbs (overview, query, peek, edit, render, check, diff), so the verb_noun pattern isn't uniform across the set.

Tool Count5/5

Nine tools is well-scoped for a video indexing/editing/rendering pipeline, with each tool earning its place across a clear ingest-to-QA lifecycle. Nothing feels redundant or padded.

Completeness5/5

The surface covers the full lifecycle: indexing, TOC/navigation, search, detail retrieval, visual inspection, scripted editing, rendering with presets, QA checks, and version diffing. No obvious dead ends given the described domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues