Skip to main content
Glama
navidmoazzez

Podcast Index MCP

by navidmoazzez

Podcast Index MCP

Stars License npm Downloads YouTube X LinkedIn

The open podcast directory for Claude, Cursor, and any other AI agent.

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.

You: on that Lex Fridman episode with Carmack, when do they get into VR latency?

Claude: Found it. Episode 309, transcript is a 3-hour VTT.

  Three places, and only one is the real discussion:

    1:47:12  Carmack  "the latency problem is not a rendering problem,
                       it is a scheduling problem", this is the one,
                       runs about 20 minutes
    0:38:40  Carmack  passing mention, comparing it to the Quest port
    2:51:03  Lex      callback in the wrap-up

  The 1:47 section is where he lays out the whole argument. Want the
  transcript from there?

Contents

Section

1

What you can ask it

Real prompts, not features

2

Quick install

One line

3

Setup

Getting a key, about two minutes

4

Connect your client

Every client, copy and paste

5

Check it worked

doctor, and what actually fails

6

Tools

All 36, grouped by what they reach

7

What Podcast Index actually does

The traps, learned the hard way

8

Your data

What is sent, and what never is

9

Writing safely

Short, because almost nothing writes

10

Troubleshooting

Symptom to cause

11

FAQ

Including what an MCP server is

Related MCP server: Podcast Index MCP

1. What you can ask it 💬

  • When did they talk about pricing on that episode, and what did they say?

  • Read me this episode and pull out the three claims worth remembering.

  • Where has this person been a guest, and what do they always get asked?

  • Find me fifteen podcasts about indie games that are still publishing, and skip the dead ones.

  • Is my feed broken? Downloads dropped last week and I do not know why.

  • What is trending in true crime this week, in Swedish?

  • Which of this show's episodes actually have transcripts?

  • Who does this podcast split its listener payments with?

  • Give me the chapter list so I can see if this episode is worth two hours.

  • Tell me everything about this show in one go: cadence, guests, health, the lot.

The first one is the point. Podcast Index will tell you a transcript exists and give you a URL. No podcast tool reads it back to you. This one does, which is why "when did they say that" is a question you can now ask.

2. Quick install ⚡

Node 20 or newer. Nothing else.

npx -y @thenavidm/podcastindex-mcp@latest --version

That is the whole install. npx fetches it on demand, so there is nothing to update later.

3. Setup 🔑

You need a key and a secret. Both. The key says who you are and the secret signs each request, so one without the other cannot authenticate. They are free, there is no approval step, and it takes about two minutes.

Have an agent do it

The agent cannot sign up for you. What it can do is wire up the config once you have the credentials and verify the connection.

Paste this into Claude Code, Cursor, or any agent with terminal access:

Set up the Podcast Index MCP server for me.

1. Open https://api.podcastindex.org/signup and tell me to fill it in. Wait for me.
2. When I paste the key and secret back, add the server to my client config
   with PODCASTINDEX_API_KEY and PODCASTINDEX_API_SECRET set.
3. Run the doctor command and tell me what it says.
4. If the clock check fails, tell me how to fix the clock. Do not tell me to
   regenerate the key.

Or do it yourself

Step 1. Go to api.podcastindex.org/signup.

Step 2. Fill in the form. You need an email address and a line about what you are building. There is no review and no waiting: the credentials appear immediately.

Step 3. Copy both values. The key is short and looks like UXKCGDSYGUUEVQJSYDZH. The secret is longer. Keep the secret private: anything holding it can spend your rate limit.

That is it. Everything except adding a podcast to the directory works now.

You do not need write permission. Write access is a separate grant, and 34 of the 36 tools do not use it. Only submit_feed and submit_feed_by_itunes_id need it, and they say so if you call them without it. Skip this unless you actually want to add feeds to the public directory.

To revoke a key, contact Podcast Index through the support links on podcastindex.org.

4. Connect your client 🔌

Claude Code

claude mcp add podcastindex \
  -e PODCASTINDEX_API_KEY=your_key \
  -e PODCASTINDEX_API_SECRET=your_secret \
  -- npx -y @thenavidm/podcastindex-mcp@latest

Add --scope user to make it available in every project rather than the current one.

Claude Desktop

Platform

Config path

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "podcastindex": {
      "command": "npx",
      "args": ["-y", "@thenavidm/podcastindex-mcp@latest"],
      "env": {
        "PODCASTINDEX_API_KEY": "your_key",
        "PODCASTINDEX_API_SECRET": "your_secret"
      }
    }
  }
}

Tip Claude Desktop does not inherit your shell PATH, so a bare npx can fail with "command not found". Use the absolute path from which npx if it does.

Quit Claude Desktop completely and reopen it.

claude.ai on the web

claude.ai runs connectors from Anthropic's cloud, not from your machine, so it needs a public HTTPS URL rather than a local command.

npx -y @thenavidm/podcastindex-mcp@latest --http --port 8000

Host that somewhere with a public HTTPS URL and set PODCASTINDEX_HTTP_TOKEN, which the server requires before it will bind anything but loopback. Then in claude.ai: Customize, Connectors, +, Add custom connector, paste the URL, Add.

On Team and Enterprise an owner adds it first under Organization settings, Connectors, then each member enables it.

Cursor

.cursor/mcp.json, same JSON shape as Claude Desktop, key mcpServers.

Windsurf

~/.codeium/windsurf/mcp_config.json, key mcpServers.

VS Code

.vscode/mcp.json. The key is servers, not mcpServers, and each entry needs "type": "stdio".

{
  "servers": {
    "podcastindex": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@thenavidm/podcastindex-mcp@latest"],
      "env": {
        "PODCASTINDEX_API_KEY": "your_key",
        "PODCASTINDEX_API_SECRET": "your_secret"
      }
    }
  }
}

Codex CLI

~/.codex/config.toml:

[mcp_servers.podcastindex]
command = "npx"
args = ["-y", "@thenavidm/podcastindex-mcp@latest"]

[mcp_servers.podcastindex.env]
PODCASTINDEX_API_KEY = "your_key"
PODCASTINDEX_API_SECRET = "your_secret"

Gemini CLI

~/.gemini/settings.json, key mcpServers, same shape as Claude Desktop.

Everything else

Any stdio MCP client takes the same three things: the command npx, the args, and the env block.

5. Check it worked 🩺

npx -y @thenavidm/podcastindex-mcp@latest doctor
podcastindex-mcp doctor

  ok   Node version       v22.14.0
  ok   API key            set, 20 characters
  ok   API secret         set, 40 characters
  ok   Podcast Index API  reachable and authenticated, 4,312,880 feeds indexed
  ok   Clock sync         2 seconds ahead, well inside the 180 second signing window
  ok   Tools registered   36, including 3 that write

Everything checks out.

The clock line is the one to read. See below for why.

6. Tools 🛠️

Reading what is actually in an episode

The group worth installing this for. These leave Podcast Index and fetch files from the publisher's own host.

Tool

What it does

get_transcript

Fetches and parses the transcript into timestamped text with speakers

search_transcript

Finds the moment a phrase was said, with a timestamp

get_chapters

The publisher's own table of contents, sponsor breaks included and labelled

get_soundbites

The clips the publisher marked as the best moments

find_transcripts

Which of a show's episodes have transcripts, in one request

Questions instead of endpoints

Tool

What it does

get_show_profile

One call for cadence, guests, health, Podcasting 2.0 coverage and payments

find_guest_appearances

Every episode a person is credited on, grouped by show

find_shows_to_pitch

Shows on a topic that are alive, publishing, and worth approaching

Tool

What it does

search_podcasts

Keyword search across title, author and owner

search_podcasts_by_title

Title only, for when you know the name

search_episodes_by_person

Episodes crediting a named person

search_music

Music feeds, which are a separate medium here

Shows and episodes

Tool

What it does

get_podcast

One show, from any identifier you happen to have

get_podcasts_batch

Up to 500 shows in a single request

get_podcasts_by_medium

Browse audiobooks, film, video, courses, newsletters

list_categories

Every category and its id

get_episodes

A show's episodes, newest first

get_episode

One episode in full

get_live_episodes

Podcasts broadcasting right now

get_random_episodes

Random sampling, filterable by category

get_recent_episodes

The firehose of everything just published

What is new and what is moving

Tool

What it does

get_trending

Trending shows, filterable by category and language

get_recent_feeds

Feeds that just published

get_new_feeds

Shows new to the index

get_recent_soundbites

The newest publisher-picked highlights

Value for value

Tool

What it does

get_value_block

A show's payment split, with computed shares

get_episode_value

One episode's split, which can differ from the show's

list_value_podcasts

Every feed that takes listener payments

get_new_value_feeds

Shows that just added a payment split

Health and size

Tool

What it does

check_feed_health

Crawl errors, parse errors, last good fetch, and a verdict

list_dead_feeds

Feeds the index gave up on

get_index_stats

How big the index is and how much of it is alive

status

What this server can currently reach

Writes

Tool

Needs

notify_feed_update

nothing, not even a key

submit_feed

confirm: true, and a key with write permission

submit_feed_by_itunes_id

confirm: true, and a key with write permission

7. What Podcast Index actually does 🧭

The things that will surprise you, and the reasons this server is shaped the way it is.

