Skip to main content
Glama
conorbronsdon

Podcast Index MCP Server

Podcast Index MCP Server

Connect Claude to the Podcast Index API. Search podcasts, track appearances, monitor trends.

GitHub stars License: MIT npm version Podcast X


Demo: search_by_person tool call and response

The results shown in the demo above are sample data, not real Podcast Index responses.

About

Built and maintained by Conor Bronsdon for the Chain of Thought podcast production workflow, where it surfaces guest appearances and checks feed health during research. Conor hosts Chain of Thought, a show about AI infrastructure and how practitioners actually build with it. More tools for creators live in ai-tools-for-creators. Find Conor on X at @ConorBronsdon.

Companion tools:

  • Transistor-MCP: manage podcast episodes, analytics, and transcripts on Transistor.fm

  • substack-mcp: read posts and manage Substack drafts

  • op3-mcp: report downloads, listener geography, and apps from OP3

  • apple-podcasts-mcp: pull plays, followers, and per-episode listening from Apple Podcasts Connect

  • gsc-mcp: query search performance, keywords, and sitemaps in Google Search Console

  • podcast-benchmark: benchmark a show against its peers using only public data

Related MCP server: Podbean MCP Server

Prerequisites

Installation

git clone https://github.com/conorbronsdon/podcastindex-mcp.git
cd podcastindex-mcp
npm install
npm run build

Configuration

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "podcastindex": {
      "command": "node",
      "args": ["/path/to/podcastindex-mcp/build/index.js"],
      "env": {
        "PODCASTINDEX_API_KEY": "your-api-key",
        "PODCASTINDEX_API_SECRET": "your-api-secret"
      }
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "podcastindex": {
      "command": "node",
      "args": ["/path/to/podcastindex-mcp/build/index.js"],
      "env": {
        "PODCASTINDEX_API_KEY": "your-api-key",
        "PODCASTINDEX_API_SECRET": "your-api-secret"
      }
    }
  }
}

Tools

This server is entirely read-only: every tool declares the MCP tool annotation readOnlyHint: true, so clients know no call mutates anything and can skip write-consent prompts.

Tool

Description

search_by_person

Search for episodes where a person appeared as host or guest. Returns matches across all indexed podcasts.

search_by_term

Full-text search across all podcasts by topic, show name, or keyword.

search_by_title

Search for podcasts by title.

podcast_by_feed_url

Look up a podcast by RSS feed URL. Returns feed ID, iTunes ID, categories, last update, and feed health.

podcast_by_feed_id

Look up a podcast by its Podcast Index feed ID. Returns full metadata.

podcast_by_itunes_id

Look up a podcast by its Apple Podcasts (iTunes) ID.

podcast_by_guid

Look up a podcast by its podcast:guid tag value.

trending_podcasts

Get currently trending podcasts, with optional language and category filters.

episodes_by_feed_id

Get episodes for a specific podcast by feed ID.

episode_by_id

Look up a single episode by its Podcast Index episode ID.

episodes_live

Get episodes that are currently live (actively streaming).

recent_episodes

Get the most recently published episodes across the entire index.

recent_feeds

Get the most recently updated podcast feeds across the index.

recent_new_feeds

Get podcast feeds newly added to the index.

value_by_feed_id

Get value4value (lightning payment) info for a podcast by feed ID.

value_by_feed_url

Get value4value (lightning payment) info for a podcast by feed URL.

categories_list

Get the full list of Podcast Index categories and their IDs.

stats_current

Get current aggregate statistics for the Podcast Index.

Typed errors

API failures are mapped to a typed error hierarchy (PodcastIndexError base, with AuthenticationError, RateLimitError, ValidationError, NotFoundError, and ServerError subclasses keyed off HTTP status) in src/errors.ts. Every tool call still returns the same isError: true response shape on failure — the typed hierarchy just makes the message specific to what went wrong (bad credentials vs. rate limiting vs. a malformed request, etc.) instead of a single generic "API error" string.

