Skip to main content
Glama

Energy Podcast Digest

Read one episode

get_episode
Read-onlyIdempotent

One episode's title, show, summary, and full transcript. Scoped to episodes referenced by a published digest. Pass digest when an episode spans more than one week. Pass lang (a supported language code) for the episode's translated title, summary, and transcript when the translations exist — lang in the payload echoes what was actually served ('' = English original).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "eid": "<eid>"
    },
    "name": "get_episode"
  }
}

Input Schema

NameRequiredDescriptionDefault
eidYesEpisode id (from list_digest_episodes)
langNoLocalized title + summary + transcript in any supported language; omit for English
digestNoOptional YYYY-MM-DD edition date to disambiguate an episode that spans weeks

Output Schema

NameRequiredDescriptionDefault
eidYes
urlYes
langNoThe language actually served ('' = English original)
showYes
titleYes
summaryYes
chaptersNoChapter list (often empty): [{"start": seconds, "title": str}]
speakersYes
publishedYes
transcriptYes
descriptionYesRSS episode description
digest_slugYes
duration_secYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Localized title + summary + transcript (es / zh); omit for English"New value: +"Localized title + summary + transcript in any supported language; omit for English"
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "es",
      -  "zh",
      -  "hi",
      -  "fr",
      -  "ar"
      -]New value: +[
      +  "es",
      +  "zh",
      +  "hi",
      +  "fr",
      +  "ar",
      +  "pt",
      +  "ja"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Localized title + summary + transcript in any supported language; omit for English"New value: +"Localized title + summary + transcript (es / zh); omit for English"
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "es",
      -  "zh",
      -  "hi",
      -  "fr",
      -  "ar",
      -  "pt"
      -]New value: +[
      +  "es",
      +  "zh",
      +  "hi",
      +  "fr",
      +  "ar"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Localized title + summary + transcript (es / zh); omit for English"New value: +"Localized title + summary + transcript in any supported language; omit for English"
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "es",
      -  "zh",
      -  "hi",
      -  "fr",
      -  "ar"
      -]New value: +[
      +  "es",
      +  "zh",
      +  "hi",
      +  "fr",
      +  "ar",
      +  "pt"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "es",
      -  "zh",
      -  "hi",
      -  "fr"
      -]New value: +[
      +  "es",
      +  "zh",
      +  "hi",
      +  "fr",
      +  "ar"
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / lang / enum
      Previous value: -[
      -  "es",
      -  "zh"
      -]New value: +[
      +  "es",
      +  "zh",
      +  "hi",
      +  "fr"
      +]
  6. Changed2 schema fields changed
    • addedInput schema / properties / lang
      Added value: +{
      +  "description": "Localized title + summary + transcript (es / zh); omit for English",
      +  "enum": [
      +    "es",
      +    "zh"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / lang
      Added value: +{
      +  "description": "The language actually served ('' = English original)",
      +  "type": "string"
      +}
  7. Changed2 schema fields changed
    • removedOutput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / chapters
      Added value: +{
      +  "description": "Chapter list (often empty): [{\"start\": seconds, \"title\": str}]",
      +  "items": {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  8. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "description": {
      +      "description": "RSS episode description",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "digest_slug": {
      +      "type": "string"
      +    },
      +    "duration_sec": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "eid": {
      +      "type": "string"
      +    },
      +    "published": {
      +      "type": "string"
      +    },
      +    "show": {
      +      "type": "string"
      +    },
      +    "speakers": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "transcript": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "eid",
      +    "title",
      +    "show",
      +    "published",
      +    "duration_sec",
      +    "description",
      +    "summary",
      +    "transcript",
      +    "speakers",
      +    "digest_slug",
      +    "url"
      +  ],
      +  "type": "object"
      +}
  9. Changed1 schema field changed
    • changedInput schema / properties / eid / description
      Previous value: -"Episode id"New value: +"Episode id (from list_digest_episodes)"
  10. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds real behavioral context beyond them: results are limited to episodes referenced by a published digest, and the echoed ``lang`` field reveals what was actually served ('' = English original), which prevents an agent from misreading a fallback response.

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 tight sentences, with the payload description and the digest scoping front-loaded before the optional parameters. Slightly dense due to the parenthetical translation clause, but 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?

An output schema exists, so return values need no prose explanation, and the description covers scope and translation fallback well. The remaining gap is failure behavior — what happens when ``eid`` is not in a published digest or ``lang`` has no translation — which is not stated, though the echo note mitigates the latter.

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. The description earns above baseline by explaining the echo semantics of ``lang`` (the payload reports what was served, with '' meaning the English original) and the disambiguation role of ``digest`` for multi-week episodes — semantics the schema text does not carry.

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 opening sentence enumerates exactly what is returned (title, show, summary, full transcript) for a single episode, and the second sentence states the scoping constraint to published digests. It is distinguishable from get_digest and list_digest_episodes, though it does so by describing payload and scope rather than by naming the siblings explicitly.

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?

It gives conditional guidance for two of the three parameters ('Pass digest when an episode spans more than one week', 'Pass lang ... when the translations exist'), which is genuinely useful. However, it never says when to choose this over list_digest_episodes or get_digest, so an agent must infer the selection rule; usage 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources