Apple Podcasts MCP Server & CLI

A free, open source Apple Podcasts MCP server and CLI that lets Claude Code, Codex, Cursor and other AI agents track chart ranks, read reviews and search your podcast library.

Navid Moazzezby Navid Moazzez·Updated 30. Sept. 2026·13 min read
~/apple-podcasts-mcp-cli
$ claude
Claude Code v2.1.220
>
Rate this tool

This free Apple Podcasts MCP server and CLI gives your AI real access to Apple Podcasts: its catalog, its charts, listener reviews, any show's RSS feed and your own library. It checks where a show ranks in each country, reads what listeners say, and searches the transcript excerpts Apple keeps for the shows you follow.

It's one install with 2 ways in. Claude, Codex, Cursor or any other MCP app calls its 32 tools for you, and the same tools work as a CLI that agents like Claude Code, Codex and OpenCode run, or that you type yourself.

Here's what the Apple Podcasts MCP server and CLI is, how to set it up in each app, and every tool it has.

What is the Apple Podcasts MCP server & CLI?

The Apple Podcasts MCP server & CLI is a free, open source program that lets AI agents search Apple Podcasts, track chart ranks and read reviews for you, in 2 ways. The MCP server is what an AI app like Claude, Codex or Cursor connects to, through MCP (Model Context Protocol), the open standard AI apps use to call outside tools.

You ask in plain language. Your AI picks the right tool, and the server makes the call to Apple, or reads your library right on your Mac.

The CLI is the same program as commands. apple-podcasts-cli find-chart-position --show 1200361736 runs the same code your AI runs when you ask where a show ranks, whether an agent like Claude Code runs it or you do.

What can you ask it?

Once it's set up, you ask the way you'd ask an assistant. These are real prompts it handles:

Try asking
Where does this show rank in the US, UK and Sweden, and where is it strongest?
What are people complaining about in the reviews of my competitor's show?
Which episode was that thing about compound interest I heard a while back?
Compare these four shows on rank, ratings and how often they publish.
Is my podcast feed missing anything Apple requires?
How many people played my episodes last week, and which one won?

The third one shows why this is useful. Apple caches a transcript excerpt for nearly every episode of every show you follow, and this lets your AI search them, so "where did I hear that" finally has an answer.

How to install the Apple Podcasts MCP server

Pick your app in the box at the top of this page. Each one is a single command or a pasted block, and most of the tools need no account or key.

Before you start0/3

Pro tip: Most of this works the moment it's installed, because Apple's catalog, charts, reviews and every podcast RSS feed are open. Skip the next section until you want your library or your own show's numbers.

Set up your library and analytics

Nothing here is required. Each part is only for when you want it.

Read your own library

Your Podcasts library lives in a protected folder, so the app that runs the server needs Full Disk Access, once.

Turn on Full Disk Access0/4

The library tools only exist on a Mac. On Windows and Linux the other 25 tools work as usual.

Add your show's analytics

This part is only for a show you own, and it's the one part with credentials.

Get your Apple Podcasts Connect details0/4

The token expires after 180 days, and you make a new one in Podcasts Connect. The doctor tells you when it stops working.

Check that it works

Run the doctor. It checks each source on its own and names the one that fails, rather than leaving you with a vague error.

npx -y @thenavidm/apple-podcasts-mcp-cli doctor

It also says whether your library holds any play data. On a Mac it usually doesn't, because listening progress stays on the device you listen on.

Use the Apple Podcasts CLI

The CLI is the same 32 tools as commands. AI agents that run commands, like Claude Code, Codex and OpenCode, use it on their own, and you can type the same commands in a terminal or a script.

Every tool name becomes a command with dashes, so find_chart_position runs as apple-podcasts-cli find-chart-position.

npm install -g @thenavidm/apple-podcasts-mcp-cli
apple-podcasts-cli
apple-podcasts-cli get-top-shows --limit 5
apple-podcasts-cli find-chart-position --show 1200361736 --storefronts us --storefronts gb
apple-podcasts-cli search-library --query "compound interest"

