podcastindex-mcp-cliBLOCK
Podcast Index MCP server and CLI for Claude Code, Codex and AI agents. 36 tools for podcast search, episode transcripts you can actually read and search, Podcasting 2.0 tags, value-for-value data, feed health and index stats.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://github.com/thenavidm/podcastindex-mcp-cli) [](./LICENSE) [](https://www.npmjs.com/package/@thenavidm/podcastindex-mcp-cli) [](https://www.npmjs.com/package/@thenavidm/podcastindex-mcp-cli) [](https://youtube.com/@thenavidm?sub_confirmation=1) [](https://x.com/thenavidm) [](https://linkedin.com/in/thenavidm)
Podcast Index MCP server and CLI for Claude Code, Codex and AI agents. 36 tools for podcast search, episode transcripts you can actually read and search, Podcasting 2.0 tags, value-for-value data, feed health and index stats.
One install gives you both surfaces, the same 36 tools under the same names, reading one array of tool definitions so they cannot drift apart.
It searches four million podcasts, and then it does the thing the API stops short of: it opens the transcript. Podcast Index hands out a link to an episode's transcript file and goes no further, which is useless to an assistant that cannot click. This fetches the file, works out whether it is SRT, WebVTT, JSON or HTML, and gives you the actual words with timestamps and speakers.
So you can ask when something was said, and get an answer.
There are 36 tools. One free key covers all but two of them.
Built by [Navid Moazzez](https://navid.me?utm_source=github&
7577f597fec4OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add podcastindex-mcp-cli -- npx -y @thenavidm/[email protected]
{
"mcpServers": {
"podcastindex-mcp-cli": {
"command": "npx",
"args": [
"-y",
"@thenavidm/[email protected]"
]
}
}
}Exposed tools (21)
20 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
check_feed_health | read | Diagnose a podcast feed using the crawl history Podcast Index keeps on it: failed fetches, parse errors, the last HTTP status, when it was last successfully read, and whether the index has marked it dead or as a duplicate of another feed. This answers |
episode-deep-read | read | Actually read an episode: chapters, transcript, and what was said |
feed-checkup | read | Check a podcast feed before it costs you listeners |
find_guest_appearances | read | Every episode a named person is credited on, grouped by show and ordered newest first, with their role on each. This is guest research: it answers |
find_transcripts | read | Scan a show |
get_live_episodes | read | Episodes currently marked live across the whole index, from the Podcasting 2.0 liveItem tag. This is a small and fast-moving list: live podcasting is a niche within the index, so a handful of results is normal and an empty one is possible. Each entry carries a start time, an end time and a status. |
get_new_feeds | read | Shows added to Podcast Index for the first time, newest first. This is genuinely new podcasts rather than new episodes, which makes it the tool for spotting a launch. Expect a lot of noise: anyone can submit a feed, so a large share of these are empty, abandoned or automated. |
get_new_value_feeds | read | Feeds that added a value block recently. This is the growth edge of value-for-value podcasting: shows adopting listener payments for the first time, newest first. |
get_random_episodes | read | Random episodes from across the index, optionally filtered by language and category. Genuinely random rather than ranked, which makes it useful for sampling what a category actually contains rather than what its top shows look like. Never cached, so calling it again gives different episodes. |
get_recent_feeds | read | Feeds that published something recently, newest activity first. This tracks updates rather than new shows, so an established podcast releasing an episode appears here. Use get_new_feeds for shows that are new to the index. |
get_recent_soundbites | read | The newest soundbites across the whole index: clips publishers themselves marked as the best moment of an episode. A ready-made feed of what podcasters think is worth quoting this week, and a fast way to find shows that use Podcasting 2.0 tags properly. |
get_trending | read | Shows trending in the index right now, which is Podcast Index |
guest-research | read | Research a podcast guest before booking or pitching |
list_categories | read | Every category Podcast Index uses, with its numeric id. Worth calling once before filtering anything by category, because several tools accept either the name or the id and the names are not the same as Apple |
list_value_podcasts | read | Every feed in the index carrying a value block, paged. This is the whole value-for-value corner of podcasting as a list, which is useful for sizing it or for finding shows that have opted into direct listener payment. Use start_at to page: the list is large. |
pitch-list | read | Build a list of podcasts worth pitching |
search_music | read | Search feeds whose medium is music rather than talk. Podcast Index carries music as a separate medium under the Podcasting 2.0 spec, and those feeds are albums and tracks rather than episodes. Use this for music discovery; a normal podcast search will not surface them well. |
search_podcasts_by_title | read | Search shows by title alone, ignoring author and owner. Use this when you know roughly what a show is called and a general search returned a wall of shows that merely mention the words. Much more precise than search_podcasts for a known name, and much worse for a topic. |
search_transcript | read | Search inside an episode |
status | read | Report whether the Podcast Index credentials are configured and working, how far this machine |
submit_feed_by_itunes_id | write | Add a podcast to Podcast Index using its iTunes id, for when you have an Apple Podcasts link but not the RSS URL. Same effect and same caveats as submit_feed: it writes to a public directory, it cannot be undone through this API, it requires confirm: true, and it needs a key with write permission. |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (6 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (10)
fix: 'Fix the clock rather than the credentials: enable automatic time sync in system settings, or run "sudo sntp -sS time.apple.com" on macOS.',
CMD node -e "fetch('http://127.0.0.1:8000/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"const normalized = body.replace(/\r\n?/g, "\n").replace(/^/, "");
.mcpbignore
const authorization = createHash("sha1").update(`${apiKey}${apiSecret}${date}`).digest("hex");const expected = createHash("sha1").update("KEYSECRET1600000000").digest("hex");@thenavidm/slipway, zod, @types/node, typescript, vitest
Anybody who can publish a podcast can put "ignore your previous instructions"
Node 22 or newer; 1.1 ran on 20. Scripts keep working for success, a refused submit, missing credentials, a rejected key, a rate limit and a show that is not in the index; one that read exit 1 as an u
system use found in code, not declared in the description
Gates applied: no_behavioural_pass.
7577f597fec4full audit observations/trust-audit/mcp-server/thenavidm__podcastindex-mcp-cli.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 7577f597fec4 | BLOCK | D | 69 | first audit |
Questions
What is the podcastindex-mcp-cli MCP server?
Podcast Index MCP server and CLI for Claude Code, Codex and AI agents. 36 tools for podcast search, episode transcripts you can actually read and search, Podcasting 2.0 tags, value-for-value data, feed health and index stats.
What tools does podcastindex-mcp-cli expose?
21 in total: 20 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is podcastindex-mcp-cli safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does podcastindex-mcp-cli need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (7577f597fec4), read on 2026-10-11. The repository is watched and re-audited when it changes.