Skip to main content
Glama

Episode curve

op3_episode_curve
Read-onlyIdempotent

Compare a podcast episode's downloads to the show's median at the same age to fairly assess recent performance. Returns daily cumulative totals and a verdict.

Instructions

How one episode is tracking against the show's own median at the same age. Returns cumulative downloads by day after publication alongside the median across comparable episodes, plus a verdict. This is the only fair way to judge a recent episode: total downloads always favour older episodes because they have had longer to accumulate. Only episodes at least as old as the horizon go into the median, so a three-day-old episode does not drag a thirty-day comparison toward zero.

Input Schema

NameRequiredDescriptionDefault
botsNoInclude known bots. Off by default.
episode_idYesThe OP3 episode id, a 64-character hash from op3_list_episodes or op3_get_show with include_episodes.
identifierYesAn OP3 show uuid, a podcast:guid, or the show's RSS feed URL.
horizon_daysNoHow many days after publication to chart. 30 is the industry convention.
compare_episodesNoHow many other episodes form the median. More is steadier and slower.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.0.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv1.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so safety is covered. The description adds real behavioral value beyond that: it discloses the return shape (cumulative downloads by day, median, verdict) and the median's inclusion rule (only episodes at least as old as the horizon qualify), which is non-obvious logic an agent could not infer.

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 core purpose is front-loaded in the first sentence, followed by return contents and rationale. It runs a bit long with three sentences and the final clause is dense, but each sentence carries distinct information, so nothing is pure padding.

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?

With no output schema, the description must carry the return-value burden, and it does describe the key outputs (cumulative curve, median, verdict) and the median's construction rule. It omits some details like the verdict's possible values or output format, but it is sufficient for an agent to call the tool 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 coverage is 100%, so the baseline is 3, but the description earns above baseline by explaining how horizon_days and compare_episodes behave conceptually — the horizon gate on median membership and the trade-off between steadier and slower comparisons. It adds interpretive meaning rather than merely restating 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 verb and resource — tracking one episode's cumulative downloads against the show's own median at the same age — and frames it as a comparison tool, which cleanly separates it from siblings like op3_episode_downloads or op3_show_downloads that report raw totals. An agent can identify the tool's distinct job without opening the schema.

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 clear guidance on when to reach for this tool — judging a recent episode fairly — and explains why raw total downloads are the wrong lens. However, it never names the alternative tools (e.g. op3_episode_downloads) an agent should avoid, so routing is inferred rather than explicit.

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