rostrum
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROSTRUM_FFMPEG | No | Path to the ffmpeg executable if ffmpeg is not on PATH. | |
| ROSTRUM_FFPROBE | No | Path to the ffprobe executable if ffprobe is not on PATH. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| analyzeA | Transcribe recordings and find proposed cuts. |
| job_statusC | Progress and, when finished, the result of a long-running job. |
| statusC | Summary of every talk in the project: stage, cut counts, expected output length. |
| planC | Every cut per talk with reason, level, decision and the expected output length. Never renders. |
| list_cutsC | All cut candidates with evidence, for one talk or all talks. |
| decideC | Record the user's decision for one cut: decision is "keep" or "cut"; start/end adjust its edges. |
| import_decisionsB | Apply a decisions file saved from review.html. For each cut the newer decision wins, so decisions made after the page was built are kept. The result says whether it counts as a review. |
| renderA | Render the reviewed cut list with ffmpeg. Long-running: returns a job id. Set confirmed=true only after the user explicitly said to render; without it, rostrum refuses to render a talk whose cuts nobody has reviewed yet. |
| verifyB | Check a render: duration, frames, audio continuity, decode, A/V sync at joins. Without render_dir, checks the newest render of the talk. mode is "fast" or "full". Long-running: returns a job id. |
| map_timeB | Convert a time quoted from a rendered video (e.g. "23:30") to source time, or back with to="output". render_dir is a render folder, its cutmap.json, or a render name such as render-4. With a name, pass talk when more than one talk has a render of that name. |
| doctorC | Check ffmpeg, the speech engine, model cache, disk and memory. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools map to distinct pipeline stages: analyze, decide, render, verify, and map_time are clearly separate. The main ambiguity is between job_status and status, and to a lesser extent plan/list_cuts, though their descriptions clarify the intended use.
Names are readable and all use snake_case, but they mix bare verbs (analyze, plan, decide, render, verify), verb_noun patterns (list_cuts, import_decisions, map_time), and noun-style names (job_status, status, doctor). This is a mixed convention rather than a predictable pattern.
Eleven tools is well within a reasonable range for a video-analysis and rendering workflow. Each tool corresponds to a meaningful pipeline step rather than feeling redundant or padded.
The surface covers the core lifecycle: analysis, project status, cut inspection, decisions, rendering, verification, time mapping, and environment diagnostics. Minor gaps exist around project/talk management, such as listing or deleting projects, but core workflows are covered.