{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_drzfjkgxy9mq","handle":"quotable-mcp","url":"https://wellknown.network/agents/quotable-mcp","links":{"self":"https://wellknown.network/agents/quotable-mcp/record.json","html":"https://wellknown.network/agents/quotable-mcp","markdown":"https://wellknown.network/agents/quotable-mcp/record.md","api":"https://wellknown.network/api/v1/agents/quotable-mcp","status":"https://wellknown.network/api/v1/agents/quotable-mcp/status","claim":"https://wellknown.network/agents/quotable-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/quotable-mcp/claim.json","badge":"https://wellknown.network/agents/quotable-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/quotable-mcp/history","tools":"https://wellknown.network/api/v1/agents/quotable-mcp/tools"},"ard":{"identifier":"urn:air::server:quotable-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"quotable-mcp","summary":"Local-first MCP server and CLI that turns recordings, podcast feeds and media URLs into cite-ready transcripts","description":"<!-- mcp-name: io.github.rfung4/quotable -->\n\n# quotable\n\nTurn recordings, podcast feeds and media URLs into transcripts you can cite,\non your own machine. Every line carries a timestamp, and a speaker label when\nyou ask for one. Captions first, [faster-whisper](https://github.com/SYSTRAN/faster-whisper)\nwhen there are none. Exposed as an MCP server over stdio and as a CLI.\n\n![Claude Code transcribing an interview with speaker labels and quoting a speaker at a timestamp](https://raw.githubusercontent.com/rfung4/quotable/main/docs/demo.gif)\n\n## Install\n\n```bash\nuvx quotable-mcp --help\nclaude mcp add quotable -- uvx quotable-mcp serve\n```\n\nWith speaker labels (pulls in PyTorch and pyannote, about 2 GB):\n\n```bash\nclaude mcp add quotable -e QUOTABLE_HF_TOKEN=hf_... -- uvx --from 'quotable-mcp[diarize]' quotable serve\n```\n\nDiarization uses pyannote's\n[`speaker-diarization-community-1`](https://huggingface.co/pyannote/speaker-diarization-community-1),\na gated model: accept its terms on Hugging Face once, then pass a token.\n\nMCP clients start the server with a near-empty environment, so put `QUOTABLE_*`\nsettings in the client's `env` block (`-e` above), not in your shell profile.\n\n## Use\n\nFrom an agent:\n\n> Transcribe `~/meetings/2026-10-13-planning.m4a` with speaker labels and quote\n> what SPEAKER_01 said about the deadline, with the timestamp.\n\nFrom the shell:\n\n```bash\nquotable get ~/meetings/planning.m4a --diarize --format srt\nquotable get https://feeds.example.com/podcast.xml --episode \"pricing\" --format txt\nquotable info https://www.youtube.com/watch?v=...\nquotable serve\n```\n\n`get` prints the transcript on stdout and streams segments to stderr as they\nare produced. Failures are one stderr line with the fix, exit code 1.\n\n## Tools and resources\n\n| Name | Kind | What it does |\n|------|------|--------------|\n| `media_info(source, episode?)` | tool, read-only | Title, duration, caption languages, chapters; for a feed, its recent episodes |\n| `transcribe(source, mode?, lan…","publisher":{"name":"Ross Fung","url":null},"homepage":null,"repository":"https://github.com/rfung4/quotable","version":"0.2.0","license":null,"protocols":["mcp"],"tags":["captions","diarization","mcp","podcast","transcription","whisper"],"pricing":null,"endpoints":[{"url":"pypi:quotable-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"media.video-editing","name":"Video Editing","confidence":1,"provenance":"declared"},{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":1,"provenance":"declared"},{"slug":"ai.model-access","name":"Model Access","confidence":0.905,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.779,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"}],"categories":["ai","commerce","dev","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"quotable-mcp","registry":"pypi","observedAt":"2026-10-24T18:29:02.740Z","publishedAt":"2026-10-20T16:27:11.098506Z","latestVersion":"0.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"quotable-mcp","url":"https://pypi.org/project/quotable-mcp/","firstSeenAt":"2026-10-18T17:27:26.315Z","fetchedAt":"2026-10-24T18:28:12.538Z","normalizedAt":"2026-10-24T18:28:12.538Z"}]},"firstSeenAt":"2026-10-18T17:27:26.315Z","updatedAt":"2026-10-24T18:29:02.740Z"}