Skip to main content
Glama

Download podcast audio

download_podcast_episode
Idempotent

Downloads a tracked podcast episode's audio to a local MP3 using its episode ID, enabling later transcription and reusing an existing file when present.

Instructions

Download a tracked podcast episode's audio to its canonical local MP3. Use after list_podcast_episodes, before transcribe_podcast_episode; use episode_to_corpus only after a transcript exists. Requires yt-dlp and ffmpeg, and blocks until download finishes or fails. Reuses an existing nonempty canonical file and records its path on the episode.

Input Schema

NameRequiredDescriptionDefault
episode_idYesInteger episode ID from list_podcast_episodes, not the feed ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.12.1

TDQS

A4.5/5.0
Behavior4/5

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

Adds substantial context beyond annotations: external binary prerequisites (yt-dlp, ffmpeg), synchronous blocking behavior, idempotent file reuse, and the side effect of recording a path on the episode — which corroborates openWorldHint and readOnlyHint=false. It stops short of describing failure modes or what a failed download leaves behind, so not a 5.

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, zero filler: purpose first, then pipeline routing, then operational constraints. Every clause carries information an agent would otherwise have to guess.

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?

Covers what a caller needs for a one-parameter, long-running, network-dependent tool: prerequisites, blocking semantics, idempotent reuse, and the side effect on episode state. With no output schema, the description still tells the agent where the result lands (the canonical local MP3).

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?

One parameter at 100% schema description coverage, and the schema already says to use the integer episode ID from list_podcast_episodes rather than the feed ID. The description adds nothing further about the parameter, so the 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?

States a specific verb+resource ("Download a tracked podcast episode's audio to its canonical local MP3") with the output artifact named, and distinguishes itself from transcribe_podcast_episode and episode_to_corpus in the same breath. An agent can place it in the pipeline without opening a schema.

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?

Gives explicit ordering ("Use after list_podcast_episodes, before transcribe_podcast_episode") and an exclusion with its condition ("use episode_to_corpus only after a transcript exists"). Both the when and the when-not are stated.

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

Deploy Server

Other Tools