The bare apple-podcasts-cli lists every command, and apple-podcasts-cli <command> --help shows what a command takes. The OPML export asks for --confirm first, like it does for your AI.

These flags work on every command:

FlagWhat it does
--jsonPrints JSON
--compactPrints the JSON on one line
--agentMachine mode: JSON, compact, no prompts and no color
--select a,b.cKeeps only those fields, and a dotted path goes deeper
--confirmLets a write that asks first go ahead

A script can branch on the exit code:

Exit codeWhat it means
0It worked
2The command was typed wrong, or a write needed --confirm
3It wasn't found
4Apple Podcasts rejected the credentials
5Apple Podcasts's API failed
7You hit a rate limit, so wait and try again
10Nothing is set up yet

MCP server or CLI: which one?

Both are the same program with the same 32 tools. The difference is when your AI pays for them, in the tokens it reads.

Every message, in an app that loads every tool
MCP server
13,800 tokens
CLI
Nothing
Every message, in Claude Code
MCP server
1,200 tokens
CLI
Nothing
When Apple Podcasts comes up
MCP server
Nothing more, or in Claude Code the tools it picks
CLI
4,300 tokens, once
20 messages with Apple Podcasts in 1, every tool loaded
MCP server
275,000 tokens
CLI
4,300 tokens
Works in Claude Desktop's chat
MCP server
Yes
CLI
No, there's no terminal there
Works in a script, a cron job or CI
MCP server
No
CLI
Yes

An app that loads every tool up front sends the full list with every message, whether you mention Apple Podcasts or not. Claude Code doesn't by default: its tool search sends only the tool names and the server's instructions, and loads a tool's full definition when your AI reaches for it.

The CLI costs nothing until Apple Podcasts comes up. Then your agent reads its skill file once and runs the commands it needs. With the skill added, Claude Code also lists its one-line description with every message, about 190 tokens.

When the whole conversation is about Apple Podcasts, the gap closes. Then the MCP server is the better experience, because you ask in plain language and your AI never has to look up a command.

How to spend less

In Claude Code, leave tool search on, which it is unless you've set ENABLE_TOOL_SEARCH=false.

Turn the server off when you aren't using it, with your AI app's own switch. APPLE_PODCASTS_LIBRARY=0 also takes the 7 library tools off the list.

Or install the CLI and connect the server later, on the days it earns its place. Every tool stays in reach, and the standing cost drops to nothing.

Every number here was measured on September 27, 2026 in Claude Code 2.1.257 with Claude Opus 5. It's the same one-line prompt with and without the server connected, once with tool search off so every tool loads, and once with Claude Code's default. The skill was measured the same way, and other apps and models count tokens a little differently.

What Apple Podcasts actually does

Apple Podcasts isn't one API. It's several sources that share a brand, and 3 of them need nothing at all, which is why most tools work the moment it's installed.

Search API
Who can reach it
Anyone
What it needs
Nothing
What it's good for
Finding shows and researching competitors
Charts and reviews
Who can reach it
Anyone
What it needs
Nothing
What it's good for
Ranks and what listeners say
A show's RSS feed
Who can reach it
Anyone
What it needs
Nothing
What it's good for
The full backlog and real transcripts
Your library
Who can reach it
This Mac
What it needs
Full Disk Access
What it's good for
Your subscriptions and cached transcripts
Podcasts Connect
Who can reach it
A show you own
What it needs
A vendor number and token
What it's good for
Plays, followers and per-episode listening

Every country gives a different answer

The catalog, the charts and the reviews are all separate per country. An empty result in one country doesn't mean a show doesn't exist, so every answer says which country it came from.

The charts stop at 100

Apple publishes a top 100 per country, and there are no genre charts. A genre filter narrows the overall chart, and a show outside the top 100 has no rank to report.

Only published transcripts are readable