A wrong clock looks exactly like a wrong key

This is the one that costs people an hour.

Every request is signed with a SHA-1 of your key, your secret and the current unix timestamp, and Podcast Index accepts a three minute window either side of its own clock. A laptop that slept through a timezone change, a container with no time sync, or a VM restored from a snapshot will fail every single call with a 401.

A 401 reads as "bad credentials" to everybody, so the natural response is to regenerate a key that was never the problem.

doctor measures the drift against the server's own clock and says so. If it reports skew, fix the clock, not the credentials. On macOS:

sudo sntp -sS time.apple.com

Podcasting 2.0 tags are optional, and mostly absent

Tag

What it gives you

How common

transcript

a URL to SRT, VTT, JSON or HTML

uncommon

chapters

a URL to a chapters JSON file

uncommon

person

credited hosts, guests, producers

uncommon

soundbite

publisher-chosen highlight clips

rare

value

a payment split for listener payments

a small minority

An empty result is a fact about that show, not a broken call. Nothing here can transcribe audio that was never transcribed, and retrying will not help.

This matters most for guest research. find_guest_appearances only sees shows that publish person tags, so a thin result is a floor on somebody's appearances and never a complete list.

Transcript files lie about their format

The feed declares a mime type and publishers get it wrong constantly: SRT served as text/plain, VTT declared application/json, JSON with an .srt extension.

So this server detects the format from the file body and treats the declaration as a hint. Trusting it would fail on a large minority of real shows.

Where a publisher offers several formats, JSON is preferred, because only the Podcasting 2.0 JSON format carries real speaker names. The same episode as SRT is usually an undifferentiated wall of text. Some SRT and VTT does carry speakers, as a NAME: prefix or a <v Name> span, and those are parsed out.

The transcript is not on Podcast Index

transcriptUrl and chaptersUrl point at files on the publisher's own server. So those tools fail for reasons that have nothing to do with the index: dead links, moved files, HTML error pages, hosts that time out.

When a transcript fetch fails, the podcaster's hosting is down. The index is fine and the call was correct.

A value block is not revenue

It says a show is configured to receive listener payments and names the wallets and their weights. It says nothing about whether anyone has ever paid.

Splits are relative weights, not percentages. A block of 90 and 10 is the same split as one of 9 and 1, so this server shows the computed share alongside the raw number.

Descriptions get silently truncated

Without the fulltext flag the API cuts every text field to 100 characters, and a description cut at 100 characters still looks like a description. A model reading one would summarise a show from its first sentence and never know the rest existed.

This server sets fulltext on every call that accepts it. You will not hit this, but it is why responses are larger than the raw API's.

An episode GUID is not unique

It is unique only inside its own feed. Look one up without saying which show, and the API answers with whichever it finds first, which is a coin flip. Pass show alongside guid on get_episode.

Feed ids and episode ids are different numbers. A feed id will not work where an episode id is wanted.

Adding a feed cannot be undone

submit_feed writes to a public global directory that hundreds of apps read, and this API has no delete. Removing something means asking the people who run Podcast Index.

That is why those two tools need confirm: true and notify_feed_update does not.

8. Your data 📦

There is no backend. Nothing is collected, and nothing is sent anywhere except the two places below.

Goes to

What

api.podcastindex.org

your key, a timestamp, a signature, and your query

the publisher's host

a plain GET for a transcript or chapter file, no credentials

Your secret is never transmitted. It is hashed into a signature locally and the hash is what travels.

Credentials live wherever your MCP client keeps its config, which is a plain JSON or TOML file on your own machine. This server writes nothing to disk unless you set PODCASTINDEX_AUDIT_LOG, and then only a line per attempted write.

Everything Podcast Index holds is public. There is no personal listening data here to leak, because the index does not have any.

9. Writing safely 🔒

Of 36 tools, 33 only read.

notify_feed_update asks the index to recrawl a feed sooner. It is idempotent, needs no credential, and is not guarded, because guarding harmless things trains the habit that makes real guards useless.

submit_feed and submit_feed_by_itunes_id add a podcast to a public directory and cannot be undone through this API. Both require confirm: true.

Variable

Effect

PODCASTINDEX_READ_ONLY=1

the three write tools are not registered at all

PODCASTINDEX_ALLOW_DESTRUCTIVE=0

keeps the recrawl ping, blocks the two submits

PODCASTINDEX_AUDIT_LOG=<path>

one JSON line per attempted write, allowed and blocked

Read-only removes the tools rather than erroring on them, because a model cannot call a tool it cannot see, and an error is an invitation to retry differently.

On prompt injection. Transcripts, show notes and chapter titles are text strangers wrote, fetched from hosts nobody vetted, and anybody who can publish a podcast can put "ignore your instructions" into their own transcript. This server fences that text as data before a model reads it, and says so in its instructions.

That helps. It is not a guarantee. For an agent working unattended, PODCASTINDEX_READ_ONLY=1 is the real defence.

10. Troubleshooting 🔧

Run doctor first. It tests every credential and measures the clock.

Symptom

Cause

Every call fails with an auth error

Check the clock before the key. Three minute signing window, and drift is the most common cause

doctor says the secret is not set

Both halves are needed. The key alone cannot sign a request

A submit fails with a permission error

Write access is granted separately from a normal key

get_transcript says the show publishes none

Most shows do not. This is a fact about the show, not a failure

A transcript times out

The publisher's host, not the index. Raise PODCASTINDEX_FILE_TIMEOUT_MS

Transcript comes back with no speakers

The publisher supplied SRT without labels. Only the JSON format guarantees speakers

find_guest_appearances returns nothing

Only shows publishing person tags are visible, which is a minority

Rate limited

Use get_podcasts_batch and get_show_profile instead of loops of single calls

Claude Desktop cannot find npx

It does not inherit your shell PATH. Use the absolute path from which npx

11. FAQ ❓

An MCP server is a standard way to give an AI assistant real access to a tool, so it can act rather than guess. You install it once, your assistant gains the tools, and it works in Claude, Cursor, and anything else that speaks MCP.

Without one, an assistant asked about a podcast answers from whatever it absorbed in training. With one, it goes and looks.

Podcast Index is an open, free directory of podcasts. Around four million feeds, run independently of Apple and Spotify, with an API anybody can use.

It is also where Podcasting 2.0 lives: an open extension to RSS that lets publishers attach transcripts, chapters, guest credits, highlight clips and payment details to their episodes. That extra data is most of why this server is interesting.

You need to paste a block of JSON into a config file and sign up for a free key. That is the whole technical bar. Step 3 walks through it, and you can hand the prompt in that section to an agent and let it do the wiring.

There is no backend and no telemetry. Your queries go to Podcast Index, and transcript fetches go to the publisher's own server. That is all.

Your API secret never leaves your machine. It is used to compute a signature locally, and only the signature is sent.

Read transcripts. The Podcast Index website will show you that an episode has a transcript and link to the file. It will not search inside it, and it will not search across episodes.

The other one is scale. "Find every episode this person has been on, grouped by show" is one call here and an afternoon by hand.

It cannot. Nothing here deletes anything, because the API has no delete.

The action worth knowing about is the opposite: submit_feed adds a podcast to a public directory permanently, and there is no way to remove it through this API. It requires confirm: true for exactly that reason, and it needs a key with write permission that you will not have unless you asked for one.

It costs nothing. The server is MIT licensed and a Podcast Index API key is free with no approval step and no paid tier.

It works with any client that speaks MCP. Section 4 covers Claude Code, Claude Desktop, claude.ai, Cursor, Windsurf, VS Code, Codex CLI and Gemini CLI.

claude.ai is the one that works differently, because it runs connectors from Anthropic's cloud and needs the HTTP transport rather than a local command.

Podcast Index signs every request rather than using a bearer token. The key identifies you and travels with the request; the secret is hashed together with a timestamp to prove the request is yours and is recent.

The upside is the secret is never transmitted. The downside is the timestamp has a three minute window, so a drifting clock breaks everything. doctor checks for it.

Because the publisher did not attach one. Transcripts in podcasting are an optional RSS tag, and most shows do not use it.

Nothing here transcribes audio. If a show publishes no transcript, get_transcript cannot produce one, and it will say so rather than guessing at the content from the show notes.

Remove the entry from your client's config and restart the client. There is nothing installed globally to uninstall, since npx fetches it per run, and nothing on disk to clean up unless you configured an audit log.

Questions

Run into a problem or have a question? Open an issue and I will help.

About the author 👋

Navid Moazzez is a leading AI business strategist, and the host of the AI Creator Summit, watched by 100,000+ creators. He helps creators and founders master AI and build their own AI Operating System (AI OS) to automate their business and life. This Podcast Index MCP server is one piece of that system.

Links

If this is useful, star the repo and come say hi on X.

Dependencies

Library

License

What it does

MCP TypeScript SDK

MIT

The MCP server and transports

zod

MIT

Tool argument schemas and validation

Data comes from Podcast Index, which is free and open. The Podcasting 2.0 namespace defines the transcript, chapter, person, soundbite and value tags this server reads.

Security

Found a vulnerability? Report it privately, not as a public issue. SECURITY.md covers what this server can reach, the write-safety model, and running it over HTTP.

