Reel
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Reel
Reel is an MCP server that lets your coding assistant transcribe any video on your Mac, on-device, through utt.
Point it at any file ffmpeg can read (mp4, mov, mkv, webm, avi and so on). Reel extracts the sound, splits long videos on silence so no sentence is cut in half, has utt transcribe each piece on your Mac, and hands one stitched transcript back to the assistant that asked.
Part of utt
Reel is an extension for utt. It needs utt installed and running, and it does no speech recognition of its own.
utt is one on-device speech-to-text app for the Mac. It runs Parakeet TDT v3 or Whisper, and nothing leaves the Mac. Extensions bring that one engine, with the model, vocabulary, replacements and cleanup you already chose, into the other tools you use. You install utt once and add an extension for each tool:
Extension | What it does |
Reel (this repo) | Your coding assistant transcribes any video on your Mac through utt. |
Talk to Claude Code from your iPhone. utt transcribes on the Mac. | |
Dictate into OpenCode's prompt with utt. | |
Start dictation, pick utt's microphone and reuse recent transcripts from Raycast. |
Download utt at utt.jurrejan.com/download. All extensions are listed at utt.jurrejan.com/extensions.
Related MCP server: video-to-llm
Requirements
Install
Reel is not on npm yet. Clone it and install its dependencies:
git clone https://github.com/doublej/reel.git
cd reel
bun install
just install-page # draw Reel's settings page inside utt nowThe settings page is also drawn the first time an assistant starts the server. It shows the exact config for your checkout, ready to copy.
Claude Code
claude mcp add --scope user reel -- bun /path/to/reel/src/index.tsjust register runs this command with the path of your checkout filled in.
OpenCode
Add Reel to the mcp block of your opencode.json:
{
"mcp": {
"reel": {
"type": "local",
"command": ["bun", "/path/to/reel/src/index.ts"],
"enabled": true
}
}
}Other MCP clients
Any client that runs local stdio servers, such as Claude Desktop or Cursor, takes
the usual mcpServers entry:
{
"mcpServers": {
"reel": {
"command": "bun",
"args": ["/path/to/reel/src/index.ts"]
}
}
}If the client cannot find bun on its PATH, use the full path to it
(which bun).
Tools
Tool | What it does |
| Takes |
| Takes |
hints are words a recogniser tends to get wrong, such as names, products and
repo names. Near misses are corrected to them.
timestamps adds a line per word under the transcript, as start end word in
seconds from the start of the video. That is enough to cut the video on a word.
The transcript then reads as the recogniser heard it, without utt's cleanup, so
the words and the times describe the same thing.
wait_seconds defaults to 120. Jobs are kept in memory, so a job_id does not
survive a restart of the session that started it.
Settings, inside utt
Reel has its own page in utt, under Extensions:
Let assistants turn video into text: the off switch. When it is off, every request is turned away.
Keep a list of the videos: the list of transcribed videos the page shows.
Save the words beside the video: leaves a
.txtfile next to each video.
Privacy
Nothing is uploaded. Reel never opens a network connection. ffmpeg reads the
video on your Mac, and utt transcribes the audio on your Mac. Reel hands audio to
utt through files in utt's extensions folder, and keeps its own small history in
~/Library/Application Support/dev.jurrejan.reel/. utt's menu bar icon lights
up in Reel's colour while it works on Reel's audio, so transcription never
happens without you being able to see it.
Development
bun install
just check # Justfile format, file sizes, Biome lint, tsc, bun test
bun src/index.ts # run the server on stdioBun runs src/index.ts directly. There is no build step. See
CLAUDE.md for how the code is laid out and the rules it keeps.
License
MIT © 2026 Jurre Jan
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Transcribes audio and video files to text, SRT, VTT and timestamped chunks for RAG.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
FFmpeg as a service for AI agents: typed video editing tools, async jobs, downloadable outputs.
Timestamped transcripts, chapters and clip suggestions from YouTube, Twitch, Kick or TikTok links.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables downloading videos from platforms like YouTube and converting them to text using OpenAI Whisper and ffmpeg. It supports multiple output formats including TXT, JSON, SRT, and VTT for transcriptions.216 npmISC
- AlicenseNot gradedqualityCmaintenanceEnables LLM agents to process local videos into timestamped, citable text documents and then query them through tools for listing videos, retrieving transcripts, and fetching specific segments, all fully offline.31 PyPIMIT
- AlicenseAqualityCmaintenanceEnables MCP clients to transcribe audio/video files locally, generate SRT subtitles, and burn captions into videos via tool calls, without a cloud API.3MIT
- AlicenseAqualityBmaintenanceEnables AI clients to watch local video files or YouTube/Bilibili and other supported URLs, receiving timestamped transcripts, subtitles, searchable text and keyframe contact sheets. Runs fully offline with local speech recognition and bundled ffmpeg, so no API key or cloud upload is needed.674 PyPI12MIT