Kando MCP
A language-learning app with an MCP server: an agent queues video links and reads finished subtitles with translation.
- 117 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Video lines are sent to the translation provider unless you choose a local model.
- Downloads reuse the sign-ins of sites you logged in to in the app's browser.
Install
- Works in
Manual install
claude mcp add kando -- /Applications/Kando.app/Contents/MacOS/Kando mcpThe macOS path after installing the app. On Linux and Windows use the path to the Kando executable.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Video lines are sent to the translation provider unless you choose a local model.
- Downloads reuse the sign-ins of sites you logged in to in the app's browser.
This is third-party code. Review the repository files before installing.
What it does
Kando is a Go desktop app for learning a language from videos in that language. You paste a YouTube or Bilibili link or drop a video file on the window. Kando downloads the video with yt-dlp, transcribes speech on your computer with whisper.cpp, translates each line through an OpenAI-compatible model and shows the original with its translation. The same executable serves as the `kando` command line and an MCP server. `kando mcp` opens 11 tools: `kando_add_videos` queues links and files, `kando_list_jobs` shows stages, `kando_get_subtitles` returns subtitles with timestamps as SRT or compact text, and `kando_list_films`, `kando_get_film`, `kando_cancel_job`, `kando_retry_job`, `kando_remove_job`, `kando_search_sites`, `kando_open` and `kando_status` manage the library. If the app is not running, the command starts it.
Who it is for. Video-based language learners who want an agent to handle downloading clips and preparing subtitles with translation.
Good fit when
- A dozen video links should go into the queue with one request to an agent.
- Subtitles of a finished film are needed as SRT for a player or for vocabulary work.
- A job hung or failed and the agent should restart it under the same id.
- You want to check whether Kando downloads from a given site by name or link.
Not a fit when
- The app cannot be installed: the server only runs as part of Kando.
- Line translation cannot go to an external provider and no local model such as Ollama is available.
- A video needs sign-in on a site you do not want to expose to the app.
Example request
Queue three YouTube links in Kando, wait for processing to finish and show the first video's subtitles with translation.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
KANDO_LLM_API_KEYsecret- Translation provider key; overrides the EveryAPI sign-in.
KANDO_LLM_BASE_URL- Base URL of an OpenAI-compatible provider or local Ollama.
Limitations
You need the Kando app installed, an open library, the download and recognition programs and a whisper model. Translation defaults to EveryAPI; another provider can be set through `KANDO_LLM_BASE_URL` and the `KANDO_LLM_API_KEY` key, or local Ollama. Downloads carry the sign-in of the sites you logged in to in the built-in browser; you can clear it in settings. On Windows the `kando` command is not created automatically: add the folder with `Kando.exe` to `PATH` by hand. If the app is not running, the command waits up to 30 seconds for it to start.
How to disable. Run `claude mcp remove kando`. Site sign-in data is deleted with Clear Sign-in Data in the app settings.
FAQ
How do I connect Kando to Claude Code?
Run `claude mcp add kando -- /Applications/Kando.app/Contents/MacOS/Kando mcp`. If `kando` is already on `PATH`, the path `kando` works. Other clients take the same path with the `mcp` argument in `mcpServers`.
What does `kando_status` return?
The app version, the open library, whether jobs can start and what is missing, the programs, the speech and translation models, the target language and the job queue.
How do I get subtitles of a finished film?
Call `kando_get_subtitles` with the film id. The `which` parameter picks the original or the translation, `format` picks SRT or compact text, and `max_cues` limits the number of lines.
Which sites does Kando support?
The main sources are YouTube, Bilibili and local files. Other sites are found by `kando_search_sites` by name, domain or video link, and `kando sites` does the same in a terminal.
How do I set the translation model?
With the `KANDO_LLM_BASE_URL`, `KANDO_LLM_MODEL` and `KANDO_LLM_API_KEY` variables or in Settings under AI Service. Any OpenAI-compatible provider or local Ollama works.
Discussion
No questions or reviews yet.
Related
MCP serversMCP server, /video plugin and CLI: transcript, key frames, on-screen text and metadata for a YouTube, Loom or local video
An MCP server that turns a video or podcast link into a transcript, subtitles and a Markdown note, with frames and speech.
MCP server that gives an agent a YouTube video's transcript from its link, with language choice, timestamps and ads filtered out
A skill that transcribes video, lets you review captions in a browser and burns in Chinese and English captions.
MCP server, CLI and desktop app that cut a long video or stream replay into vertical clips with captions
MCP server for YouTube transcripts: an agent gets a video transcript by URL, with timestamps and metadata
README in short
The README covers the app, installation for three systems and translation setup. The command line and MCP section lists the `kando` commands, the MCP tools and environment variables, and the product site offers WebMCP tools for browser agents.