showntell
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHOWNTELL_DATA | No | Walkthroughs, audio cache, models, lockfile and log | ~/.local/share/showntell |
| SHOWNTELL_HOST | No | Interface; anything else requires an access token, which is generated and added to links | 127.0.0.1 |
| SHOWNTELL_PORT | No | Daemon port; the next free one is used if taken | 4747 |
| SHOWNTELL_VOICE | No | Default voice; any English Kokoro voice, such as am_michael or bf_emma | af_heart |
| SHOWNTELL_SPEECH | No | Speech backend: mlx on Apple silicon, onnx elsewhere, or fake for tests | auto |
| SHOWNTELL_THREADS | No | CPU threads for ONNX speech | up to 6 |
| SHOWNTELL_ONNX_MODEL | No | ONNX variant; model (fp32) can be faster on CPUs without AVX2 | model_quantized |
| SHOWNTELL_PUBLIC_URL | No | Base URL for links when viewing from another device, such as a Tailscale name; links then carry an access token |
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 |
|---|---|
| start_walkthroughA | Create a narrated walkthrough. Pass its opening in |
| add_slidesA | Append slides to a walkthrough, written in Markdown. Calls:
Format:
Inline code may set start=10.
|
| revise_slideA | Replace one slide, found by its id, with new Markdown. Only narration whose text changed is voiced again; the rest keeps its audio. Omit the heading to keep the slide's title, classes and attributes. Use it for a slide a reply reported as broken, or to rework a finished walkthrough: find its handle with list_walkthroughs and read its Markdown from the resource showntell://walkthroughs/{id}. The reply's slide_url plays only the revised slide; share it when the user asked for the change. |
| finish_walkthroughA | Close the walkthrough after its last slide. Records the end questions and returns a summary: remaining problems, each slide's start time and look (kind, layout, takeaway, icons) and what could not be checked. It names runs of slides that look alike, with pictures of them; revise one in each run into a different look before telling the user. With Playwright installed it first draws every slide, so the summary already reports render and layout problems (render errors, text_too_small, overflow, drawing_overlap); fix them with revise_slide. Call preview_slides only for slides it names, a drawing or diagram you want to see, or when the user asks. Then tell the user it is finished and give the link; if they want a video or a file to send, call export_walkthrough. |
| export_walkthroughA | Save a walkthrough as one file the user can keep or forward: an MP4 video (H.264 and AAC, with a subtitle track) or a self-contained HTML page that plays offline in a browser. Call it after finish_walkthrough and the fixes its reply names. It waits up to five minutes for narration still being voiced, then renders; an MP4 takes about a tenth of its length plus a few seconds. Use it when the user asks for a video, or for a file to share, send or attach. MP4 needs ffmpeg and Playwright Chromium, HTML neither; the error says what is missing. |
| list_walkthroughsA | List recent walkthroughs with their handles, titles and links. Use it to find the handle of a walkthrough to revise later, including one from an earlier session. Its Markdown source is the resource showntell://walkthroughs/{id}, where id is the part of the handle before the dot. |
| preview_slidesA | Look at slides as the viewer sees them: returns a small picture of each, fully revealed, plus any layout problems the player found while drawing them. Use it for chosen slides (one a reply named, a drawing or diagram, a revised slide) to check that code is readable, diagrams fit and nothing overlaps; finish_walkthrough already draws every slide and reports these problems, so a full preview after it is rarely needed. Needs Playwright on the machine running showntell; the reply says how to install it if missing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| diff | Narrated walkthrough of a commit range, a branch or the working tree. |
| review | Narrated code review of a commit range, a branch or the working tree: a verdict and ranked findings, with evidence. |
| file | Narrated walkthrough of one source file. |
| topic | Narrated walkthrough of a concept, algorithm, design or piece of maths. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| walkthroughs | Recent walkthroughs with titles, links and handles |
| slide-kinds | Every kind of visual a slide can show: how to write it, what cues point at, how it reveals, with an example |
TDQS
Scored across 7 tools
Each tool maps to a distinct stage of the walkthrough lifecycle: start, append, list, revise, preview, finish, export. The only potential overlap—preview_slides and finish_walkthrough both surface layout problems—is explicitly resolved in finish_walkthrough's description, which says finish draws every slide and full preview is rarely needed.
All names follow a snake_case verb_noun convention (start_walkthrough, add_slides, revise_slide, preview_slides, finish_walkthrough, export_walkthrough, list_walkthroughs). Singular/plural variation is natural and predictable.
Seven tools is well matched to a focused authoring workflow; each has a clear lifecycle role and none feels redundant or missing for the core create-edit-preview-finish-export flow.
The server covers the full authoring lifecycle from creation through slide addition, revision, preview, completion, export, and listing. Minor gaps such as slide deletion/reordering or a dedicated get-walkthrough tool are not obvious blockers because list_walkthroughs plus the walkthrough resource source provide read access.