Local-first MCP server and CLI that turns recordings, podcast feeds and media URLs into cite-ready transcripts
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"quotable-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
<!-- mcp-name: io.github.rfung4/quotable --> # quotable Turn recordings, podcast feeds and media URLs into transcripts you can cite, on your own machine. Every line carries a timestamp, and a speaker label when you ask for one. Captions first, [faster-whisper](https://github.com/SYSTRAN/faster-whisper) when there are none. Exposed as an MCP server over stdio and as a CLI.  ## Install ```bash uvx quotable-mcp --help claude mcp add quotable -- uvx quotable-mcp serve ``` With speaker labels (pulls in PyTorch and pyannote, about 2 GB): ```bash claude mcp add quotable -e QUOTABLE_HF_TOKEN=hf_... -- uvx --from 'quotable-mcp[diarize]' quotable serve ``` Diarization uses pyannote's [`speaker-diarization-community-1`](https://huggingface.co/pyannote/speaker-diarization-community-1), a gated model: accept its terms on Hugging Face once, then pass a token. MCP clients start the server with a near-empty environment, so put `QUOTABLE_*` settings in the client's `env` block (`-e` above), not in your shell profile. ## Use From an agent: > Transcribe `~/meetings/2026-10-13-planning.m4a` with speaker labels and quote > what SPEAKER_01 said about the deadline, with the timestamp. From the shell: ```bash quotable get ~/meetings/planning.m4a --diarize --format srt quotable get https://feeds.example.com/podcast.xml --episode "pricing" --format txt quotable info https://www.youtube.com/watch?v=... quotable serve ``` `get` prints the transcript on stdout and streams segments to stderr as they are produced. Failures are one stderr line with the fix, exit code 1. ## Tools and resources | Name | Kind | What it does | |------|------|--------------| | `media_info(source, episode?)` | tool, read-only | Title, duration, caption languages, chapters; for a feed, its recent episodes | | `transcribe(source, mode?, lan…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.