License

MIT. Free to use, modify, and share.

Not affiliated with, endorsed by, or connected to Podcast Index LLC.


© 2026 NM Media. Made with ❤️ by Navid Moazzez.

Available Tools

36 tools
check_feed_healthCheck whether a feed is healthyA
Read-onlyIdempotent

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 'is my feed broken' with evidence rather than a guess, and it works on any feed in the index, not only your own. Worth running before blaming a host for a drop in downloads.

ParametersJSON Schema
NameRequiredDescriptionDefault
showYesThe show, in whichever form you have. Any of: a Podcast Index feed id (920666), an RSS feed URL, a podcast GUID, an Apple Podcasts URL, or a bare iTunes id. The form is detected, so pass what you have rather than converting it.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds meaningful behavioral context beyond those: it relies on crawl history and reports specific diagnostic signals such as failed fetches, parse errors, last HTTP status, last successful read, and dead/duplicate status. This gives the agent a concrete model of what the call will reveal without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. The first sentence states what it does; the second removes a common assumption about ownership; the third gives a concrete use case. The most important information is front-loaded and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter diagnostic tool, the description is complete: it identifies the input flexibility, the diagnostic evidence returned, and a motivating scenario. There is no output schema, but the description enumerates the key result categories, so an agent can understand what to expect. Minor gaps like not-found or invalid-input behavior are not critical for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of the single parameter and already states that 'show' can be a feed id, RSS URL, podcast GUID, Apple Podcasts URL, or iTunes id, with auto-detection. The description adds little parameter-specific detail because the schema is already rich, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb, 'Diagnose', and names the exact resource, a podcast feed via the Podcast Index crawl history. It enumerates concrete symptoms (failed fetches, parse errors, HTTP status, last successful read, dead/duplicate) that distinguish this from generic feed lookups, and the wording clearly separates it from sibling tools like get_podcast or status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear trigger: run it before blaming a host for a drop in downloads. It also tells the agent that the tool works on any feed in the index, removing an ownership prerequisite. However, it does not name alternatives or say when not to use it, so some routing judgment is still left to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_guest_appearancesTrace where a person has appearedA
Read-onlyIdempotent

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 'who has had this person on', 'what do they usually talk about' and 'which shows book people like this'. Shows where the person appears on many episodes are flagged as likely their own, so a host's back catalogue does not drown out the guest spots you were looking for. Only finds shows that publish Podcasting 2.0 person tags, which is a minority of the index, so an empty result is not evidence the person has never been on a podcast.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 50. Episodes to consider before grouping.
nameYesThe person's name, as it would be credited in a feed.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint), the description discloses substantial behavior: grouping by show, newest-first ordering, including roles, flagging likely self-appearances, and restricting to Podcasting 2.0 person tags. It also explains how to interpret empty results, which is valuable context the annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly structured: the first sentence states the core result and ordering, the second gives the research use case, and the third covers the key limitation and interpretation. Every sentence earns its place with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, the description carries the burden of explaining the return shape, and it does: episodes credited, grouped by show, newest first, with roles, and own-show flagging. The PC2.0 coverage limitation and empty-result interpretation make the tool's real-world behavior clear enough for an agent to call it and judge the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions, so the description does not need to add much. The description reinforces that 'name' refers to the credited person and that 'max' limits episodes considered before grouping, but it does not add meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: it finds every episode a named person is credited on, grouped by show and ordered newest first, with their role. It also frames the purpose as guest research ('who has had this person on'), which helps distinguish it from generic episode search, though it never names a sibling tool like search_episodes_by_person.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context, explicitly saying this is for guest research and listing the questions it answers. It also gives an important limitation: only shows publishing Podcasting 2.0 person tags are found, so an empty result is not evidence of absence. However, it does not provide explicit when-not-to-use guidance or direct the agent to an alternative sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_shows_to_pitchFind bookable shows on a topicA
Read-onlyIdempotent

Search for shows on a topic and keep only the ones worth approaching: alive, publishing recently, with a real episode count and a way to contact them. A plain search returns the whole index including feeds that died in 2019, and sorting that by hand is the tedious part of guest outreach. Each result says when it last published, how often, and what contact route exists. Ranked by recent activity rather than by search relevance, because a perfectly matching show that stopped publishing two years ago is not a lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 15. Shows to return after filtering.
topicYesThe subject the show should be about.
min_episodesNoRequire at least this many episodes. Defaults to 10, which filters out feeds that never got started.
active_within_daysNoRequire an episode within this many days. Defaults to 90, which filters out dormant shows.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. Beyond that, the description discloses meaningful behavioral details: it filters to alive, recently-published, episode-rich, contactable shows; it ranks by recent activity rather than relevance; and it describes what each result contains. This goes well beyond the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loads the core purpose, and every sentence earns its place: purpose, contrast with plain search, result contents, and ranking rationale. There is no fluff or redundant restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description tells the agent what results look like, how they are ordered, and what criteria were used to select them. Combined with fully documented parameters, this gives the agent enough to call the tool and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains each parameter, including defaults and their filtering intent. The description loosely echoes 'real episode count' and 'publishing recently' but does not add new parameter-level meaning or syntax details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Search for shows on a topic and keep only the ones worth approaching.' It clearly defines the tool's filtering intent and distinguishes it from a plain search, so an agent immediately understands this is the lead-qualification variant rather than a generic search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: this is for guest outreach where dead or dormant shows should be excluded. It contrasts with 'a plain search' that returns the whole index, implying when the unfiltered alternative is more appropriate. However, it does not explicitly name a sibling tool or state a definitive when-not-to-use condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_transcriptsFind which episodes have transcriptsA
Read-onlyIdempotent

Scan a show's recent episodes and report which of them publish a transcript or chapters, without fetching any of the files. Call this before get_transcript or search_transcript on an unfamiliar show: it is one request, and it tells you whether the show transcribes at all rather than discovering it through a failed lookup per episode. A show that transcribes usually transcribes everything, and a show that does not never will.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 50. How many recent episodes to check.
showYesThe show, in whichever form you have. Any of: a Podcast Index feed id (920666), an RSS feed URL, a podcast GUID, an Apple Podcasts URL, or a bare iTunes id. The form is detected, so pass what you have rather than converting it.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful non-obvious traits: it does not fetch transcript files, it scans only recent episodes, and it reports both transcripts and chapters. The final heuristic about shows is useful, though slightly over-generalized; it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with distinct jobs: core function, usage direction, and decision heuristic. The most important information is front-loaded, and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter discovery tool with strong annotations, the description covers scope, side effects, and when to call it. It does not specify the exact response shape, but no output schema is present and the description's 'report which...' gives enough of a contract for an agent to decide next steps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both show and max already explained in the input schema. The tool description adds no parameter-level detail beyond 'recent episodes', so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Scan a show's recent episodes and report which of them publish a transcript or chapters'. It also distinguishes the tool from siblings by saying it does this 'without fetching any of the files' and by naming get_transcript/search_transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit when-to-use rule: 'Call this before get_transcript or search_transcript on an unfamiliar show', with the rationale that it is 'one request' versus discovering the answer through a 'failed lookup per episode'. This makes the choice between tools clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_chaptersRead an episode's chaptersA
Read-onlyIdempotent

Fetch and read the chapter list a publisher attached to an episode: titles, start times, images and links. Chapters are the publisher's own table of contents, so this answers 'what is in this episode and when' far more cheaply than reading the transcript. Chapters the publisher marked as excluded from the table of contents are kept and labelled rather than dropped, because in practice that flag marks sponsor reads and hiding them would make the timeline misrepresent the episode. Like transcripts, chapters are optional and most episodes have none.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesPodcast Index episode id.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though annotations already declare readOnlyHint=true and idempotentHint=true, the description adds valuable behavioral context: excluded chapters are intentionally retained and labelled rather than dropped, with a clear rationale about sponsor reads and timeline accuracy. It also discloses that chapters are optional and commonly absent, which is not visible from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then efficiently adds usage context, behavioral nuance, and a caveat about availability. Every sentence contributes necessary information, with no redundant filler or restating of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a single well-documented parameter and strong annotations covering safety and idempotency, the description fully covers what the agent needs to select and invoke the tool correctly. It explains what data is returned, how excluded chapters behave, and how this relates to transcripts, leaving no major gaps despite the lack of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the only parameter, episode_id, is already documented as a Podcast Index episode id. The description confirms the resource is tied to an episode but does not add extra format, validation, or usage details beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Fetch and read'), a specific resource ('chapter list a publisher attached to an episode'), and the contents (titles, start times, images, links). It also implicitly distinguishes itself from the transcript-related sibling tools by framing chapters as the publisher's table of contents and cheaper than reading the transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: when the question is 'what is in this episode and when', and notes it is cheaper than reading the transcript. It also cautions that chapters are optional and most episodes have none, which helps agents set expectations, though it does not explicitly name alternatives or provide a formal when-not-to-use rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_episodeGet one episodeA
Read-onlyIdempotent

