Let AI agents watch videos: local transcripts, speakers, scenes, chapters and moment search
Runs on your machine from its package; the steps are below.

At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y klaket-mcp
MCP client config
{
"mcpServers": {
"klaket": {
"command": "npx",
"args": [
"-y",
"klaket-mcp"
]
}
}
}Turn any video into LLM-ready data.

A klaket is a clapperboard — the tool that syncs sound and image on a film set. Klaket syncs video with LLMs.
LLMs read text. The web became readable with scrapers — but video, the largest store of human knowledge, is still locked away. Klaket unlocks it: give it a video URL or file, get back structured, timestamped, LLM-ready data.
pip install klaket
klaket ingest "https://youtube.com/watch?v=..." --wait
{
"transcript": [
{ "start": 14.32, "end": 19.80, "speaker": "S1", "text": "So let's deploy this with docker compose..." }
],
"scenes": [
{ "start": 190.0, "end": 342.5, "keyframes": ["scene_004_01.jpg"] }
],
"chapters": [...],
"summary": "..."
}
"model": "medium").srt / .vtt files with speaker labelsKLAKET_VLM=off by default)GET /v1/jobs/{id}/search?q=… finds the exact moment# pip install klaket
from klaket import Klaket
result = Klaket().process("https://youtube.com/watch?v=...", num_speakers=2)
// npm i klaket-sdk
import { Klaket } from "klaket-sdk";
const result = await new Klaket().process("https://youtube.com/watch?v=...");
# Claude Code
claude mcp add klaket -- npx klaket-mcp # KLAKET_API_URL defaults to localhost:8484
Then: "Watch https://youtube.com/watch?v=… and summarize the commands the presenter runs."
The agent gets klaket_ingest, klaket_job_status and klaket_get_result tools.
git clone https://github.com/huseyinstif/klaket.git && cd klaket
docker compose up --build
# API on :8484, dashboard on :5180
curl -X POST localhost:8484/v1/ingest \
-H "Content-Type: application/json" \
-d '{"url": "https://youtube.com/watch?v=..."}'
That's it — no API keys, no GPUs required. make help lists developer shortcuts (make up, make test, make e2e).
client ──► Go API ──► Redis queue ──► Python worker (ffmpeg · faster-whisper · scenedetect)
│ │
dashboard ◄────────────────────┘ /data/jobs/<id>/result.json
apps/api — Go, job orchestrationapps/worker — Python, media pipelineapps/dashboard — React dashboardKlaket is open source (AGPL-3.0) and fully self-hostable. A hosted, pay-per-minute cloud API with managed GPUs is planned — join the waitlist (coming soon).
🚧 v0.7 — pre-1.0, moving fast. Star the repo to follow along.
AGPL-3.0. SDKs and clients will be MIT.
Built by Hüseyin Tıntaş — X (@1337stif) · LinkedIn