# Podcast Index MCP

> Podcast Index gives your agent direct access to an open database of podcast shows and episodes. Instead of scraping proprietary sites, you search for content using keywords, titles, or specific identifiers like iTunes IDs and GUIDs. It lets you list all episodes for a feed or find niche shows by the people featured in them. Use it when you need structured metadata from across the entire podcasting ecosystem.

## Overview
- **Category:** audio-music
- **Price:** Free
- **Tags:** podcasting, directory-api, metadata-retrieval, media-discovery, open-ecosystem, rss

## Description

This **Podcast Index** server gives your agent direct access to a massive, open database of podcast shows and episodes. You don't have to scrape proprietary sites; you just tell your AI client what you need, and it finds structured metadata across the whole podcasting ecosystem.

When you use this, your agent can pull up general show details using multiple identifiers: feed URLs, internal Index IDs, Podcast GUIDs, or even Apple’s unique iTunes ID number. It’s robust. You'll never get stuck because of an unsupported format.

### Finding Content

You need to find a specific show? Your agent runs searches by general keywords using `search_by_term`—think broad topics like 'finance' or 'machine learning.' You can nail down shows with `search_by_title`, which finds matches whether the title is partial or exact. Or, if you know who talked on it, you use `search_by_person` to find podcasts associated with a specific individual.

### Listing Episodes and Show Details

Fetching episode lists is simple, regardless of how the show is indexed. If you've got the full RSS feed URL or the internal Index ID, your agent uses `get_episodes_by_feed_url` or `get_episodes_by_feed_id`, respectively, to list every single published episode for that podcast. For a single deep dive, it pulls all details for one show using its unique Global Unique Identifier (GUID) with `get_episode_by_guid`. 

Beyond listing episodes, you can also grab the general metadata about the entire show—like getting basic info from `get_podcast_by_feed_url` or `get_podcast_by_feed_id`, or retrieving high-level data just using the Podcast GUID with `get_podcast_by_guid`. You can even pull network details, like a publisher's name block, by calling `get_value_by_feed_id` or `get_value_by_feed_url`.

### Discovering New and Recent Material

Need to know what’s fresh? Your agent checks for new material. It runs `get_recent_episodes` to pull a list of the latest items published across the whole index. If you're looking at sources, it gives you a rundown of feeds that were recently updated or added using `get_recent_feeds`. Better yet, if you want something brand-new and never seen by this index before, use `get_recent_new_feeds`.

Sometimes you just wanna browse. You can ask for a random selection of episodes with `get_random_episodes`, or pull up the absolute latest content using dedicated functions designed to find new shows across the network.

### Summary of Power

When your agent uses this, it means you're bypassing proprietary APIs and instead working off an open index. You can list all episodes from a feed URL via `get_episodes_by_feed_url` or pull general show details using its internal Index ID with `get_podcast_by_feed_id`. It handles retrieving detailed information for any given podcast's GUID, and it gives you access to specific value blocks like network info through both the feed URL (`get_value_by_feed_url`) and the feed index ID (`get_value_by_feed_id`). Your agent controls all this data flow, letting you query content using keywords (`search_by_term`), by show title (`search_by_title`), or even just by a person's name featured on it (`search_by_person`). You’ll have comprehensive control over your podcast research.

## Tools

### get_episode_by_guid
Retrieves the full details for a single episode using its unique Global Unique Identifier (GUID).

### get_episodes_by_feed_id
Lists all episodes associated with a podcast feed, identified by its internal Index ID.

### get_episodes_by_feed_url
Lists episodes for a podcast by providing the full RSS feed URL.

### get_podcast_by_feed_id
Gets general details about a podcast show using its internal Index ID.

### get_podcast_by_feed_url
Gets general details about a podcast show by providing the full RSS feed URL.

### get_podcast_by_guid
Retrieves high-level podcast information using its Podcast GUID.

### get_podcast_by_itunes_id
Gets general details about a podcast show using its unique Apple iTunes ID number.

### get_random_episodes
Returns a selection of episodes chosen at random from the entire index.

### get_recent_episodes
Fetches a list of episodes that were published most recently across the network.

### get_recent_feeds
Lists podcast feeds that have been added or updated very recently to the index.

### get_recent_new_feeds
Identifies and lists podcast feeds that have never been seen before by the index.

### get_value_by_feed_id
Retrieves a specific value block (e.g., network details) using a feed's internal Index ID.

### get_value_by_feed_url
Retrieves a specific value block for a podcast by providing its full RSS feed URL.

### search_by_person
Searches the index for any podcasts that feature or are associated with a named individual.

### search_by_term
Performs a broad search across all podcast content using general keywords (e.g., 'machine learning').

### search_by_title
Finds podcasts by searching for exact or partial matches against the show's official title.

## Prompt Examples

**Prompt:** 
```
Search for podcasts about artificial intelligence using a general term.
```

**Response:** 
```
I've searched the index for 'artificial intelligence'. I found several popular shows including 'The AI Podcast', 'Practical AI', and 'AI in Business'. Would you like the episode list for any of these?
```

**Prompt:** 
```
Find all podcasts featuring Lex Fridman.
```

**Response:** 
```
Searching for podcasts associated with Lex Fridman... I found his primary show 'Lex Fridman Podcast' (Feed ID: 750746) and several others where he has appeared as a guest. Should I list the most recent episodes from his main show?
```