One episode in full: description, credited people, soundbites, value block, and the transcript and chapter pointers. Takes a Podcast Index episode id, which is the fastest path, or an episode GUID. A GUID is only unique within a show, so pass the show as well when using one, or the answer is whichever episode the index finds first.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidNoThe episode GUID from the RSS feed. Needs 'show' alongside it to be unambiguous.
showNoThe show, when looking up by GUID. Feed id, RSS URL or podcast GUID.
episode_idNoPodcast Index episode id. The reliable identifier, from any listing.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint, idempotentHint, openWorldHint, non-destructive), and the description adds compatible behavioral detail: the contents of the full episode object and the non-obvious default that a bare GUID resolves to 'whichever episode the index finds first.' That ambiguity disclosure is real value beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, every one load-bearing: scope, identifier preference, and the ambiguity caveat. Purpose is front-loaded, and there is no filler, no repetition of the title, and no restatement of annotation fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with three optional parameters and no output schema, the description covers both what is returned and how to disambiguate the target episode. The component list partially substitutes for the missing output schema. It could go further by naming the piecewise siblings explicitly, but nothing an agent needs to make a correct call is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents all three parameters well, so the baseline is 3. The description adds the episode_id preference ordering ('fastest path') and spells out the consequence of omitting show when using a GUID, which goes beyond the schema's notes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('get one episode') and enumerates the exact contents returned: description, credited people, soundbites, value block, transcript, and chapter pointers. This enumerated scope clearly separates it from specialized siblings like get_transcript, get_chapters, get_soundbites, and get_value_block, as well as the plural get_episodes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear call-time guidance: prefer the Podcast Index episode_id as the 'fastest path,' and only use a GUID together with a show. It explains the GUID uniqueness constraint and the fallback behavior if show is omitted. It does not explicitly name alternative tools or state when-not-to conditions, which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_episodesGet a show's episodesA
Read-onlyIdempotent

Episodes for one show, newest first. Takes any show identifier: feed id, RSS URL, podcast GUID, Apple link or iTunes id. Each episode says which Podcasting 2.0 extras it carries in its 'has' attribute, so you can see at a glance which ones have a transcript or chapters worth fetching. Use 'since' rather than a large 'max' when you only want recent episodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20. Shows with long back catalogues can return thousands, so keep this tight.
showYesThe show, in whichever form you have. Any of: a Podcast Index feed id (920666), an RSS feed URL, a podcast GUID, an Apple Podcasts URL, or a bare iTunes id. The form is detected, so pass what you have rather than converting it.
sinceNoOnly include things published after this time, as a unix timestamp in seconds. A negative number is read as seconds before now, so -604800 means the last week.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds useful behavioral detail: episodes are sorted newest first, any show identifier form is accepted/detected, and each episode exposes its Podcasting 2.0 extras via a 'has' attribute. These go beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences deliver the core purpose, ordering, identifier flexibility, payload hint, and a concrete usage recommendation. The most important facts are front-loaded, and no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, one-required-parameter tool with no output schema, the description covers purpose, ordering, identifier formats, an important return attribute ('has'), and parameter selection guidance. It could be slightly stronger by explicitly noting the response is a list and how many episodes are returned by default, but the schema covers max, so the gap is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds meaningful guidance beyond the schema by recommending 'since' over a large 'max' for recent episodes and by clarifying that the 'show' identifier form is auto-detected so callers should pass what they have without converting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns episodes for one show, newest first, and specifies that it accepts multiple identifier forms. It is distinguishable from siblings like get_episode (single episode) and get_recent_episodes (not tied to one show), though it does not explicitly name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for using the tool and even provides internal guidance on preferring 'since' over a large 'max' for recent episodes. However, it never explicitly says when to prefer this tool over sibling tools such as get_episode or get_recent_episodes, leaving that to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_episode_valueGet one episode's payment splitA
Read-onlyIdempotent

The value block for a single episode, which can differ from the show's. Publishers override the split per episode to pay a guest a share, so this is how you see who was cut in on a particular conversation. Needs both the podcast GUID and the episode GUID, because that is the only pair this endpoint accepts.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_guidYesThe episode's GUID from the RSS feed, from get_episodes.
podcast_guidYesThe show's podcast GUID, from get_podcast.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive. The description adds meaningful behavioral context not in annotations: why the split may differ from the show's, the override mechanism, and that the endpoint only accepts the exact pair of GUIDs. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: first defines the resource, second explains why it exists, third states the requirement. Slightly awkward phrasing in the first sentence ('The value block for...') but no wasteful content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two well-documented parameters and no output schema, the description provides enough context to understand what data is returned and why both IDs are necessary. It does not detail the return format, but annotations and the title compensate adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented with source hints. The description adds value by emphasizing that both GUIDs are required together and that this pair is the only accepted combination, which clarifies the relationship between parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a specific resource: the payment split/value block for a single episode. It explains the purpose ('see who was cut in on a particular conversation') and explicitly distinguishes this from the show-level value block ('can differ from the show's'), which differentiates it from sibling get_value_block.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete context for when to use it: when a publisher overrides the split per episode and you need to see who was paid on a particular episode. It also states the prerequisite of needing both GUIDs, but does not explicitly name an alternative tool or say when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_index_statsPodcast Index size and activityA
Read-onlyIdempotent

How big the index is and how much of it is alive: total feeds, total episodes, how many feeds published in the last 3, 10, 30 and 90 days, and how many carry a value block. The activity numbers are the interesting part, because the gap between total feeds and feeds active in 30 days is the honest measure of how much of podcasting is still running.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that, such as the interpretation of the gap between total feeds and feeds active in 30 days, and that value-block counts are included. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core purpose, and every sentence earns its place. The first sentence enumerates the concrete metrics, and the second adds a useful interpretive lens without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameterless, read-only stats tool with no output schema, the description is complete enough: it enumerates all key data points returned and explains what the activity numbers mean. An agent can decide when to call it and what to expect from the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100%, so there is no parameter burden for the description to carry. The description instead focuses on the returned metrics, which is appropriate for a parameterless endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool reports: index size and activity with specific metrics like total feeds, total episodes, and recency buckets. This is distinguishable from sibling tools by content, though it does not explicitly name an alternative or contrast itself with the 'status' sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: call this when you need a picture of index size and how many feeds are currently active. However, it gives no explicit when-to-use or when-not-to-use guidance, nor does it name any alternative among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_live_episodesPodcasts broadcasting live nowA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide read-only and open-world hints. The description adds behavior beyond that: the list is small and fast-moving, a handful of results is normal, an empty response is possible, and each entry contains start time, end time, and status. This gives the agent expectations that are not present in the annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with the main behavior front-loaded in the first sentence. Each remaining sentence adds non-redundant value: expected list size/volatility and the fields carried by entries. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with one optional parameter and no output schema, the description covers scope, result-size expectations, the possibility of an empty list, and the entry fields. It does not specify ordering or pagination, but these are minor gaps given the low complexity and fast-moving nature of the data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, max, and the input schema fully documents it with a default of 20, minimum/maximum bounds, and a description. With 100% schema coverage, the description does not need to add parameter-level detail, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: getting episodes currently marked live across the whole index, and even identifies the source data as the Podcasting 2.0 liveItem tag. This clearly distinguishes the tool from sibling episode-listing endpoints like get_recent_episodes or get_reending.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It is clear that this should be used when the task calls for currently-live episodes across the entire index, and it sets expectations with warnings about small, fast-moving results and possible empty lists. It does not explicitly name alternative tools or when-not conditions, so it has clear context but no formal exclusion routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_new_feedsFeeds new to the indexA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20.
sinceNoOnly include things published after this time, as a unix timestamp in seconds. A negative number is read as seconds before now, so -604800 means the last week.
oldest_firstNoReturn oldest first instead of newest first.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true and destructiveHint=false, the safe read nature is already covered by annotations. The description adds valuable behavioral context beyond that: results are newest-first, the pool contains much noise, and many feeds are empty, abandoned, or automated. This helps agents interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the core behavior, the key distinction from episodes, and the practical noise warning. The most important information is front-loaded, and there is no filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list endpoint with fully documented parameters, the description covers purpose, ordering, and data-quality expectations. It does not describe return fields, but there is no output schema and the resource is clear enough from the name and description. Minor missing context: no mention of how `since` interacts with the feed-creation date, though the schema handles the parameter itself.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (max, since, oldest_first) are already fully documented in the schema. The description adds no additional parameter-level meaning or examples, which matches the baseline expectation when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource ('feeds added to Podcast Index for the first time') and a clear ordering ('newest first'). It also distinguishes itself from episode-oriented tools by emphasizing 'genuinely new podcasts rather than new episodes,' which prevents an agent from confusing it with recent-episode endpoints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit use case: 'the tool for spotting a launch.' It also sets expectations about noisy results. It does not name alternative sibling tools or explicitly state when not to use it, so it falls short of full alternative routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_new_value_feedsFeeds that just added a payment splitA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20.
sinceNoOnly include things published after this time, as a unix timestamp in seconds. A negative number is read as seconds before now, so -604800 means the last week.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=true, openWorldHint=true, destructiveHint=false), lowering the bar. The description adds meaningful context — the 'newest first' ordering and the semantic distinction that these are first-time adopters — but discloses nothing beyond that, such as result shape or how the result set behaves as an open world over time. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, roughly 35 words, with the core result statement front-loaded and the second sentence earning its place by clarifying intent ('first time' adoption). No fluff or repetition of what the title already states.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with two fully documented optional parameters, the description plus annotations cover safety, scope, and ordering. The only minor gap is the lack of any return-format hint — there is no output schema, and the description assumes an agent will infer that a list of feed objects comes back.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — both max and since are fully documented with defaults and timestamp semantics, including the negative-since special case. The description itself adds no parameter-level detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — returns feeds that recently added a value block — and immediately clarifies the scope ('shows adopting listener payments for the first time, newest first'). This semantic positioning implicitly distinguishes it from siblings like get_new_feeds and list_value_podcasts, but it never names an alternative, so the differentiation is left to inference rather than made explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'growth edge... adopting listener payments for the first time' framing gives an agent a sense of when the tool is relevant, but there is no explicit when-to-use, when-not-to-use, or named alternative like get_new_feeds or get_recent_feeds. Context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_podcastGet one podcastA
Read-onlyIdempotent

