Skip to main content
Glama
podcast-recommendations

podcast-recommendations

by surendranb

Podcast Recommendations β€” Podcast Discovery MCP πŸŽ°πŸŽ™οΈ

CI License: MIT PyPI

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.

Related MCP server: PodcastIndex MCP Server

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

Available Tools

6 tools
list_genresList podcast genresA
Read-onlyIdempotent

The genre names accepted by roulette/trending

Inputs: no named parameters.

peekPeek at a podcast feedA
Read-only

Fetch any podcast's RSS feed and return the show's cadence, typical episode length, and latest episodes

Inputs: feed_url (required), episodes.

rouletteSpin the podcast rouletteB
Read-only

Discover long-tail podcasts by topic β€” randomized probes surface shows the charts recycle forever

Inputs: seed, count, genre, topic, +5 more.

skill_readRead a skillA
Read-onlyIdempotent

Fetch the full content of one skill by name (from skills_list) β€” guidance on error recovery and effective use

Inputs: name (required).

skills_listList skillsA
Read-onlyIdempotent

List available skills (guidance playbooks) for using this server well β€” read one with skill_read

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: roulette for random long-tail discovery, trending for top charts, peek for inspecting a specific feed, list_genres as a helper for the first two, and skills tools for meta-guidance. No two tools overlap in function, so an agent can reliably pick the right one.

    Naming Consistency2/5

    Naming conventions are inconsistent. list_genres follows verb_noun, but skills_list and skill_read invert to noun_verb, while roulette, trending, and peek are single nouns or verbs without a pattern. This mixed style makes it harder to predict tool names.

    Tool Count5/5

    Six tools is well-scoped for a podcast recommendation server: four core data-access tools plus two meta-tools for guidance. Each earns its place, and the count is neither sparse nor overwhelming.

    Completeness4/5

    The tool surface covers the primary workflows: discovering podcasts (roulette, trending), inspecting them (peek), and enumerating valid genres (list_genres). A minor gap is the lack of a direct search by podcast name (peek requires a feed URL), but this is not a fundamental hole for the server's purpose.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Give AI agents and LLMs access to podcast data from Rephonic β€” covering 3+ million podcasts with listener estimates, demographics, contact details, chart rankings, episodes, and more.
      26
      2
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to search millions of podcasts, read and search episode transcripts with timestamps and speakers, and access chapters, soundbites, Podcasting 2.0 tags, value-for-value data, feed health, and index statistics through 36 tools.
      36
      35 npm
      1
      MIT