**Prompt:** 
```
Get the latest episodes for the podcast with feed ID 750746.
```

**Response:** 
```
Fetching episodes for Feed ID 750746... The latest episodes include '#450 – Kevin Hart', '#449 – Donald Trump', and '#448 – Mark Zuckerberg'. Would you like the specific details or GUID for any of these episodes?
```

## Capabilities

### Search content using keywords and names
Find podcasts across the index using a general search term, a specific title, or by the name of a person featured in an episode.

### Retrieve podcast data from any ID type
Get full details on a show using its RSS feed URL, internal Index ID, Podcast GUID, or iTunes ID.

### List all episodes for a specific feed
Fetch a chronological list of every episode published under a known podcast feed URL or ID.

### Find recent and random content
Discover new material by listing the most recently updated feeds, getting random episodes, or pulling the latest published items.

## Use Cases

### Tracking competitor mentions
A marketing analyst needs to see which podcasts are talking about their rival. Instead of manually searching YouTube and multiple RSS feeds, they ask their agent to run `search_by_term` with the rival's name. The agent returns a list of all relevant shows and episodes.

### Building an archive for historical data
A content developer needs to build a database of classic interviews. They use `get_podcast_by_guid` combined with `search_by_person` to systematically gather all available metadata and episode details related to key figures, regardless of the original hosting service.

### Validating new content sources
A podcast aggregator needs to know if a partner has started publishing. They run `get_recent_new_feeds`. If results appear, they can then use `get_podcast_by_feed_id` to quickly pull the show's core details and verify it's legitimate.

### Curating a themed playlist
A user wants recommendations for shows related to AI. They ask their agent to run `search_by_term` ('artificial intelligence'). The agent returns the top results, and then they can use `get_episodes_by_feed_url` on the best candidate feed to see the latest episode list.

## Benefits

- Stop building custom scrapers. Instead of relying on fragile, site-specific code, you use tools like `get_podcast_by_itunes_id` to pull standardized metadata regardless of where the podcast lives.
- Search deep by person. Use `search_by_person` when your goal is tracking industry influence—you find all shows featuring a guest without knowing their specific feed ID or title.
- Get fresh content easily. The tools `get_recent_episodes` and `get_recent_feeds` let you build monitoring pipelines that alert you instantly to new material, bypassing manual checks of multiple RSS feeds.
- Handle all discovery needs. You can start broad with `search_by_term`, then narrow down the result using `get_podcast_by_feed_url` to get actionable data for a specific show.
- Never lose an episode ID. By having dedicated endpoints like `get_episode_by_guid`, you ensure that even if a feed moves or changes, your ability to pull one specific piece of content remains reliable.

## How It Works

The bottom line is: you tell your agent what content you need—a keyword, an ID, or a date range—and it pulls the accurate, structured data back to you.

1. Subscribe to this server and provide your Podcast Index API Key and Secret.
2. Call a tool (e.g., `search_by_term`) from your AI client, passing the required search parameters.
3. The server executes the query against its index and returns structured metadata and episode lists.

## Frequently Asked Questions

**How do I find episodes for a show if I only know the host's name? (using search_by_person)**
You run `search_by_person` with the host's name. This tool returns associated podcasts, giving you multiple options and their respective feed IDs to work with.

**Can I get a list of episodes if I don't know the exact feed ID? (using get_episodes_by_feed_url)**
Yes. You use `get_episodes_by_feed_url` and pass in the full RSS URL instead of an ID. The server handles the parsing to list the episodes for you.

**Which tool is best for getting all podcast details quickly? (using get_podcast_by_itunes_id)**
If you have an iTunes ID, `get_podcast_by_itunes_id` is the fastest way. It bypasses searching and goes straight to the metadata using a guaranteed unique identifier.

**How do I find new podcasts that aren't in my usual feeds? (using get_recent_new_feeds)**
Run `get_recent_new_feeds`. This tool checks the index and returns a list of entire podcast feeds that have been added recently, helping you discover content sources.

**If I use `get_podcast_by_feed_url`, what data fields are returned for a podcast?**
The tool returns core metadata including the title, description, and primary GUID. It provides enough context to verify if this is the correct show before you pull episode lists.

**When using `search_by_term`, how do I handle multiple results or filters?**
The search function returns a list of matching podcasts, each with basic details. You must specify which result's Feed ID you want to use next for deeper episode lookups.

**Can the `get_value_by_feed_id` tool retrieve specialized or structured data blocks?**
Yes, this tool accesses 'value block' metadata that goes beyond standard RSS fields. It pulls in unique content like specific network details or custom tags added to the feed.

**If a podcast has thousands of episodes, how do I use `get_episodes_by_feed_id` without hitting rate limits?**
The tool handles results in paginated chunks. You must call the function repeatedly with the provided continuation token to pull all available data.

**Can I search for podcasts where a specific person is a guest or host?**
Yes! Use the `search_by_person` tool with the person's name. The agent will return a list of podcasts associated with that individual.

**How do I get the latest episodes from a specific show?**
You can use either `get_episodes_by_feed_id` if you have the internal ID, or `get_episodes_by_feed_url` if you have the RSS link. Both will provide a list of recent episodes.

**Can I find a podcast if I only have its iTunes ID?**
Absolutely. Use the `get_podcast_by_itunes_id` tool to fetch the full Podcast Index metadata using the Apple Podcasts/iTunes identifier.