Skip to main content
Glama

Search Episodes by Topic

search_episodes_by_topic
Read-onlyIdempotent

Semantic topic search across the podcast catalog. Unlike search_episodes (which does lexical/keyword matching), this tool understands meaning: a query for 'AI safety' will match episodes about 'AI alignment', 'AGI risk', or 'frontier model evaluation' even if they don't contain the exact phrase. Returns ranked episodes with the matched topic phrases so you can explain why each result is relevant before fetching the transcript. Best for conceptual or thematic queries — use search_episodes instead when the user is looking for a specific person, product, or verbatim phrase.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of episodes to return. Must be between 1 and 50.
topicYesSemantic topic to find episodes about. Free-form phrasing welcome — the server embeds this string and finds episodes whose extracted topic phrases are closest in meaning. Good examples: 'AI safety', 'EU AI Act regulation', 'GPU supply constraints', 'Theo Epstein on roster construction'. Distinct from `search_episodes`, which performs lexical keyword matching.
cursorNoZero-based episode offset for pagination. Use the `next_cursor` returned by a prior search/listing call to fetch the next page of results.
show_guidNoOptional canonical show GUID (as returned by `search_episodes` or `get_latest_episodes` in the `show_guid` field) to restrict topic search to a single podcast. Leave empty to search across all shows.
published_afterNoInclusive lower publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime.
published_beforeNoInclusive upper publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYesNumber of episodes returned on this page.
queryYesThe topic query that was embedded and searched.
episodesYesEpisodes ranked by best topic-phrase similarity to the query.
next_cursorNoCursor to pass to the next search call to retrieve the next page of results, or null if there are no more pages.
total_countYesNumber of matching episodes, counted over the nearest-match candidate window rather than the whole catalog. When `total_count_is_approximate` is true, treat this as a lower bound — broad queries may have more matches than reported.
total_count_is_approximateNoTrue when the candidate window was exhausted, so `total_count` undercounts the true number of matches. When false, `total_count` is exact. Refine the query for tighter results if this is true and you need a complete set.

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, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds meaningful behavioral context: semantic embedding behavior, ranked results, and returning matched topic phrases to explain relevance. This goes beyond 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?

Four tightly written sentences, each serving a distinct purpose: definition, contrast/example, return behavior, and usage guidance. No filler or repetition. The example with 'AI safety' effectively illustrates the semantic capability in one compact sentence.

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 an output schema present, the description need not detail return fields; it already states results are ranked and include matched topic phrases. It covers the key usage context (semantic vs lexical, conceptual queries, and the alternative tool) and is sufficient for an agent to select and call the tool correctly given six parameters and a rich 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 input schema already documents each parameter thoroughly. The description reinforces the semantic nature of the `topic` parameter and the distinction from `search_episodes`, but it does not add new meaning beyond what the schema already 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 opens with a specific verb+resource ('Semantic topic search across the podcast catalog') and immediately distinguishes itself from the sibling `search_episodes` by contrasting semantic vs lexical matching. This makes the tool's unique purpose unmistakable.

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 ('Best for conceptual or thematic queries') and when not to ('use `search_episodes` instead when the user is looking for a specific person, product, or verbatim phrase'), directly naming the alternative. This is exactly what an agent needs to choose correctly.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool serves a distinct purpose: two different search methods (keyword vs. semantic), one for listing episodes, one for transcripts, and one for feedback. No ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, making them predictable and easy to understand.

Tool Count4/5

5 tools is on the lower end but appropriate for focused podcast episode retrieval and searching. Each tool has a clear role.

Completeness3/5

Covers core operations: listing, searching (two types), and transcript retrieval. Missing episode metadata details (title, date, description) which agents might need for user-facing tasks.

Resources