English | 한국어
# CuePrecise > **Find the exact moment in a long YouTube video—and see the evidence behind the answer.** A long video in a language you do not speak should still be searchable. CuePrecise is an open-source MCP server for Claude Desktop, Codex, Cursor, and other AI clients. It turns a YouTube video's original speech, captions, speakers, and relevant frames into a searchable local reference. CuePrecise analyzes videos longer than an hour in about three minutes. It does not send the whole video to your AI client for every question. It transcribes the original audio in chunks, indexes the evidence, and retrieves only the passages and frames related to your question. The transcription starts with the original audio. When original-language YouTube captions are available, they fill matching gaps for Latin-script names and terms missed by the transcription. You can ask about a video in your own language and still get the original words, speaker information, relevant frames, and a timestamp that takes you back to YouTube. Precise retrieval may require terms in the video's original language. Actual processing time depends on the video, network, and API response time. [](LICENSE) [](https://www.python.org/) [](https://github.com/Nattentia/cueprecise/actions/workflows/ci.yml) [](https://mcpservers.org/servers/nattentia/cueprecise) [](https://glama.ai/mcp/servers/Nattentia/cueprecise) ## See it in action The attached demo uses a Polish-language interview. Ask what it is about in your own language; CuePrecise returns relevant moments, the original transcript, and matching frames as evidence. ~~~text You: I do not speak Polish. What is this interview about? Your AI + CuePrecise: Explains the interview in your language, points to relevant moments, and provides the original transcript and matching frames as evidence. ~~~ https://github.com/user-attachments/assets/ce7d595b-871f-469a-bcb8-798713751ffd Demo source: “Czym jest prompt injection i jak chronić firmę przed złośliwą instrukcją dla AI? Gośc. Tomasz Bartel” by Daniel Bartosiewicz | Content i Automatyzacja, licensed under CC BY. [**Download CuePrecise → GitHub Releases**](https://github.com/Nattentia/cueprecise/releases) - **Jump to the answer.** Get a timestamp for each item in a summary. - **Keep speakers separate.** Compare what each person said and why. - **Find a referenced screen again.** Connect a relevant frame to what was being explained. - **Check the source.** Open the original YouTube video at the cited moment. - **Watch with Korean subtitles.** Play the video with subtitles translated from the same evidence used in the analysis. Try questions like these: ~~~text What is the main argument of this video? Include timestamps for each point. Find where the speaker explains self-supervised learning. When does that phrase appear on screen? Compare each speaker's position on basic income and include the supporting passages. If these speakers debated a new issue, what arguments and counterarguments would follow from what they actually said in the video? ~~~ In Claude Desktop, clicking a timestamp opens YouTube at that moment. Other AI clients may render timestamp links differently. ## It keeps answers tied to evidence CuePrecise is not just a summarizer. It gives your AI client the material it needs to answer a question and lets you check where the answer came from: - Gemini's word-level transcription of the original speech. - Original-language YouTube captions, when available, to recover missed Latin-script terms. - Frames from screen references, recovered terms, or explicitly requested timestamps. - Speaker labels, confidence, and provenance for retrieved words. When evidence is absent or weak, CuePrecise reports insufficient evidence. The analysis bundle stays on your computer, so a later conversation can search the same video without starting over. Audio chunks used for transcription are sent to Gemini; see [PRIVACY.md](PRIVACY.md). ### Recovering a term the transcription missed Names and technical terms are easy to lose in a long transcription. In one 23-minute Korean technical lecture, the phrase `self supervised learning` disappeared from all four Gemini-only transcription runs. ~~~text Gemini transcription: So how did they learn this ability? It is a way of learning. CuePrecise merge: So how did they learn this ability? self supervised learning is a way of learning. ~~~ CuePrecise checks the YouTube captions from the same time range and fills only a matching gap. It does not rewrite Gemini's words. Words supplied by captions keep their origin. The measured example looked like this: - The YouTube original-language captions contained 91 Latin-script words and the missing phrase. - The Gemini runs contained 28–29 Latin-script words, but missed the phrase every time. - The merged result contained 38 Latin-script words and recovered the phrase while keeping the Korean transcription quality. This is one measured edge case, not a general accuracy claim. The exact merge rules and validation criteria are documented in [CONTRACT.md](CONTRACT.md). ### Compare speakers without pretending to know their names CuePrecise carries speaker information across chunks of a long video. Speaker labels are identifiers, not real names. Confirmed and inferred identities are kept separate, and weak evidence remains unresolved instead of being presented as a fact. That lets your AI client: - collect one speaker's claims and supporting passages; - compare the positions of several speakers; - simulate a debate about a new issue using the speakers' actual statements as evidence. A simulated debate is generated from the video. It is not a claim that those people actually discussed the new issue. ### Watch with Korean subtitles built from the same evidence CuePrecise can overlay Korean subtitles on a foreign-language lecture using the evidence already collected during analysis. First, it fixes the terminology. Gemini's transcript is checked against YouTube captions and on-screen text to resolve spellings such as `by torch → PyTorch` and `combine JS → ConvNetJS`. The terminology is locked before translation so the same term stays consistent across batches. Your AI client translates the lecture in small batches. CuePrecise checks the returned translations for numbers, terminology, reading speed, missing lines, and style, then returns only the flagged lines for review. Translation makes no additional Gemini calls; usage or charges from your AI client still depend on that client's plan. In one measured run on a 68-minute lecture with 934 sentences, terminology review took about two minutes and 19 translation batches took about 14 minutes, with six batches needing review. In that run, subtitles were produced about five times faster than playback. Actual speed depends on the video and AI client. The local browser viewer provides: - Subtitles over the YouTube player, including in fullscreen. - Korean, Korean with the original text, or original-language subtitles. - Saved preferences for font size, subtitle position, shadows, and box style. - Optional short term explanations shown when each term appears. - A searchable transcript, terminology list, and quality report in the side panel. Click a sentence to play from its timestamp. - Shortcuts: `Space` to play/pause, `←` and `→` to seek five seconds, `C` for subtitle language, `T` for term explanations, and `F` for fullscreen. The quality report excludes purely cosmetic differences such as `MinGPT → minGPT` from its correction count. Korean is the only translation target currently supported; other languages are on the roadmap. ## Quick start > **Windows Smart App Control:** v0.2.5 was blocked on PCs where Smart App Control is on > (`[WinError 4551] An Application Control policy has blocked this file`). Starting with > v0.2.6, the Claude Desktop extension ships only widely used runtime files (the official > Python embeddable package and an unmodified FFmpeg release build) and runs with Smart App > Control on. `v0.2.10` ships the other AI clients installer the same way, as a plain zip > instead of an unsigned installer executable. There is no remaining known Smart App Control > issue. ### Claude Desktop on Windows — one-file extension 1. Open [Releases](https://github.com/Nattentia/cueprecise/releases) and download `cueprecise-windows.mcpb`. 2. In Claude Desktop, open **Settings → Extensions → Advanced settings → Install Extension**. 3. Select the file. Claude will ask for a Gemini API key and a folder for local video data. 4. Enable CuePrecise and ask Claude about a YouTube link. The approximately 97 MiB bundle includes CuePrecise, an embedded Python runtime, `yt-dlp`, FFmpeg, and FFprobe. You do not need to install Python, Git, or the video tools separately. The extension is currently available for Claude Desktop on Windows. ### Other AI clients on Windows 1. Open [Releases](https://github.com/Nattentia/cueprecise/releases) and download `cueprecise-windows.zip`. 2. Extract the zip and double-click `CuePrecise 설치.cmd`. Windows may ask you to confirm running it. 3. Paste a Gemini API key from [Google AI Studio](https://aistudio.google.com/api-keys) when asked, then pick the AI clients found on your computer. 4. Fully quit and reopen the connected clients. An AI client can also run the script non-interactively instead of walking through the prompts, for example `CuePrecise 설치.cmd --api-key-stdin --targets claude-desktop,codex`. It adds only the CuePrecise entry and backs up existing configuration when it can do so safely; a secret-bearing Codex TOML may be left without a backup to avoid copying the key. On Windows, the API key is encrypted with Windows DPAPI for the current user. Older plaintext CuePrecise keys are moved into the protected store during an upgrade. > **Unsigned preview:** `v0.2.10` is not digitally signed, so Windows may show an > unknown-publisher warning. Download it only from this repository's Releases page and > verify `SHA256SUMS.txt` if you want to check the file before installing it. ### macOS, Linux, and command-line installation With [uv](https://docs.astral.sh/uv/getting-started/installation/): ~~~bash uv tool install git+https://github.com/Nattentia/cueprecise cueprecise setup ~~~ The setup command configures detected supported AI clients, including Claude Desktop, and creates the default data directory `~/.cueprecise/data`. It keeps a timestamped `.bak` file when an existing configuration can be backed up safely. If a secret-bearing configuration cannot be parsed safely, it avoids making an unsafe backup. Install `ffmpeg` and `ffprobe`, then check the environment: ~~~bash cueprecise doctor ~~~ Create a [Gemini API key](https://aistudio.google.com/api-keys), then pass it through standard input or a file so it does not appear in the command or shell history: ~~~bash cueprecise setup --api-key - # paste the key, then press Enter cueprecise setup --api-key-file ~/.gemini-key # read it from a file pass show gemini/api-key | cueprecise setup --api-key - cueprecise run "https://www.youtube.com/watch?v=VIDEO_ID" --language en-US cueprecise status VIDEO_ID ~~~ If a key is exposed, delete it in [Google AI Studio](https://aistudio.google.com/api-keys) and create a new one. See [PRIVACY.md](PRIVACY.md) for the full procedure. For source development only: ~~~bash git clone https://github.com/Nattentia/cueprecise.git cd cueprecise python -m pip install -r requirements.txt python src/pipeline.py --help ~~~ ## Supported AI clients `cueprecise setup` can detect and configure: - Claude Desktop - Codex - Claude Code - VS Code - Cursor - Windsurf - Gemini CLI Configuration paths for Cursor, Windsurf, and Gemini CLI are included, but their complete setup flows have not yet been verified on the development PC. Run it for every detected client, for one named client, or to inspect the result: ~~~bash cueprecise setup cueprecise setup --client codex cueprecise doctor ~~~ An application counts as installed when its executable is on `PATH`. A leftover configuration folder is not treated as proof that the application is present. An undetected client can still be named explicitly with `--client