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
MCP server

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.
All reasons and checks

yldm-tech/kando

Install

Manual install

claude mcp add kando -- /Applications/Kando.app/Contents/MacOS/Kando mcp

The macOS path after installing the app. On Linux and Windows use the path to the Kando executable.

Access and checks

How we review

Extended 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_KEY secret
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.

MCP server, /video plugin and CLI: transcript, key frames, on-screen text and metadata for a YouTube, Loom or local video

MCP serverExtended access122Repository stars

An MCP server that turns a video or podcast link into a transcript, subtitles and a Markdown note, with frames and speech.

MCP serverExtended access103Repository stars

MCP server that gives an agent a YouTube video's transcript from its link, with language choice, timestamps and ads filtered out

MCP serverExtended access603Repository stars

A skill that transcribes video, lets you review captions in a browser and burns in Chinese and English captions.

SkillExtended access127Repository stars

MCP server, CLI and desktop app that cut a long video or stream replay into vertical clips with captions

MCP serverExtended access457Repository stars

MCP server for YouTube transcripts: an agent gets a video transcript by URL, with timestamps and metadata

MCP serverExtended access496Repository stars

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.

README badge

Report a problem