Everything Podcast Index knows about one show: metadata, category, episode count, when it last published, and which Podcasting 2.0 features it carries. Takes any identifier you have, a feed id, an RSS URL, a podcast GUID, an Apple Podcasts link or an iTunes id, and works out which it is. Start here when you already know the show; use search_podcasts when you are still looking for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
showYesThe show, in whichever form you have. Any of: a Podcast Index feed id (920666), an RSS feed URL, a podcast GUID, an Apple Podcasts URL, or a bare iTunes id. The form is detected, so pass what you have rather than converting it.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool read-only and idempotent, and the description adds meaningful behavioral context beyond that: it resolves multiple identifier formats, detects the form automatically, and returns a specific set of show details. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: first states return value, second states accepted inputs and auto-detection, third gives usage route versus sibling. Front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description fully explains input flexibility, return contents, and when to use it. Annotations cover safety, and no output schema exists, so the description adequately covers what an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces the parameter semantics and adds the useful directive to 'pass what you have rather than converting it,' which goes beyond the schema by clarifying that conversion is unnecessary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific operation: retrieve everything Podcast Index knows about one show, and enumerates the exact fields returned (metadata, category, episode count, last publish, Podcasting 2.0 features). It explicitly distinguishes itself from search_podcasts, so an agent can tell them apart immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: 'Start here when you already know the show; use search_podcasts when you are still looking for it.' It also clarifies that any identifier form is accepted and tells the agent not to convert identifiers, removing a likely error.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_podcasts_batchGet many podcasts at onceA
Read-onlyIdempotent

Look up many shows in one request, by podcast GUID. Use this instead of calling get_podcast in a loop whenever you have more than three or four: it is one request rather than one each, which matters against a rate limit and is far faster. Only accepts podcast GUIDs, not feed ids, because that is the only identifier this endpoint takes.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidsYesPodcast GUIDs. Up to 500 per call, which is the API's own ceiling.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds meaningful behavioral context beyond annotations: batching behavior, rate-limit sensitivity, and the endpoint's exclusive identifier type. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. Each sentence has a distinct job: stating what it does, guiding when to use it, and constraining the accepted identifier. The most important information (purpose and batching advantage) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, read-only tool with rich annotations and full schema coverage, the description covers what, when, why, and the critical input constraint. The absence of an output schema makes the lack of return-format details acceptable; the agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for the single parameter, including the array limits and a description. The description adds extra semantic value by explicitly excluding feed ids and explaining why GUIDs are required, which prevents a common misuse even with the schema present.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Look up'), a clear resource ('many shows'), and the key identifier ('by podcast GUID'). It also distinguishes this tool from its sibling get_podcast by emphasizing the batch aspect ('in one request'), making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells agents when to use this tool instead of the alternative ('instead of calling get_podcast in a loop whenever you have more than three or four') and explains why ('one request rather than one each, which matters against a rate limit and is far faster'). It also states a clear exclusion ('Only accepts podcast GUIDs, not feed ids'), preventing incorrect usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_podcasts_by_mediumBrowse feeds by mediumA
Read-onlyIdempotent

List feeds of one Podcasting 2.0 medium. The medium says what a feed actually contains, and the index carries far more than talk shows: music, video, film, audiobook, newsletter, blog, course and publisher feeds all live here. Use this to find content types that a normal podcast search buries, such as audiobooks or serialised film.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 30.
mediumYesThe medium to list. 'podcast' is the ordinary talk-show default.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false). The description adds meaningful domain context — what 'medium' signifies and that the index spans music, video, film, audiobook, and more — which complements the openWorldHint. However, it doesn't disclose return-format or pagination behavior; the schema handles defaults via 'max'. This matches the get_calls calibration: annotations cover the burden, description adds moderate value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first states the core function, the second explains the domain concept, the third gives the use-case. The essential scoping ('of one Podcasting 2.0 medium') is front-loaded, and there is zero filler or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a filtered-list tool of this simplicity: the schema fully documents both parameters, annotations carry the read-only safety profile, and the description explains the domain concept, the use case, and the contrast with search. An agent has everything needed to select and invoke it correctly; no output schema exists and none is required to understand that it lists feeds.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, documenting both 'medium' and 'max' with defaults and enum ranges, so the baseline is 3. The description adds a conceptual layer — 'The medium says what a feed actually contains' — which deepens the meaning of the medium parameter and is reinforced by the enum values. This is useful but not a substantial compensation beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List'), resource ('feeds'), and scope ('of one Podcasting 2.0 medium'). The description actively differentiates from the search siblings by explaining that the index contains far more than talk shows and that this tool surfaces content a normal search buries — a genuine distinction from search_podcasts and get_recent_feeds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use directive: 'Use this to find content types that a normal podcast search buries, such as audiobooks or serialised film.' This clearly states when to choose this tool over the search path, with concrete examples. It stops short of naming the exact sibling (search_podcasts) or stating when to prefer other siblings like list_categories, but the primary ambiguity is resolved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_random_episodesRandom episodesA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
catNoCategories to include, by name or id, comma-separated.
maxNoHow many to return. Defaults to 10.
langNoLanguage code such as en, es, de. Comma-separate several.
notcatNoCategories to exclude, by name or id, comma-separated.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral detail beyond the annotations: results are genuinely random, never cached, and repeated calls yield different episodes. This complements the readOnlyHint and idempotentHint=false annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first defines the operation, the second explains why it is useful, and the third discloses a non-obvious behavior. The most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with four optional parameters and complete schema documentation, the description is sufficient to select and invoke it correctly. It explains the random behavior and the sampling use case, though it does not describe the response shape, which is acceptable given no output schema is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented. The description adds conceptual context around language and category filtering, but does not provide additional syntax, defaults, or format details beyond what the schema already gives.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action and resource: retrieving random episodes from across the whole index with optional filters. It explicitly contrasts with ranked results, which helps distinguish it from tools like get_trending and get_recent_episodes even without reading their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear use case: sampling what a category actually contains rather than what popular shows look like. It implies when to choose this tool over ranked or recent alternatives, though it does not name specific sibling tools or state explicit when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recent_episodesNewest episodes across the indexA
Read-only

The most recently published episodes across every show in the index, newest first. This is the firehose: it is what podcasting published in the last few minutes, not what is popular. Use get_trending for popularity. The exclude filter is worth using, because a handful of high-frequency automated feeds otherwise dominate every result.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20.
beforeNoOnly episodes published before this unix timestamp, for paging backwards through the firehose.
excludeNoDrop episodes whose title contains this string. Useful for filtering out repetitive automated feeds.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

注释已表明这是只读、非破坏性操作,描述在此基础上增加了行为特性:这是实时发布的‘消防水龙头’,可能被自动化信息源主导,因此建议使用 exclude。这些细节超出注释提供的信息,有助于代理正确预期结果。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

描述由三句简短句子组成,核心信息前置,随后给出使用建议和工具对比,没有冗余内容。每句都承担有用职责,结构高效。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

对于列表型只读工具,描述已包含核心目的、排序方式、与 get_rending 的区别、exclude 的用法及原因。schema 已覆盖 max 和 before 的细节,注释已覆盖安全特征,因此没有影响正确调用的重大遗漏。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

输入 schema 已 100% 覆盖参数描述,因此基础得分为 3。描述额外解释了使用 exclude 的动机(高频率自动化信息源会主导结果),为参数提供了结构性背景,超越了 schema 中的字段说明。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

明确说明该工具返回索引中所有节目的最新发布剧集,并按最新优先排序。它通过强调‘这是信息洪流,不是热门内容’与 get_trending 区分开,目的清晰且不会被误用。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