A show can link a full transcript in its RSS feed, and find_transcripts lists those, but most shows publish none. Apple's own transcripts in the app are locked, so search_library searches the short excerpts Apple caches for the shows you follow.

Your listening history stays on your phone

On a library synced from an iPhone, the play counts are zero, because progress is tracked on the device that played the episode. The tools say so rather than guessing what you've heard.

Analytics lag and count devices

Podcasts Connect reports run 1 to 2 days behind, so the analytics tools default to 3 days back. Listener counts are devices, not people, so one person on a phone and a HomePod counts twice.

Every Apple Podcasts tool

All 32 tools, grouped the way the repo groups them. 31 only read, and one saves a file on your computer.

Start here

status
What it does
Report which of the four Apple Podcasts sources are available right now: the public catalog, charts and reviews, the local library on this Mac, and Apple Podcasts Connect analytics.
Kind
Reads

Catalog

search_podcasts
What it does
Search Apple's podcast catalog for shows by name, topic, host or keyword.
Kind
Reads
search_episodes
What it does
Search Apple's catalog for individual episodes across all shows.
Kind
Reads
get_podcast
What it does
Full catalog record for one show: name, author, genres, episode count, latest release date, artwork and its RSS feed URL.
Kind
Reads
get_podcast_episodes
What it does
Recent episodes for a show from Apple's catalog, newest first.
Kind
Reads
list_genres
What it does
Apple's podcast categories and their numeric ids, fetched live rather than hardcoded.
Kind
Reads
resolve_apple_link
What it does
Take an Apple Podcasts URL someone pasted and return the show id, the episode id when the link points at one, and the storefront the link came from.
Kind
Reads

Charts and ranking

get_top_shows
What it does
Apple's live Top Shows chart for one storefront, ranked.
Kind
Reads
get_trending_episodes
What it does
Apple's live Trending Episodes chart for one storefront.
Kind
Reads
find_chart_position
What it does
Find where one show sits in Apple's Top Shows chart, in one storefront or swept across several.
Kind
Reads
list_storefronts
What it does
The storefronts this server sweeps by default, and the configured default.
Kind
Reads

Reviews

get_reviews
What it does
Recent listener reviews for a show, with rating, title and full text.
Kind
Reads
get_review_summary
What it does
Rating counts and averages for a show, per storefront and combined, without returning the review text.
Kind
Reads

Feeds

get_feed
What it does
Fetch and parse a show's RSS feed: the channel metadata and its episodes, newest first.
Kind
Reads
get_feed_episode
What it does
Find one episode in a show's feed by title, guid or episode number, and return it with its complete show notes, audio URL, chapters and transcripts.
Kind
Reads
find_transcripts
What it does
List episodes of a show that publish a transcript in their feed, with the URL, format and language of each.
Kind
Reads
check_feed
What it does
Check a podcast's RSS feed against what Apple actually requires and warn about what will cost the show later.
Kind
Reads

Research

get_show_profile
What it does
A complete picture of one show: its catalog record, where it ranks across storefronts, what listeners are saying and how they rate it, how often it publishes, and whether it offers transcripts.
Kind
Reads
compare_shows
What it does
Put two or more shows next to each other on the numbers that matter: chart rank, review sentiment, catalogue size and publishing cadence.
Kind
Reads
find_similar_shows
What it does
Find shows adjacent to a given one, by searching its genre and its own subject matter and removing itself from the results.
Kind
Reads

Your library

list_subscriptions
What it does
Every podcast in the Apple Podcasts library on this Mac, followed shows first.
Kind
Reads
search_library
What it does
Keyword search across every episode of every show in your library: titles, show notes, and the transcript excerpts Apple has cached.
Kind
Reads
list_recent_episodes
What it does
The most recently published episodes across the shows you follow, newest first.
Kind
Reads
list_saved_episodes
What it does
Episodes flagged in the Podcasts app: saved, bookmarked, or downloaded to this Mac.
Kind
Reads
get_library_episode
What it does
One episode by its local id, with complete show notes and the whole cached transcript excerpt rather than a trimmed one.
Kind
Reads
library_stats
What it does
Counts for the local library: shows, followed shows, episodes, how many carry a cached transcript excerpt, and how many are saved, bookmarked or downloaded.
Kind
Reads
export_subscriptions
What it does
Write the shows you follow to an OPML file, the format every podcast app imports.
Kind
Asks first

