About klaket-mcp
Klaket turns video and audio files or URLs into timestamped transcripts, scenes, chapters, and searchable moments. It is for agents and developers who need structured media data, with a local-first pipeline that works without API keys.
Key features
- 01Timestamped speech transcription
- 02Speaker diarization and subtitles
- 03Scene detection and keyframes
- 04OCR for on-screen text
- 05Aligned JSON timeline
- 06Search for moments in video
Use cases
- 01Find a spoken passage in a video
- 02Extract commands shown in a tutorial
- 03Create subtitles and chapter markers
MCP support
The MCP server provides tools to ingest media, check job status, and retrieve results, allowing agents to process videos and search their contents.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y klaket-mcpKLAKET_API_URLBase URL of your Klaket API (default: http://localhost:8484)KLAKET_API_KEYSecretAPI key for cloud/authenticated deployments (not needed for local self-hosting)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
4Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Video URL (YouTube, direct file) or a path visible to the Klaket worker |
Details
From the project README🎬 Klaket
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": "..."
}
Features
- 📝 Transcript — timestamped speech-to-text in ~100 languages (auto-detected) with word-level timestamps; pick the model per job (
"model": "medium") - 🎙️ Podcasts too — pass an audio file/URL (mp3, m4a…) and Klaket skips the visual stages, deriving chapters from speech pauses
- 🗣️ Speaker diarization — who said what (S1/S2/…), local & keyless (sherpa-onnx)
- 💬 Subtitles — ready-to-use
.srt/.vttfiles with speaker labels - 🎞️ Scene detection — content-aware scene boundaries + keyframes per scene
- 🔎 On-screen text (OCR) — reads slides, terminals and captions per scene, local & keyless
- 🧩 One JSON timeline — transcript, scenes, frames and on-screen text aligned on a single timeline
- 🔌 Works offline, no API key required — the core pipeline uses zero LLM calls
- 🧠 Pluggable model layer — optional scene descriptions via local VLMs (Ollama) or any OpenAI-compatible endpoint (
KLAKET_VLM=offby default) - 🤖 MCP server — let coding agents "watch" any video and find moments inside it
- 🔍 In-video search —
GET /v1/jobs/{id}/search?q=…finds the exact moment - ▶️ Playground — the dashboard plays the video with a click-to-seek, live-highlighted transcript
SDKs
# 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=...");
Give your agent eyes
# 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.
Quick start
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).
Architecture
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 dashboard
Self-host vs Cloud
Klaket 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).
Status
🚧 v0.7 — pre-1.0, moving fast. Star the repo to follow along.
License
AGPL-3.0. SDKs and clients will be MIT.
Contact
Built by Hüseyin Tıntaş — X (@1337stif) · LinkedIn
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.