说明何时使用:获取最新发布内容时使用;并明确指出需要热门程度时应改用 get_current。还说明 exclude 过滤器值得使用,并解释原因为高频率自动化信息源会主导结果,这是明确的可操作指导。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recent_feedsRecently updated feedsA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
catNoCategories to include, by name or id, comma-separated. Call list_categories for the names.
maxNoHow many to return. Defaults to 20.
langNoLanguage code such as en, es, de. Comma-separate several.
sinceNoOnly include things published after this time, as a unix timestamp in seconds. A negative number is read as seconds before now, so -604800 means the last week.
notcatNoCategories to exclude, by name or id, comma-separated.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint and destructiveHint as safe, so the description adds useful behavioral context: newest-activity-first ordering and the differentiation between updated feeds and new shows. This goes beyond what the schema and annotations convey, though it leaves exact recency windows unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences front-load the core behavior and ordering, then give the sibling distinction and usage guidance. Every sentence earns its place without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple, read-only list tool with fully documented optional parameters and safety annotations. The description tells the agent what the result means conceptually, how it is ordered, and when to use the main alternative. No critical call-invocation information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage for all 5 parameters is 100%, so the schema carries the full parameter documentation burden and the baseline is 3. The description only loosely contextualizes 'published something recently' and adds no parameter-specific semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Feeds that published something recently, newest activity first') and explicitly distinguishes this tool from get_new_feeds by clarifying that it tracks updates rather than new shows. An agent can immediately tell which tool to use among the many feed-related siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use get_new_feeds for shows that are new to the index', providing direct when-not/alternative guidance. It also explains the conceptual context of feeds vs shows, so an agent knows when this tool is relevant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recent_soundbitesRecently published soundbitesA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint and destructiveHint already covering the safety profile, the description adds meaningful behavioral context: the results are clipped by publishers, marked as the best moment, ordered as newest, and span the whole index. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the core definition before the use-case sentence. The second sentence is slightly promotional and somewhat redundant, but it does add practical context about the feed's purpose. Each part has some value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity read-only tool with one optional parameter and no output schema, the description tells the agent what it gets, why those items count as soundbites, and broadly how results are ordered. It stops short of describing exact output shape or pagination, but those are less critical here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single optional max parameter is fully documented in the input schema with range and default. The description does not add additional parameter context, but the schema already carries the burden adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (get newest soundbites) and establishes the key scope: across the whole index. It also explains which clips qualify, distinguishing it from per-podcast soundbite tools like get_soundbites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear use cases: a ready-made feed of podcasters' picks and a way to find shows using Podcasting 2.0 tags. It does not explicitly list when not to use it or name alternative tools, but the global scope and ready-made framing make the intended context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_show_profileFull profile of one showA
Read-onlyIdempotent

Everything about one show in a single call: metadata, publishing cadence measured from real episode dates, recent episodes, who is credited on them, whether it publishes transcripts or chapters, its payment split, and whether the index is crawling it successfully. Use this instead of calling get_podcast, get_episodes, get_value_block and check_feed_health separately, which is four round trips for the same answer. This is the right first call when the question is about one show.

ParametersJSON Schema
NameRequiredDescriptionDefault
showYesThe show, in whichever form you have. Any of: a Podcast Index feed id (920666), an RSS feed URL, a podcast GUID, an Apple Podcasts URL, or a bare iTunes id. The form is detected, so pass what you have rather than converting it.
episodesNoHow many recent episodes to read for the cadence and people analysis. Defaults to 20.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it aggregates four underlying data sources into one call and measures cadence from real episode dates, which is important for interpreting results. It does not contradict any annotation and gives good detail about what behavior to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, all informative, with the core value proposition front-loaded first. The alternative-call comparison is concise and completes the routing guidance. No waste or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a composite read-only tool with no output schema, the description does a strong job of enumerating the data it returns, so an agent kows what the response will contain. It could go further by describing the response shape or edge cases, but the combination of content list, usage guidance, and annotations makes the description effectively complete for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already well documented. The description reinforces that the episodes parameter feeds cadence and people analysis, but it does not add significant new meaning beyond the schema. Since the schema carries the full semantic weight, the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: returns a complete profile of one show in a single call, enumerating metadata, cadence, episodes, credits, transcript/chapter presence, payment split, and crawler status. It also explicitly distinguishes itself from the sibling tools get_podcast, get_episodes, get_value_block, and check_feed_health, so an agent can select it without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: use this instead of making four separate calls, and treat it as the right first call when the question is about one show. This names both the alternatives and the condition that selects this tool, which is exactly what an agent needs to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_soundbitesGet an episode's soundbitesA
Read-onlyIdempotent

The clips a publisher marked as the best moments of an episode, with start time and duration. Soundbites are the show's own pick of what is worth quoting, which makes them the cheapest possible answer to 'what is the highlight of this episode' and a ready-made list for promotional clips. Comes straight from the episode record with no extra fetch. Optional and uncommon, like the rest of the Podcasting 2.0 tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_idYesPodcast Index episode id.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readonly, idempotent, and non-destructive behavior. The description adds useful context beyond those: the data comes straight from the episode record, there is no extra fetch, and the tags are optional and uncommon. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description front-loads the core definition, then adds a rationale and source context. The three sentences are mostly purposeful, though the 'cheapest possible answer' phrasing is slightly embellished. Overall it is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with strong annotations and full schema coverage, the description is complete enough: it explains what the data is, why it matters, where it comes from, and its rarity. Without an output schema, a bit more exact structure would help, but the payload is adequately hinted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter, episode_id, and the schema describes it fully as a Podcast Index episode id. The description adds no additional parameter-level meaning, but with 100% schema description coverage the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as an episode's publisher-marked soundbites with start time and duration. The title plus first sentence make the purpose obvious. However, it does not explicitly distinguish this from the sibling get_recent_soundbites, so it lacks full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete use cases: the cheapest highlight answer and a ready-made list for promotional clips. It also says it comes straight from the episode record with no extra fetch, which helps an agent decide when this is a cheap option. It does not explicitly state when not to use it or name an alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transcriptRead an episode transcriptA
Read-onlyIdempotent

Fetch and read the actual transcript of an episode, as timestamped text with speaker labels where the file has them. This is the tool that turns a podcast into something readable: Podcast Index only publishes a link to the transcript file, and this goes and gets it, works out whether it is SRT, WebVTT, JSON or HTML, and parses it. Long transcripts are returned in windows rather than whole, because a two hour episode is far more text than any single question needs; the response says how much remains and the offset to continue from. If you are looking for one specific moment, use search_transcript instead, which is one call rather than paging. Not every episode has a transcript, and most do not.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoForce a particular transcript file when the publisher offers several. Defaults to the richest available, which is JSON where it exists because only JSON carries speaker names.
offsetNoCharacter offset to resume from, for reading a long transcript in windows. Defaults to 0.
episode_idYesPodcast Index episode id, from get_episodes or a search.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnly, idempotent, and non-destructive, so the description only needs to add behavior beyond that. It adds significant value: format auto-detection (SRT, WebVTT, JSON, HTML), windowed reading with remaining/offset feedback, and the note that only JSON carries speaker names. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence carries operational information: purpose, format handling, pagination behavior, the alternative tool, and the availability caveat. It is front-loaded with the core purpose and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with three simple parameters and no output schema, the description explains the return format, how long transcripts are chunked, how to continue reading, and that transcripts are often unavailable. An agent has enough context to call it correctly and interpret the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema for the format parameter, explaining that the default is the richest available format because JSON carries speaker labels, and it reinforces offset's role in windowed continuation. This pushes it above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Fetch and read the actual transcript'), the resource (an episode transcript), and the output shape (timestamped text with speaker labels). It also explicitly distinguishes itself from search_transcript, making it identifiable among many sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear when-to-use guidance: use this tool to read an entire transcript, and use search_transcript instead when looking for one specific moment because it is a single call rather than paging. It also warns that most episodes do not have transcripts, setting realistic expectations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_value_blockGet a show's payment splitA
Read-onlyIdempotent

The value-for-value block for a show: the wallets that receive listener payments and the weight each one takes. Splits are relative weights rather than percentages, so a computed share is shown alongside the raw number. Most podcasts publish no value block at all, and an absent one is reported plainly rather than as an error. A value block means a show can receive payments; it is not evidence that it has received any.

ParametersJSON Schema
NameRequiredDescriptionDefault
showYesThe show, in whichever form you have. Any of: a Podcast Index feed id (920666), an RSS feed URL, a podcast GUID, an Apple Podcasts URL, or a bare iTunes id. The form is detected, so pass what you have rather than converting it.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds valuable behavioral context beyond annotations: absent value blocks are reported as absence rather than errors, and value block presence only means the show can receive payments, not that it has. This meaningfully helps the agent interpret results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence states the core purpose, and each following sentence earns its place by clarifying weight semantics, absence behavior, and interpretation. There is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only lookup, the description covers the essential semantics: what the value block contains, how splits are expressed, how absence is represented, and how to interpret the block's meaning. It does not spell out an exact response structure, but there is no output schema and the description gives enough for correct invocation and result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema's 'show' parameter already explains accepted forms and auto-detection in detail. The tool description adds no parameter-specific information, so it does not need to compensate, but it also provides no extra value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource and its purpose: the value-for-value block for a show, including listener payment wallets and weights. The title adds the verb 'Get,' making the operation clear. It does not explicitly distinguish this from the sibling get_episode_value, but the show-level scope is stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear interpretive guidance: most shows have no value block, absence is reported plainly rather than as an error, and a value block does not imply payments were received. It does not name alternative tools or explicit when-not-to-use conditions, but the usage context and caveats are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesList every categoryA
Read-onlyIdempotent

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's genre list.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already communicate read-only, idempotent, open-world, and non-destructive behavior. The description adds useful context beyond that: categories have numeric ids, names and ids are both accepted elsewhere, and the naming is not Apple's genre list. This adds meaningful semantic context for an agent deciding whether to consume the result before category-based calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, both purposeful. The first states exactly what is returned; the second explains when and why to call it. No filler or restatement of the title beyond what is useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, no-output-schema enumeration tool, the description is complete: it tells the agent what the result contains (every category and its numeric id) and why the call is worthwhile. The lack of an output schema is mitigated because the first sentence effectively describes the return shape. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, and the schema is empty, so the description cannot add parameter-level meaning. Per the baseline for a 0-parameter tool, a 4 is appropriate because there is nothing missing that the description needs to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: listing every category Podcast Index uses, with its numeric id. It also distinguishes itself from the sibling list/search tools by clarifying it is the universal category enumeration, and even differentiates its names from Apple's genre list. This leaves no ambiguity about what the tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to call this tool: once before filtering anything by category, because several other tools accept either the name or id and the names differ from Apple's genres. This is direct, actionable routing guidance with a clear rationale, even though there is no sibling category-specific alternative to exclude.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_dead_feedsList feeds the index has given up onA
Read-onlyIdempotent