Your show's analytics

check_analytics_access
What it does
Verify the Apple Podcasts Connect credentials and list the vendor numbers this access token can read.
Kind
Reads
get_show_analytics
What it does
Plays and listener counts for your show over one reporting period, from Apple Podcasts Connect.
Kind
Reads
get_episode_analytics
What it does
Plays and listener counts per episode for one reporting period, ranked.
Kind
Reads
get_followers
What it does
Follower numbers for your show across a reporting period, from Apple's content performance report.
Kind
Reads
get_analytics_report
What it does
Fetch any Apple Podcasts Connect listening report by name and return its columns and rows unchanged.
Kind
Reads

Is the Apple Podcasts MCP server safe?

There's almost nothing to guard, because Apple Podcasts has no write API and this server doesn't invent one. Of 32 tools, 31 only read.

The one that writes, export_subscriptions, saves your subscriptions as an OPML file, so it asks for a confirm check first, marked Asks first in the tool tables above.

Make it read-only

Set APPLE_PODCASTS_READ_ONLY=1 and the OPML export disappears from the tool list. To keep your subscriptions out of it too, set APPLE_PODCASTS_LIBRARY=0, which removes the 7 library tools.

Keep a log of every write

Set APPLE_PODCASTS_AUDIT_LOG to a file path. The server writes one line per attempted write, allowed or blocked.

⚠️

Watch out: Reviews, show notes and transcript excerpts are text other people wrote. The server marks them as data before your AI reads them, but for an agent working on its own, APPLE_PODCASTS_READ_ONLY=1 is the real defense.

Your data

There's no server of ours in between. Requests go straight from your computer to Apple and to podcast hosts, and nothing is collected.

Your library is read from the Podcasts app's own folder, read-only, and never written. Apple Podcasts Connect details stay in your app's config, and chart and catalog answers live in memory for 5 minutes.

Apple Podcasts MCP server settings

Every setting is optional, as an environment variable in your app's config.

APPLE_PODCASTS_STOREFRONT
Default
us
What it does
Sets the country used when a tool names none
APPLE_PODCASTS_STOREFRONTS
Default
us,gb,ca,au,ie,se,de,nl
What it does
Sets the countries the cross-country tools check
APPLE_PODCASTS_LIBRARY
Default
1
What it does
0 removes every library tool
APPLE_PODCASTS_LIBRARY_PATH
Default
the app's own
What it does
Points at a Podcasts library somewhere else
APPLE_PODCASTS_VENDOR_NUMBER
Default
none
What it does
Holds your Apple Podcasts Connect vendor number
APPLE_PODCASTS_REPORTER_TOKEN
Default
none
What it does
Holds your Reporter access token, which expires after 180 days
APPLE_PODCASTS_READ_ONLY
Default
0
What it does
1 hides the one tool that writes a file
APPLE_PODCASTS_ALLOW_DESTRUCTIVE
Default
1
What it does
0 blocks the OPML export
APPLE_PODCASTS_AUDIT_LOG
Default
off
What it does
Logs every attempted write to a file
APPLE_PODCASTS_CACHE_TTL_MS
Default
300000
What it does
Sets how long a fetched answer is reused
APPLE_PODCASTS_REQUEST_TIMEOUT_MS
Default
30000
What it does
Sets how long one request may take
APPLE_PODCASTS_MIN_REQUEST_INTERVAL_MS
Default
220
What it does
Spaces out requests to stay under Apple's limit
APPLE_PODCASTS_MAX_RETRIES
Default
3
What it does
Sets how often a failed request is retried

Troubleshooting

Run the doctor first. It names the step that failed and the fix.