Example Prompts

Once configured, you can ask Claude things like:

  • "Search Podcast Index for all episodes featuring Satya Nadella as a guest"

  • "What are the trending technology podcasts right now?"

  • "Look up the feed health for https://feeds.transistor.fm/chain-of-thought and list the last 5 episodes"

Development

Build the project:

npm run build

Watch for changes during development:

npm run watch

Adding a new tool

  1. Add the API method to src/api-client.ts

  2. Add type guard and argument types to src/types.ts

  3. Add the tool definition and handler to src/tool-handlers.ts

  4. Rebuild with npm run build

Contributing

Issues and pull requests are welcome. If there is a Podcast Index endpoint you want exposed as a tool, open an issue describing the use case, or follow the steps above and open a PR. Bug reports should include the tool name and the arguments you passed.

Acknowledgments

This server exists because of the free, open Podcast Index API and its documentation — all tools here are thin wrappers over that API.

The expanded endpoint coverage and typed-error design in this release were inspired by Craig Lawton's podcastindex-mcp-server, an earlier MCP server for the same API. No code from that project was used here; this server's implementation, tool schemas, and error-handling code were written independently against the official API docs.


Disclaimer

This is an independent personal project, not affiliated with, sponsored by, or endorsed by any company. All views expressed are my own.

License

MIT

Available Tools

18 tools
categories_listA
Read-only

Get the full list of Podcast Index categories and their IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, covering safety. The description adds 'full list' implying completeness. With annotations handling the behavioral profile, this is adequate but not expanded.

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?

Single sentence, no wasted words, front-loads the action and object. Excellent conciseness.

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 parameterless, read-only list tool with no output schema, the description is fully adequate. It explains what the tool returns and its scope.

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% (no parameters), so the description doesn't need parameter details. Baseline for zero parameters is 4; the description adds no redundancy.

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 the verb 'Get' and the specific resource 'full list of Podcast Index categories and their IDs', which is distinct from sibling tools that focus on episodes, podcasts, or searches.

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 tool's simple purpose makes usage clear: use it to retrieve all categories and IDs. No alternatives exist among siblings, so no exclusion guidance is needed, though explicit 'when to use' is absent.

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

episode_by_idA
Read-only

Look up a single episode by its Podcast Index episode ID. Returns full episode metadata including enclosure URL, duration, and transcript links where available.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPodcast Index episode ID
fulltextNoReturn full text descriptions (default false)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true; description adds return details (enclosure URL, duration, transcript links) beyond 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, front-loaded with purpose; every sentence adds value, no wasted words.

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?

No output schema, but description specifies return content (metadata, enclosure, duration, transcript). Adequate for a simple lookup tool with 2 params.

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 coverage is 100%; description does not add meaning beyond schema for parameters (id and fulltext). Baseline 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?

Description clearly states 'Look up a single episode by its Podcast Index episode ID' – specific verb+resource. Distinguishes from siblings like episodes_by_feed_id and search_by_term.

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?

Implies usage when you have an episode ID; no explicit when-not-to-use or alternative guidance, but context is clear.

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

episodes_by_feed_idA
Read-only

Get episodes for a specific podcast by its Podcast Index feed ID. Use podcast_by_feed_url first to get the feed ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPodcast Index feed ID
maxNoMaximum episodes to return (default 10)
sinceNoOnly return episodes published since this Unix timestamp
fulltextNoReturn full text descriptions (default false)

TDQS

A3.6/5.0
Behavior3/5

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

The description labels the tool as read-only (consistent with the readOnlyHint annotation) and does not contradict any annotations. However, it adds no additional behavioral context beyond 'get episodes', such as pagination, error handling, or rate limits. With annotations present, the bar is lower, and a neutral score is appropriate.

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 that efficiently convey the core purpose and a key prerequisite. There is no extraneous content, and critical 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?