Feeds Podcast Index has marked dead, meaning they stopped responding long enough that crawling was abandoned. Each entry can name the feed it duplicates, where the index concluded one feed superseded another. Useful for auditing a list of shows for ones that have quietly stopped, and for understanding churn in the directory. This is a large list.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 50. The full list is long; this trims it locally after fetching.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful context beyond this: what qualifies as dead, that crawling was abandoned, and that entries may indicate duplicated feeds. It does not describe ordering or full return fields, but safety and mutability are well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and each sentence earns its place: definition, duplicate-feeds detail, use cases, and size caveat. It is front-loaded with the primary behavior before secondary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives enough to select and invoke the tool correctly: it is a large read-only list operation with one optional cap. Since there is no output schema, it could say a bit more about what fields each entry contains, but the duplicate-feed note partially fills that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and thoroughly documents the single `max` parameter, including default and local truncation. The tool description's 'This is a large list' reinforces that, but adds little semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource ('feeds Podcast Index has marked dead') and the action (list), and defines what 'dead' means operationally. This distinguishes it from siblings like get_recent_feeds and get_new_feeds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states concrete use cases: auditing shows that have quietly stopped and understanding directory churn. It does not explicitly name alternatives or when-not-to-use, but the 'dead' framing makes the intended context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_value_podcastsList shows that take listener paymentsA
Read-onlyIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 100.
start_atNoFeed id to resume from, for paging through the list.
time_splits_onlyNoOnly feeds using value time splits, which pay different recipients during different parts of an episode.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safe read-only, idempotent, non-destructive nature of the tool. The description adds useful behavior beyond that by disclosing that the list is paged and large, and by directing the agent to use start_at for paging.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The first sentence states the resource and paging, and the second sentence explains why the tool matters and how to page, making every sentence purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with fully documented optional parameters and strong annotations, the description provides enough scope, purpose, and pagination guidance to invoke it correctly. There is no output schema, so a bit more detail about the response shape would be nice, but it is not essential for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter already has a meaningful description in the schema. The tool description only reiterates the start_at paging behavior without adding new parameter semantics, so the schema carries the weight here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Every feed in the index carrying a value block, paged,' naming a specific verb and resource with a clear scope. It also positions the tool as the whole value-for-value list, distinguishing it from siblings like get_value_block or get_episode_value that target individual feeds or episodes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it is useful for sizing the value-for-value space or finding shows that accept listener payments. It also instructs paging with start_at because the list is large, but it does not explicitly name alternatives or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notify_feed_updateTell the index a feed has new contentA
Idempotent

Ping Podcast Index to say a feed has changed, so it recrawls sooner than its normal schedule. Use this straight after publishing an episode: the index will find it on its own eventually, and this shortens eventually. Safe to call more than once, and it needs no API key, so it works even on an unconfigured install. It does not add a feed that is not already in the index; use submit_feed for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
showYesThe show, as a Podcast Index feed id or its RSS feed URL. It must already be in the index.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint and openWorldHint, but the description adds concrete behavioral details: safe to call more than once, needs no API key, works on unconfigured installs, and will not add a feed. It goes beyond the annotations without contradicting them. It doesn't mention return values or rate limits, but those are less critical for a one-parameter ping.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four focused sentences: action, when to use, safety/no-API-key constraints, and the explicit alternative. Every sentence earns its place, and the core action is front-loaded. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter, no output schema, and supportive annotations, the description fully covers what an agent needs: purpose, trigger timing, idempotency, authentication requirements, and the edge case of non-indexed feeds. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the show parameter is already well described ('feed id or its RSS feed URL', 'must already be in the index'). The description reinforces the 'already in index' constraint but adds no new format or syntax details, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Ping') and resource ('Podcast Index') with the purpose ('say a feed has changed'), and explicitly distinguishes itself from submit_feed. The title also communicates the exact use case, so an agent can tell this tool apart from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit trigger condition ('Use this straight after publishing an episode'), notes the fallback behavior ('the index will find it on its own eventually'), and names the alternative for a different scenario ('use submit_feed for that'). No inference is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_episodes_by_personFind episodes crediting a personA
Read-onlyIdempotent

Find episodes where a named person is credited as host, guest, producer or any other role. This reads the Podcasting 2.0 person tag, so it finds real credits rather than passing mentions, which makes it the tool for guest research and for tracing where somebody has appeared. Two honest limits: it only finds shows that publish person tags, which is a minority of the index, and it matches the name as written, so a person credited inconsistently appears under more than one spelling. Returns episodes, not shows.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe person's name, as it would be credited.
maxNoHow many to return. Defaults to 30.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial context beyond that: it reads the Podcasting 2.0 person tag, matches names literally, has a known index-coverage limitation, and returns episodes rather than shows. This gives an agent accurate expectations about results and limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core function and stays compact across four sentences. Each sentence earns its place: behavior, use case, limitations, and result type. There is no wasted wording or redundant restating of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool with no output schema, the description is complete enough to invoke correctly. It defines the input semantics, explains what results are returned (episodes, not shows), and exposes the two limitations that most affect whether the tool will return useful results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds extra semantic meaning for the q parameter by explaining that matching is literal and that inconsistent credits will appear under multiple spellings; max gets no additional description beyond its schema, but the parameter is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: find episodes where a named person is credited in any role. It also distinguishes itself from siblings by explaining it finds real Podcasting 2.0 person-tag credits rather than passing mentions, and by explicitly noting it returns episodes, not shows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly frames when to use it: for guest research and tracing where someone has appeared. It also gives honest usage boundaries around person-tag coverage and exact-name matching, but it does not explicitly name alternative sibling tools or state when not to use it in favor of another tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_musicSearch music feedsA
Read-onlyIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesArtist, album or track words.
maxNoHow many to return. Defaults to 20.
cleanNoExclude anything the publisher marked explicit.
only_with_valueNoKeep only feeds that publish a value block, which for music means the artist takes listener payments directly.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already cover read-only, idempotent, and non-destructive behavior, so the description's job is to add semantic context. It does this by explaining the Podcasting 2.0 medium separation and that results are feeds for albums/tracks rather than episodes, which helps set expectations beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose, and every sentence earns its place. The second sentence gives necessary domain context and the third gives actionable guidance without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with no output schema, the description covers scope, result type (album/track feeds), and usage context. It could still add a brief note about response shape or pagination, but overall the agent has enough context to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents q, max, clean, and only_with_value. The description does not need to repeat parameter details, but it also does not add meaningful semantic insight about any specific parameter beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource boundary: 'Search feeds whose medium is music rather than talk.' It also clarifies that these are albums and tracks, not episodes, which distinguishes it from the general podcast search tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this for music discovery and warns that 'a normal podcast search will not surface them well.' This gives the agent a clear when-to-use signal and an implicit contrast with search_podcasts, the likely alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_podcastsSearch podcastsA
Read-onlyIdempotent

Search the Podcast Index for shows by keyword, across title, author and owner. This is the general starting point when you have a topic or a name and need to find the show. Returns feeds with their Podcast Index feed id, which every other tool accepts. Matching is keyword-based rather than semantic, so two or three plain words work better than a sentence.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesWords to search for. Title, author and owner are all matched.
maxNoHow many to return. Defaults to 20.
cleanNoExclude anything the publisher marked explicit.
similarNoAlso return near matches. Widens a search that came back thin, at the cost of precision.
only_with_valueNoKeep only shows that publish a value-for-value block, meaning they accept listener payments.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so no safety ambiguity exists. The description adds useful behavioral detail beyond the schema: it explains the matching model is keyword-based rather than semantic, and it reveals the return contract (feeds with Podcast Index feed id usable by every other tool). This is meaningful pragmatic context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: what it searches, when to use it, and what the result looks like plus a caution about query style. It is front-loaded with the core action and scope, and there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with a fully documented input schema, the description is complete. It explains the search scope, the result shape (feed id accepted by other tools), the general use case, and a key behavioral caveat about keyword matching. No output schema exists, but the description supplies the essential return contract.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameter meaning is fully documented in structured form. The description reinforces that `q` matches title, author, and owner, matching the schema's wording, but adds no new syntax or semantic detail about the other parameters. The baseline of 3 is appropriate because the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Search the Podcast Index for shows by keyword') with explicit scope ('across title, author and owner'). It also differentiates from the sibling `search_podcasts_by_title` by presenting this as the general starting point rather than a title-specific lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly tells an agent when to reach for this tool: when they have a topic or name and need to find a show. It also gives practical guidance on query formulation ('keyword-based rather than semantic... plain words work better than a sentence'). It doesn't explicitly name alternatives like `search_podcasts_by_title`, but the positioning as the general entry point makes the intended context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_podcasts_by_titleSearch podcasts by title onlyA
Read-onlyIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe show title, or part of it.
maxNoHow many to return. Defaults to 20.
cleanNoExclude anything the publisher marked explicit.
similarNoAlso return near matches on the title.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds meaningful behavioral context beyond the annotations: it performs title-only matching, ignores author/owner, and is more precise for known names but weak for topic searches. This is useful qualitative behavior not evident from the schema alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core scoping constraint, then the usage context, then a direct comparison to the sibling. Every sentence earns its place and there is no redundant repetition of schema or annotation information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple search operation with robust annotations and full schema coverage. The description fully covers what the tool does, when to use it, and how it compares to alternatives. No critical information is missing for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all four parameters. The description adds general context about title-only matching but does not add new parameter-level semantics beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Search shows by title alone') and explicitly distinguishes itself from search_podcasts by clarifying it ignores author and owner. It is immediately clear what this tool does and how it differs from its closest sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete when-to-use guidance: use it when you know roughly what a show is called and a general search returned too many unrelated results. It also directly names search_podcasts as the alternative and characterizes when that sibling is better ('much worse for a topic').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_transcriptFind where something was saidA
Read-onlyIdempotent

Search inside an episode's transcript and return the moments a phrase was said, each with a timestamp, the speaker where known, and the surrounding conversation. This is the fast path for 'when did they talk about X': one call, no paging, and the timestamp tells you where to skip to in the audio. Matching is literal and case-insensitive rather than semantic, so search for the words that would actually have been spoken and try a couple of phrasings before concluding a topic never came up. An empty result means those words are absent, not that the subject was not discussed.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoHow many to return. Defaults to 20. How many matching moments to return.
queryYesThe phrase to find. Literal substring match, case-insensitive.
episode_idYesPodcast Index episode id.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and idempotent annotations, the description discloses important behavioral traits: matching is literal and case-insensitive, results are not semantic, and an empty result means the exact words are absent rather than the topic was never discussed. It also clarifies there is no paging, which directly informs invocation expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the core purpose and return shape, then adds behavioral caveats. Each sentence provides distinct value: what it returns, why it is the fast path, how matching works, and how to interpret empty results.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter search tool with full schema coverage, the description covers return contents, matching semantics, result interpretation, and performance expectations. No output schema is present, but the described return shape—timestamp, speaker, surrounding conversation—is sufficient for an agent to invoke the tool and understand the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already sufficiently documents episode_id, query, and max. The description adds useful search strategy context—such as trying multiple phrasings—but does not significantly expand parameter semantics beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: search inside an episode's transcript and return matching moments with timestamp, speaker, and surrounding conversation. It also differentiates this tool from siblings like get_transcript by framing it as the fast path for finding when something was said in one call without paging.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly identifies the tool as the fast path for queries like 'when did they talk about X' and gives practical advice on how to search literal phrasing. It does not explicitly name alternative tools for cases where literal search is insufficient, but the context is clear enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statusWhat this server can currently reachA
Read-onlyIdempotent

Report whether the Podcast Index credentials are configured and working, how far this machine's clock is from the server's, and which tool groups are available. Call this first when anything is failing in a way that looks like a permissions or connectivity problem, rather than inferring the cause from an empty result.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral context by naming the diagnostic facts it produces (credential status, clock offset, tool-group availability) and seuence as a first-line check. It is consistent with the annotations and does not need to repeat them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences containing no wasted words: the first lists what is reported, the second gives the key usage scenario. The most actionable information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param diagnostic tool with no output schema, the description gives enough to decide when to invoke it and what it will verify. It could name the return format or fields, but that is not essential for tool selection and invocation in this simple case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and schema description coverage is vacuously 100%. With no parameters to document, the description needs no extra parameter info, so the baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a concrete verb (Report) with three specific resources: Podcast Index credentials, clock skew, and available tool groups. This uniquely identifies a status/diagnostic tool and distinguishes it from every sibling search/get/submit tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance: 'Call this first when anything is failing in a way that looks like a permissions or connectivity problem.' It also tells the agent what to avoid ('rather than inferring the cause from an empty result'), giving clear when/why-not conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedAdd a podcast to the indexA
DestructiveIdempotent

Add a podcast to Podcast Index by its RSS feed URL. This writes to a public global directory that hundreds of podcast apps read, and there is no way to remove a feed through this API afterwards, so it requires confirm: true. If the feed is already indexed you get its existing id back and nothing changes. Needs an API key with write permission, which Podcast Index grants separately from a normal key; without it the call fails with a message saying so and nothing is submitted.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoMust be true for this to run. It adds a feed to a public directory that many podcast apps read, and this API has no way to remove it afterwards.
feed_urlYesThe RSS feed URL to add. Must be publicly reachable.
itunes_idNoThe show's iTunes id, if known. Helps the index match this feed to the same show elsewhere.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses critical behavior beyond what annotations already provide: writes to a public global directory read by many apps, has no removal path, returns existing id if already indexed, and fails cleanly without write permission. These details align with destructiveHint=true and idempotentHint=true, and add significant operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each carrying distinct, necessary information: core action, public/irreversible effect, idempotent behavior, and auth requirement. It is front-loaded with the main purpose and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers action, prerequisites, irreversibility, idempotency, and auth failure behavior. Without an output schema, it does not explicitly state what a successful new submission returns, though it implies an id is returned. This small gap prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with confirm, feed_url, and url all documented. The description repeats the confirm requirement and adds auth context but does not explain the url alias beyond what the schema already says, so it adds little beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Add a podcast to Podcast Index by its RSS feed URL.' This clearly states what the tool does and implicitly distinguishes it from the sibling tool submit_feed_by_itunes_id, which uses a different input identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it requires confirm: true, needs a separate write-permission API key, and is irreversible. It does not explicitly name alternatives like submit_feed_by_itunes_id or state when not to use this tool, but the context is strong enough for an agent to infer the appropriate scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feed_by_itunes_idAdd a podcast by its iTunes idA
DestructiveIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoMust be true for this to run. It adds a feed to a public directory that many podcast apps read, and this API has no way to remove it afterwards.
itunes_idYesThe numeric iTunes id. From an Apple Podcasts URL this is the number after /id.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the annotations by disclosing that the feed is written to a public directory, that the action cannot be undone via this API, that confirm must be true, and that write permission is required. This gives the agent a concrete understanding of impact and preconditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, with the primary purpose and distinguishing condition front-loaded, followed by a compact list of caveats. Every sentence contributes meaningful information with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no output schema, the description covers the core operation, the required confirmation flag, permissions, irreversibility, and the public nature of the side effect. Nothing critical is missing for an agent to decide whether and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters well. The description adds context that itunes_id is the id from Apple Podcasts and that confirm must be true, but it does not need to compensate for missing schema info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Add a podcast to Podcast Index') and the exact input mechanism ('using its iTunes id'), which clearly distinguishes it from RSS-based submission. The mention of 'for when you have an Apple Podcasts link but not the RSS URL' further clarifies the intended resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the use case: when you have an Apple Podcasts link but not the RSS URL. It also points to submit_feed as the related alternative and lists the shared caveats, giving the agent clear routing and prerequisite information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools map to a distinct resource and action, and the descriptions carefully separate similar-looking options like search_podcasts vs search_podcasts_by_title and get_recent_episodes vs get_trending. The main ambiguity is search_episodes_by_person vs find_guest_appearances, which both handle credited-person lookups and could lead to misselection if an agent does not read closely.

Naming Consistency4/5

The set mostly follows a clear verb_noun pattern: search_, get_, list_, find_, submit_. There are minor deviations such as bare status, notify_feed_update instead of update_feed, and the mix of list_value_podcasts vs get_new_value_feeds, but the overall style is predictable and readable.

Tool Count2/5

At 36 tools, this is a large surface for an agent to choose from, and many tools cover very narrow niche features or redundant listing variants that could be consolidated. The broad scope of Podcast Index justifies some size, but this is beyond the range where each tool is easy to keep in mind.

Completeness4/5

The domain is well covered: search, metadata, episodes, transcripts, chapters, soundbites, value blocks, trends, feed health, submission, and stats all have dedicated tools. The main gaps are a general episode keyword search and any update/remove workflow, but those are largely API or directory limitations rather than obvious agent-dead-end omissions.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants to Pocket Casts accounts for browsing subscriptions, reading episode details, and retrieving transcripts with automatic transcription via AssemblyAI when no native transcript exists.
  • A
    license
    A
    quality
    B
    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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/navidmoazzez/podcastindex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server