What you seeWhat to do
Every library tool fails on permissionsTurn on Full Disk Access for the app that runs the server, then quit it with Cmd+Q
The library tools are missingAPPLE_PODCASTS_LIBRARY is 0, or you're not on a Mac
"Apple is rate limiting this IP"Apple allows about 20 requests a minute. Wait a minute, and ask for a profile or a comparison instead of one show at a time
A show you know exists isn't foundIt may not be published in that country. Try another storefront, like gb
A show is unranked everywhereApple only publishes the top 100 per country
find_transcripts returns nothingThe show publishes no transcript. Apple's own are locked inside the app
Analytics say "no report available"Reports run 1 to 2 days behind. Try a date 3 or 4 days back
Analytics reject the tokenTokens expire after 180 days. Make a new one in Podcasts Connect

If the server doesn't show up in your app at all, run the command your app runs, in a terminal, and read the error.

More free tools for your podcast

Tag the links in your show notes so you can see which episode sent people, or make a QR code that opens your show.

Apple Podcasts MCP Server FAQs

Here are the questions people ask most about the Apple Podcasts MCP server and CLI.

The Apple Podcasts MCP server & CLI is a free, open source program that lets an AI app like Claude, Codex or Cursor search Apple Podcasts, track chart ranks and read reviews.

It has 32 tools for podcast search, chart ranks, reviews, RSS feeds, your own library and Apple Podcasts Connect analytics, and the same tools run as a CLI that agents like Claude Code and Codex use, or that you type yourself.

An MCP server is a standard way to give an AI app real access to a tool, so it can act instead of guessing.

MCP stands for Model Context Protocol, and Claude, Codex, Cursor and many other AI apps speak it.

The Apple Podcasts CLI is the same program as the Apple Podcasts MCP server, run as commands.

AI agents like Claude Code, Codex and OpenCode run them for you, and you can type them in a terminal or a script.

Use the Apple Podcasts MCP server in an AI app with no terminal, like Claude Desktop's chat, and the CLI in a terminal, a script or a cron job.

In an AI app that can run commands, like Claude Code, Codex or Cursor, the CLI is the lighter choice, because it costs nothing until it runs.

Yes, the Apple Podcasts MCP server is free and open source under the MIT license.

Most of its tools need no account, and the only thing you pay for is your own AI app.

No, most of the Apple Podcasts MCP server needs no account at all.

Only the 5 analytics tools need Apple Podcasts Connect details, and only for a show you own.

The Apple Podcasts MCP server reads the transcripts shows publish in their RSS feed, and most shows publish none.

Apple's own transcripts are locked inside the app, so it searches the short excerpts Apple caches for the shows you follow.

Yes, the Apple Podcasts MCP server works on Windows and Linux, except for the 7 library tools.

Those read the Podcasts app's library, which only exists on a Mac.

Apple's catalog, charts and reviews are separate in every country, so the same show ranks differently in each.

Every answer says which country it came from, and an empty result in one country doesn't mean the show doesn't exist.

The Apple Podcasts MCP server works with any app that speaks MCP.

That includes Claude Code, Claude Desktop, Codex, Cursor, VS Code, GitHub Copilot CLI, Gemini CLI, OpenCode, OpenClaw, Antigravity and Hermes.

Navid Moazzez built the Apple Podcasts MCP server and maintains it.

The code is on GitHub under the MIT license, and the package is on npm.

Navid Moazzez

AI business strategist & AI OS builder

Navid Moazzez helps creators and founders master AI and build their own AI Operating System (AI OS) to automate their business and life.

Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Learn more.

More MCP servers & CLIs

Free AI newsletter

The most actionable AI newsletter for founders

Every week, get proven AI strategies, curated tools, and step-by-step systems to grow your audience, create better content, and build a profitable creator business.

No fluff, no filler, no BS. Just five minutes each week that might level up your online business and life.

P.S. Sign up now to get free access to my ultimate AI tools guide for creators.

Loved by 10,000+ readers