Given the tool's simplicity (no output schema, straightforward parameters) and the presence of annotations, the description is nearly complete. It covers the main function and a prerequisite. However, it lacks details on default pagination (max default 10) or how to interpret the response, but this is minor for a fetch 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 already provides thorough descriptions for all four parameters (100% coverage). The description does not add new semantic information about the parameters beyond what the schema provides, though it reinforces that 'id' is the feed ID. Baseline 3 is warranted.

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 it gets episodes for a specific podcast by feed ID. The verb is specific and the resource is discrete. However, it does not explicitly differentiate from sibling tools like recent_episodes or search_by_term, which could also return episodes but with different selection criteria.

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 provides a prerequisite: use podcast_by_feed_url first to get the feed ID. This is helpful guidance. However, it does not mention when to use alternatives, such as recent_episodes for broader queries, or when not to use this tool (e.g., if no feed ID is known).

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

episodes_liveA
Read-only

Get episodes that are currently live (actively streaming right now) across the Podcast Index. Useful for finding live shows in progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMaximum results to return (default 10)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds that it gets episodes 'currently live' and 'across the Podcast Index', providing more context on the scope of the data. However, it does not disclose potential rate limits, response format, or any other behavioral traits beyond what annotations already cover.

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 long, front-loaded with the key purpose, and every sentence provides value. No unnecessary words.

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

Completeness3/5

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

The tool has no output schema, so the description should ideally explain what fields the response contains. It only states that it returns 'episodes that are currently live' without any structural detail. For a simple list tool, this might be acceptable, but it leaves agents guessing about the response format. Additionally, it does not mention any pagination or limitations beyond the 'max' parameter.

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% because the only parameter 'max' has a description in the schema. The tool description does not add any additional meaning beyond the schema. With high coverage, baseline score is 3, and description does not elevate it.

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 it retrieves episodes that are currently live across the Podcast Index. It uses a specific verb ('Get'), specifies the resource ('episodes'), and adds a distinguishing qualifier ('currently live'). This helps differentiate from siblings like 'recent_episodes' which return recent episodes regardless of live 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 includes a usage hint ('Useful for finding live shows in progress'), which implies when to use the tool. However, it does not explicitly state when not to use it or mention alternatives. Still, the context is clear enough for an agent to decide.

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

podcast_by_feed_idA
Read-only

Look up a podcast by its Podcast Index feed ID. Returns full metadata including categories, language, and feed health.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPodcast Index feed ID

TDQS

A4.3/5.0
Behavior4/5

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

While annotations already indicate readOnlyHint, the description adds value by specifying the returned metadata (categories, language, feed health), providing behavioral insight beyond the annotation.

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 a single sentence of 18 words, directly conveying the tool's action and return value with no extraneous 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 simple lookup tool with one parameter and no output schema, the description adequately explains the purpose and return value. No additional context is needed.

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 coverage is 100% with the parameter description clarifying 'Podcast Index feed ID'. The description adds no additional parameter semantics beyond what the schema provides, so 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 the action 'look up a podcast' by a specific identifier (feed ID) and lists what is returned. It distinguishes from siblings like 'podcast_by_feed_url' which uses a different lookup method.

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 implies that this tool should be used when the user has a Podcast Index feed ID. It provides clear context but does not explicitly exclude alternatives or state 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.

podcast_by_feed_urlA
Read-only

