Public leaderboard

Public assessment

conorbronsdon/podcastindex-mcp (podcastindex-mcp)

podcastindex-mcp · v0.3.0 · scanned

What changed in the harness

Selection accuracy 93→96, token cost up 7%, unconfirmed writes 100%→100%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

30.0 / 30

30.0 out of 30
02Legibility

24.1 / 30

24.1 out of 30
03Economics

19.5 / 20

19.5 out of 20
04Discoverability

12.3 / 20

12.3 out of 20

Highest-impact fix

Estimated gain +8 points

Make target tools discoverable on the first call

Clarify tool names, decision boundaries, and required argument schemas so an agent can choose and construct the target call without exploratory steps.

Description evidence

Defects and rewrites.

13 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
search_by_term
no_return_description
Full-text search across all podcasts in the index, matching by topic, show name, or keyword. Returns a list of matching podcasts with their metadata and feed details; set fulltext to also return full text descriptions.
trending_podcasts
no_return_description
Get currently trending podcasts, optionally filtered by language and category. Returns a list of podcasts with their metadata including title, feed URL, and category information. Useful for competitive intelligence and content planning.
episodes_by_feed_id
no_return_description
Get episodes for a specific podcast by its Podcast Index feed ID. Returns a list of episodes with metadata such as title, publication date, and audio URLs. Use podcast_by_feed_url first to get the feed ID.
recent_episodes
no_return_description
Get the most recent episodes published across the entire Podcast Index. Returns a list of recent episodes with metadata including episode title, feed title, and publication date. Useful for seeing what is being published right now in the ecosystem.
categories_list
no_return_description
Get the full list of Podcast Index categories. Returns an object mapping category names to their IDs for use in filtering other searches.
search_by_title
no_return_description
Search for podcasts by title, returning a list of matching podcasts with their metadata and feed details. Narrower than search_by_term, which also matches descriptions and other feed metadata — use this when you already know (or are guessing at) the show name.
episodes_live
no_return_description
Get episodes that are currently live (actively streaming right now) across the Podcast Index. Returns a list of live episodes with their metadata and stream URLs. Useful for finding live shows in progress.
podcast_by_guid
no_return_description
Look up a podcast by its podcast:guid tag value — the globally unique identifier defined in the Podcast Namespace spec. Returns the podcast's full metadata including feed URL, title, and feed health. Use this when you have the GUID rather than a feed URL or ID.
value_by_feed_id
no_return_description
Get the value4value (lightning payment / streaming sats) information for a podcast by its Podcast Index feed ID. Returns the podcast:value block (payment method, destinations, and suggested amount) if the feed publishes one, or an empty result otherwise.
value_by_feed_url
no_return_description
Get the value4value (lightning payment / streaming sats) information for a podcast by its RSS feed URL. Returns the podcast:value block (payment method, destinations, and suggested amount) if the feed publishes one, or an empty result otherwise.
recent_feeds
no_return_description
Get the most recently updated podcast feeds across the entire Podcast Index, optionally filtered by language and category. Returns a list of feeds with metadata including title, feed URL, last update time, and category information. Useful for spotting fresh activity in the ecosystem.
recent_new_feeds
no_return_description
Get podcast feeds newly added to the Podcast Index, in the order they were added. Returns a list of new feeds with metadata including title, feed URL, and assigned feed ID. Useful for discovering brand-new shows before they show up in other searches. Use feedid to start from a specific feed, with desc controlling sort order.
stats_current
no_return_description
Get current aggregate statistics for the entire Podcast Index. Returns total counts of feeds, episodes, and related metrics for the index as a whole.

Selection evidence

Confusable tool pairs.

6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
recent_feeds recent_new_feeds high Near-identical names and both return 'most recent feeds' from the same index; the only distinguishing phrase is 'recently updated' vs 'newly added'. A task like 'get the most recent feeds' or 'see new feeds today' maps to both, so the agent can pick the wrong one.
podcast_by_feed_id podcast_by_itunes_id medium Both are 'look up a podcast by a numeric ID' with an identical input schema (a number named 'id'). Users often give a bare show ID from Apple/other directories without stating it is an iTunes ID, so the agent may call the Podcast Index feed lookup instead.
value_by_feed_id value_by_feed_url medium Descriptions are near-identical: both fetch the podcast:value (lightning sats) block and differ only in feed ID vs RSS URL as the key. When the user asks 'get the value/sats info for this feed' without pinning down which identifier is available, the wrong lookup flavor may be selected.
episodes_by_feed_id episode_by_id medium Both accept a single numeric 'id' described as a Podcast Index ID. A task like 'look up the episodes with id 123' or 'get that episode, id is 123' can trigger the plural-per-feed tool instead of the single-episode tool (or vice versa) when the user omits the words feed vs episode.
podcast_by_feed_url podcast_by_feed_id low Both look up the same podcast entity, differing only by URL vs feed ID identifier. A given RSS URL makes the choice obvious, but a loosely worded 'look up this podcast feed' where the identifier format is not explicit leaves a small chance of mismatch.
episode_by_id podcast_by_itunes_id low Both are bare numeric-ID lookups with identical schema. A user saying 'look up id 12345' without saying whether it is an episode or a podcast can push the agent toward the wrong tool, though most tasks name the entity type.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard