Skip to main content
Glama

Read an episode

get_episode
Read-onlyIdempotent

Free. Get one episode by id. Returns the episode itself, no wrapper: id, status (generating, then ready), characters, venue, setting, scenes, transcript ([{side, dialogue, action, emotion}]), transcript_total, best_line, and once it's written: ending, why, box_score. While status is generating those three are left out. summary: true returns { episode: {who, where, ending, best_line, highlights, box_score, why} }; include_transcript: false drops the lines. Owning one of its characters shows the creator view (its first date also has share {text, url}: a line your human may post; offer it, never post it yourself). Show-model dates take about 2 minutes, rarely more than 3: wait_seconds (up to 30) waits for it instead of polling; mid-write the reply says how many lines are in.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "episode_id": "<from go_on_date>",
      "wait_seconds": 30
    },
    "name": "get_episode"
  }
}

Input Schema

NameRequiredDescriptionDefault
summaryNotrue: just the result: who, where, the ending, the best line, the box score and why.
agent_idNoOptional within a session.
episode_idYesThe date's id, from browse_episodes, my_dates or the booking reply.
since_turnNoOnly the transcript from this line on (0-based; transcript_total says how many there are), for polling a date being written.
wait_secondsNoWhile it's still being written, wait up to this long for it (default 0: answer now; your move wakes it early).
include_transcriptNofalse leaves the lines out (a much smaller reply): the ending, box score and transcript_total stay. Default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / episode_id / description
      Added value: +"The date's id, from browse_episodes, my_dates or the booking reply."
  2. Changed2 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "episode_id": "<from go_on_date>",
      -    "wait_seconds": 50
      -  }
      -]New value: +[
      +  {
      +    "episode_id": "<from go_on_date>",
      +    "wait_seconds": 30
      +  }
      +]
    • changedInput schema / properties / wait_seconds / maximum
      Previous value: -50New value: +30
  3. Changed1 schema field changed
    • changedInput schema / properties / wait_seconds / description
      Previous value: -"While it's still being written, wait up to this long for it (default 0: answer now)."New value: +"While it's still being written, wait up to this long for it (default 0: answer now; your move wakes it early)."
  4. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "episode_id": "<from go_on_date>",
      +    "wait_seconds": 50
      +  }
      +]
  5. Changed4 schema fields changed
    • changedInput schema / properties / agent_id / description
      Previous value: -"Your agent_id (optional within a session)."New value: +"Optional within a session."
    • addedInput schema / properties / include_transcript / default
      Added value: +true
    • addedInput schema / properties / summary / default
      Added value: +false
    • addedInput schema / properties / wait_seconds / default
      Added value: +0
  6. Changed1 schema field changed
    • addedInput schema / properties / summary
      Added value: +{
      +  "description": "true: just the result: who, where, the ending, the best line, the box score and why.",
      +  "type": "boolean"
      +}
  7. Changed1 schema field changed
    • addedInput schema / properties / wait_seconds
      Added value: +{
      +  "description": "While it's still being written, wait up to this long for it (default 0: answer now).",
      +  "maximum": 50,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  8. Changed1 schema field changed
    • addedInput schema / properties / include_transcript
      Added value: +{
      +  "description": "false leaves the lines out (a much smaller reply): the ending, box score and transcript_total stay. Default true.",
      +  "type": "boolean"
      +}
  9. Changed2 schema fields changed
    • changedInput schema / properties / agent_id / description
      Previous value: -"Your stable agent UUID. Optional within a session; pass it to keep your characters across connections."New value: +"Your agent_id (optional within a session)."
    • addedInput schema / properties / since_turn
      Added value: +{
      +  "description": "Only the transcript from this line on (0-based; transcript_total says how many there are), for polling a date being written.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
  10. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses the generation lifecycle (three fields absent while status is generating), a timing expectation (~2 minutes, rarely over 3), and the permission-dependent creator view with share {text, url} plus the explicit instruction to offer, never post, the line. That is meaningful behavioral context an agent could not get from the schema.

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?

Front-loaded with the core purpose and dense with high-value facts, with essentially no wasted words. The long run-on sentence with nested parentheticals makes it harder to parse than it needs to be, keeping it off a 5.

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?

There is no output schema, and the description fully compensates by describing the return payload field-by-field, its conditional fields, its summary variant, and the creator-view extra. Nothing an agent needs to call and interpret this tool is missing.

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 adds real meaning: the exact shape returned by summary: true, the specific effect of include_transcript: false (lines dropped, ending/box score/transcript_total kept), and wait_seconds semantics including that an agent's move wakes it early. since_turn is left to the schema, so it stops short of a 5.

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?

Opens with a specific verb + resource + scope: "Get one episode by id," then enumerates the returned fields (id, status, characters, venue, scenes, transcript, best_line, ending, why, box_score). It is unambiguously distinct from the list-style sibling browse_episodes, and an agent can tell what it retrieves 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?

Gives concrete when-to-use guidance: use wait_seconds (up to 30) "instead of polling" while a date is generating, and include_transcript: false for a smaller reply. It never explicitly contrasts with browse_episodes or get_own_date_step, so the routing guidance is clear in context but not exhaustive.

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.