Look up a podcast by its RSS feed URL. Returns feed ID, iTunes ID, categories, last update time, and feed health. Useful for checking if your podcast is properly indexed.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRSS feed URL

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses the return fields, which adds context beyond the readOnlyHint annotation. It confirms a read-only operation without contradictions, but does not elaborate on potential errors, rate limits, or authentication requirements.

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: the first efficiently states purpose and what is returned, the second gives a practical use case. No redundant information; 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 simple lookup tool with one parameter and no output schema, the description is mostly complete. It specifies the return fields and a use case. Minor gaps: no mention of error handling (e.g., invalid URL) or performance considerations, but these are not critical for this straightforward 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 sole parameter 'url' is described as 'RSS feed URL' in both the schema and description, achieving 100% coverage. The description adds no additional meaning beyond the schema, such as format expectations or constraints, so it meets the baseline with no extra value.

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 the tool's function: 'Look up a podcast by its RSS feed URL.' It also lists the specific return fields (feed ID, iTunes ID, categories, last update time, feed health) and distinguishes from siblings like podcast_by_feed_id by focusing on URL 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 provides a clear use case: 'Useful for checking if your podcast is properly indexed.' However, it does not explicitly compare to siblings like search_by_term or episodes_by_feed_id, nor does it state when not to use it, leaving some room for ambiguity.

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

podcast_by_guidA
Read-only

Look up a podcast by its podcast:guid tag value — the globally unique identifier defined in the Podcast Namespace spec. Use this when you have the GUID rather than a feed URL or ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidYesThe podcast:guid value from the feed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, indicating read-only behavior. The description does not add additional behavioral context beyond 'look up', which is consistent with the annotation. No contradictions, but no extra behavioral traits are disclosed.

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, front-loading the main purpose and then providing usage guidance. Every word is necessary and there is no redundancy.

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 lookup tool with one parameter and no output schema, the description is mostly complete. It explains what the tool does, when to use it, and the parameter meaning. It does not describe the return value, but that is acceptable given the simplicity and context from siblings.

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 provides 100% coverage with a description for the guid parameter. The description adds semantic meaning by explaining that the GUID is 'the globally unique identifier defined in the Podcast Namespace spec', which goes beyond the schema's terse description.

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 the tool looks up a podcast by its GUID, a specific identifier. It distinguishes from siblings by specifying that it uses the GUID rather than feed URL or ID, which is explicit and differentiates it from similar 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?

The description explicitly states when to use this tool: when you have the GUID rather than a feed URL or ID. This provides clear guidance on when to choose this tool over alternatives like podcast_by_feed_url or podcast_by_feed_id.

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

podcast_by_itunes_idA
Read-only

Look up a podcast by its Apple Podcasts (iTunes) ID. Returns full Podcast Index feed metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApple Podcasts (iTunes) feed ID

TDQS

A3.8/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=true, and the description adds that it returns 'full Podcast Index feed metadata', but no further behavioral details are provided.

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 concise sentences with no wasted words, front-loaded with the key action.

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 lookup tool with good schema coverage, the description adequately covers the purpose and result, though no output schema exists.

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 coverage is 100% and the description repeats the parameter's purpose without adding new semantics, meeting the baseline expectation.

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 the tool looks up a podcast by its Apple Podcasts (iTunes) ID and returns full metadata, distinguishing it from siblings like podcast_by_feed_id.

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?

No explicit when-to-use or alternatives are given, but the name and description imply use when an iTunes ID is available.

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

recent_episodesA
Read-only

Get the most recent episodes across the entire Podcast Index. Useful for seeing what is being published right now in the ecosystem.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMaximum results (default 10)
beforeNoOnly return episodes before this episode ID
fulltextNoReturn full text descriptions (default false)
excludeStringNoExclude episodes containing this string in title

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description is consistent. It adds context about the global scope but does not elaborate on data freshness, pagination limits, or other behaviors. For a read-only tool, the described behavior is adequate but not richly detailed.

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 long, with the first sentence immediately stating the core purpose and the second sentence adding value. No unnecessary words or redundancy.

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

Completeness3/5

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

Given the 4 parameters and no output schema, the description does not hint at the response format or data structure. While the parameters are well-documented in the schema, the lack of return value description limits completeness for a tool with no 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?

The input schema covers all 4 parameters with descriptions, so the baseline is 3. The description does not add any additional semantic meaning 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?

The description clearly states the verb 'Get' and the resource 'most recent episodes across the entire Podcast Index'. It differentiates from sibling tools like 'episodes_by_feed_id' by emphasizing the global scope, and adds a concrete use case ('seeing what is being published right now').

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 implies usage for obtaining the latest episodes across the index and includes a practical use case. However, it does not explicitly mention when not to use it or compare it to alternatives like 'trending_podcasts' or 'search_by_term', so some guidance is missing.

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

recent_feedsA
Read-only

Get the most recently updated podcast feeds across the entire Podcast Index, with optional language and category filters. Useful for spotting fresh activity in the ecosystem.

ParametersJSON Schema
NameRequiredDescriptionDefault
catNoOnly include feeds with these categories (comma-separated names or IDs)
maxNoMaximum results to return (default 40)
langNoLanguage code filter (e.g. "en")
sinceNoOnly return feeds updated since this Unix timestamp
notcatNoExclude feeds with these categories (comma-separated names or IDs)

TDQS

A4/5.0
Behavior3/5

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

Annotations already include 'readOnlyHint: true', so the description does not need to restate safety. It adds that the tool returns feeds with update time and filters, but does not detail ordering or pagination behavior. This is adequate given 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?

Two sentences with no wasted words. The key action ('get most recently updated feeds') is front-loaded. Every sentence adds 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?

The tool is simple with no required parameters and 100% schema coverage. The description is sufficient for a basic read operation. Minor omission: does not mention that 'recently updated' is based on the feed's last update timestamp, but this is implied by 'most recently updated'.

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 schema has 100% coverage with descriptions for all 5 parameters. The description mentions 'optional language and category filters' but adds no additional 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.

Purpose5/5

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

The description clearly states the tool retrieves 'the most recently updated podcast feeds across the entire Podcast Index' with optional filters. This distinguishes it from siblings like 'recent_new_feeds' (new feeds vs updated) and 'recent_episodes' (episodes vs 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 notes it is 'useful for spotting fresh activity', giving context for when to use it. However, it lacks explicit guidance on when not to use or alternatives (e.g., 'search_by_term' for targeted queries).

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

recent_new_feedsA
Read-only

Get podcast feeds newly added to the Podcast Index, in the order they were added. Useful for discovering brand-new shows before they show up in other searches.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMaximum results to return (default 40)
descNoReturn feeds in descending order (default false, only applies with feedid)
sinceNoOnly return feeds added since this Unix timestamp
feedidNoPodcast Index feed ID to start from. Takes precedence over since — if both are set, since is ignored.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true. The description adds that feeds are returned in order added and for new shows, but doesn't cover other behaviors like rate limits or authentication.

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, front-loaded with the main purpose, and contains no unnecessary words.

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

Completeness3/5

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

The description lacks details about pagination, parameter interplay (e.g., feedid for offset), and return format. With no output schema, more context would be beneficial.

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 coverage is 100%, so the schema already describes all parameters. The description adds no additional parameter information, so 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 it retrieves newly added podcast feeds in order of addition, distinguishing it from siblings like 'recent_feeds' by emphasizing 'newly added' and 'brand-new shows'.

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 a use case ('discovering brand-new shows') but does not explicitly state when not to use or compare to alternatives like search_by_term or recent_feeds.

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

search_by_personA
Read-only

Search for podcast episodes where a specific person appeared as host or guest. Returns episodes across all indexed podcasts — useful for tracking appearances beyond your own show.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesPerson name to search for (e.g. "Conor Bronsdon")
maxNoMaximum results to return (default 10)
fulltextNoReturn full text descriptions (default false)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true. Description adds behavioral context that results span 'all indexed podcasts', which is not in annotations. 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.

Conciseness5/5

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

Two sentences, no redundancy, front-loaded with action and resource. Every sentence adds 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?

No output schema, but description clarifies returns are episodes. With good schema coverage and clear purpose, description completes the picture for a search 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?

Schema has 100% description coverage, so baseline 3. Description does not add parameter-level details beyond schema; the mention of 'Returns episodes across all indexed podcasts' is about output, not parameters.

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 uses specific verb 'search' and resource 'podcast episodes' with clear scope ('specific person appeared as host or guest'). Distinguishes from sibling search_by_term by focusing on person names.

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?

Explicitly states usefulness for tracking appearances beyond own show, implying context. No direct comparison to siblings or exclusion cases, but context from sibling names provides differentiation.

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

search_by_termA
Read-only

Full-text search across all podcasts in the index. Search by topic, show name, or keyword to find relevant podcasts.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch term
maxNoMaximum results to return (default 10)
cleanNoExclude explicit content (default false)
fulltextNoReturn full text descriptions (default false)

TDQS

A3.9/5.0
Behavior3/5

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

The description mentions 'full-text search across all podcasts' as a behavioral trait. Annotations already declare readOnlyHint=true, so the description adds modest context about the scope but does not elaborate on rate limits, pagination, or how results are ordered. 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.

Conciseness5/5

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

The description is extremely concise with two short sentences, front-loading the core action ('Full-text search across all podcasts'). There is no waste or redundancy.

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

Completeness3/5

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

Given the tool has 4 parameters and no output schema, the description provides basic context but omits details about return format, error handling, or search result behavior. For a simple search tool, this is adequate but not complete.

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?

With 100% schema coverage, the description adds marginal value by clarifying that the 'q' parameter supports topics, show names, and keywords. Other parameters (max, clean, fulltext) are already well-described in the schema, so the description does not significantly enhance understanding 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 clearly states it performs full-text search across all podcasts in the index, using specific verbs and resource scope. It distinguishes from siblings like episodes_by_feed_id or search_by_person by emphasizing the global nature of the 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 indicates searching by topic, show name, or keyword, which implies typical use cases. However, it does not explicitly state when not to use this tool (e.g., for person-specific searches, use search_by_person) or list alternatives, leaving room for ambiguity.

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

search_by_titleA
Read-only

Search for podcasts by title. Narrower than search_by_term, which also matches descriptions and other feed metadata — use this when you already know (or are guessing at) the show name.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesPodcast title to search for (e.g. "Chain of Thought")
maxNoMaximum results to return (default 10)
cleanNoExclude explicit content (default false)
fulltextNoReturn full text descriptions (default false)

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and description adds that it is narrower than search_by_term but does not disclose additional behavioral traits 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?

Two sentences, no redundancy, purpose is front-loaded, every sentence adds value.

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 search tool with full schema descriptions, annotations, and no output schema, the description provides sufficient context including sibling differentiation.

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 has 100% coverage with descriptions for all parameters; description adds no extra semantic meaning beyond schema definitions, baseline score 3.

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 clearly states it searches for podcasts by title, and explicitly distinguishes from search_by_term which also matches descriptions and metadata.

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 states when to use this tool: when you know or are guessing the show name, contrasting with search_by_term for broader searches.

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

stats_currentA
Read-only

Get current aggregate statistics for the entire Podcast Index (total feeds, episodes, and related counts).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the description adds minimal behavioral context beyond stating the statistics are 'current' and for the entire index. It does not contradict annotations and is adequate but not rich.

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 a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's purpose and scope.

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?

Given the tool has no parameters, no output schema, and a simple read-only operation, the description provides sufficient context by detailing the types of statistics returned (total feeds, episodes, related counts). It is complete for this straightforward tool.

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 no parameters and the schema coverage is 100%. With zero parameters, the description need not explain any, and it correctly provides a high-level overview of the output, earning a baseline score of 4.

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 the tool retrieves current aggregate statistics for the entire Podcast Index, explicitly listing examples like total feeds, episodes, and related counts. This verb+resource combination is specific and distinguishes it from sibling tools that focus on individual items.

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 implies when to use this tool (for overall statistics) but does not explicitly exclude alternatives or provide when-not-to-use guidance. Given the sibling tools are all for specific entities, the usage context is clear without needing further exclusions.

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

value_by_feed_idA
Read-only

Get the value4value (lightning payment / streaming sats) information for a podcast by its Podcast Index feed ID, if the feed publishes a podcast:value block.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPodcast Index feed ID

TDQS

A4.2/5.0
Behavior4/5

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

Description discloses that tool returns info only if the value block exists, adding context beyond the readOnlyHint annotation. Does not contradict 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?

Single sentence with no wasted words, front-loading the core action and result condition.

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 tool with one parameter and no output schema, the description sufficiently explains the output concept (value4value, lightning payment, streaming sats) and the condition. Adequate for agent 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 coverage is 100% and the description restates the parameter's meaning without adding new details. Baseline score 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?

Description clearly states the tool retrieves value4value information for a podcast using a feed ID, with specific resource ('Podcast Index feed ID') and condition ('if the feed publishes a podcast:value block'). Distinguishes from sibling 'value_by_feed_url' by specifying the input type.

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?

Description implies when to use via the condition 'if the feed publishes a podcast:value block'. Does not explicitly state when not to use or compare with sibling 'value_by_feed_url', but the context is clear.

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

value_by_feed_urlA
Read-only

Get the value4value (lightning payment / streaming sats) information for a podcast by its RSS feed URL, if the feed publishes a podcast:value block.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRSS feed URL

TDQS

A4/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, so no destructive behavior. The description adds the conditional return (requires podcast:value block), which is valuable context. No other behaviors disclosed, but annotations cover safety.

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?

Single sentence with no redundancy. Front-loaded with 'Get the value4value...' immediately conveys the action and resource.

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 tool with no output schema, the description is fairly complete: explains what is retrieved and the condition. Lacks output structure details but acceptable given simplicity.

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 already describes 'url' as 'RSS feed URL' (100% coverage). The description adds that it's a podcast RSS feed and the purpose, providing marginal extra meaning.

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 the tool retrieves value4value info by RSS feed URL for podcasts with a podcast:value block. It distinguishes from sibling 'value_by_feed_id' by specifying the input type.

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 implies usage when an RSS feed URL is available and the feed may have a podcast:value block. It does not explicitly exclude alternatives but context with sibling tools clarifies when to use this vs. value_by_feed_id.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv0.3.0
    • Addedepisode_by_id
    • Addedepisodes_live
    • Addedpodcast_by_guid
    • Addedpodcast_by_itunes_id
    • Addedrecent_feeds
    • Addedrecent_new_feeds
    • Addedsearch_by_title
    • Addedstats_current
    • Addedvalue_by_feed_id
    • Addedvalue_by_feed_url
  2. 8 tool updatesv0.2.0
    • First observedcategories_list
    • First observedepisodes_by_feed_id
    • First observedpodcast_by_feed_id
    • First observedpodcast_by_feed_url
    • First observedrecent_episodes
    • First observedsearch_by_person
    • First observedsearch_by_term
    • First observedtrending_podcasts

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a distinct purpose: lookup by different identifiers (feed ID, URL, GUID, iTunes ID), search modes, category listing, live episodes, recent feeds/episodes, stats, trending, and value-for-value. No two tools overlap in function.

Naming Consistency4/5

Most names follow a predictable pattern (e.g., 'action_by_key' or 'resource_description'), though there is minor mixing: 'categories_list' vs 'search_by_term', 'recent_episodes' vs 'episodes_live'. Still, the pattern is clear and readable.

Tool Count5/5

18 tools cover the major aspects of a podcast index API (lookup, search, categories, live, trending, stats, value) without being overwhelming. Each tool serves a specific query need.

Completeness4/5

The set covers essential read operations with multiple lookup channels and discovery features. Minor gaps like missing episode retrieval by podcast iTunes ID could be worked around, and there's no write operations (expected for an index).

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

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/conorbronsdon/podcastindex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server