Podcast Recommendations — Podcast Discovery MCP 🎰🎙️
Podcast recommendations beyond the charts: long-tail podcast discovery, recommendations, and random spins — randomized probe queries surface shows the charts recycle forever, and every pick carries its feed URL, cadence, and typical episode length.
Ask any agent: "find me a podcast about Byzantine history I haven't heard of"
or "surprise me with a podcast" — podcast-recommendations is the tool that answers.
Zero API keys, zero configuration. Built on Apple's keyless iTunes podcast
endpoints (verified) and direct RSS feed reads: a 300KB feed becomes ~200
tokens of show intelligence, all arithmetic done server-side.
Why this exists
Search APIs return the same chart toppers for every query; LLMs recommend the
same famous podcasts everyone already knows. podcast-recommendations fixes discovery:
- Randomized probe queries ("lesser known true crime", "history dispatches") fish the long tail instead of recycling the top 10.
- Hard filters remove dead shows, one-episode experiments, explicit content (opt-in), and anything on your exclude list — with publisher-level dedupe so multi-picks stay diverse.
- Feed peeks compute cadence (daily/weekly/…) and typical episode length server-side — commute-fit facts the model never has to calculate.
- Honest attribution: every pick says which probe surfaced it. Discovery you can trust.
Tools
| Tool | What it does |
|---|---|
roulette |
The discovery spin: long-tail picks by topic (or fully random), 1–5 distinct shows |
trending |
Apple's charts overall or by genre, enriched with feed URLs + episode counts |
peek |
Read any podcast RSS feed → cadence, typical length, latest episodes |
list_genres |
Genre names accepted by roulette/trending |
skills_list / skill_read |
Updatable usage playbooks (fetched from this repo at runtime) |
Plus prompts: surprise-me, commute-pick.
Quickstart
# 1-Line Universal Installer (auto-configures Claude Desktop, Cursor, Claude Code, VS Code, ...)
curl -fsSL "https://podcast-recommendations.builditwithai.xyz/install" | bash
# Or run directly via your preferred runtime:
uvx podcast-recommendations
npx -y podcast-recommendations
Example
User: find me a podcast about true crime I haven't heard of
roulette(topic="true crime", exclude=["Serial", "Casefile"])
→ picks: [{
title: "Milk and Murder", episode_count: 23,
cadence: "biweekly", typical_episode: "24m",
why_picked: "surfaced by the probe query “true crime chronicles”…",
feed_url: "https://www.spreaker.com/show/4529395/episodes/feed",
recent_episodes: ["24. Lindsey Baum - Part Two (2022-05-11, 10m)", ...] }]
Telemetry & privacy
Anonymous usage telemetry (no PII, no queries, no paths) via the fleet
standard (schema v2, dual-endpoint fallback). Opt out any time:
PODCAST_RECOMMENDATIONS_TELEMETRY=false or DO_NOT_TRACK=1.
Development
uv venv && uv pip install -e ".[dev]"
DO_NOT_TRACK=1 .venv/bin/python -m pytest tests/ -q # unit + live + e2e
Live tests hit the real iTunes endpoints and real podcast feeds; they skip themselves when offline.
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file podcast_recommendations-0.1.0.tar.gz.
File metadata
- Download URL: podcast_recommendations-0.1.0.tar.gz
- Upload date:
- Size: 32.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e24d85ca4bde695fe26230ded27ac763da49a485cff81abcd52f4929eca1cc2a
|
|
| MD5 |
f67c7cb259960843ae670fab8d6832a7
|
|
| BLAKE2b-256 |
1bd86dda888a5d732c139f50183e1d4cbaaf7cc2489d8e8348e4d4f9cbb3828c
|
File details
Details for the file podcast_recommendations-0.1.0-py3-none-any.whl.
File metadata
- Download URL: podcast_recommendations-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d183919e7b2c6f5fb5b8963da585eb134c8690471104da74fc6361b7370ec255
|
|
| MD5 |
685d68372905819c7fcd80521b94e5d6
|
|
| BLAKE2b-256 |
aec8ee03bac2ef1fb0bfbb3d6926cb1ca1dfa37eedce10d678220c970d574d9e
|