Skip to main content
Glama

save_season_plan

Destructive

Free, generates nothing. Save the season plan BEFORE the paid create_series: series_id (the id you will pass to create_series), show_type, size {episodes, seconds, quality}: in series_interview the size from brief.size (Episode 1 first plans at its provisional size, asked again after Episode 1), otherwise exactly as the customer chose it from get_season_options (no default; a locked size can be planned and is filmed once its plan is bought), season_plot (the whole season, start to finale, at least 15 words) and episodes: one per episode in order, [{ep, title, summary, twist, cliffhanger, cliffhanger_type partial_reveal|reversal_setup|intrusion|ticking_clock|betrayal_reveal, final_line, tension 1-10, payoff none|small|major, cast? (character ids: give the recurring characters a part in most episodes, not only the leads), locations?, gag?, guests? (up to 2 short descriptions of this episode's one-episode guests, like "the night nurse", cast with its script)}]; the last is the finale and needs resolution and payoff major. You write the plot from the type guidance (or a starter's season_plan); this tool checks it is complete. Returns revision, content_hash, say (the plan as the customer reads it), size_status, warnings and next. Replacing a saved plan needs expected_revision (the current revision); queued, filming and delivered episodes keep their rows; later rows not rewritten in the same call are marked needs_rewrite. Saving drops any approval.

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": {
      "series_id": "<series_id>",
      "show_type": "<show_type>",
      "size": "<size>",
      "season_plot": "<season_plot>",
      "episodes": "<episodes>"
    },
    "name": "save_season_plan"
  }
}

Input Schema

NameRequiredDescriptionDefault
sizeYes
titleNo
episodesYes
series_idYes
show_typeYes
season_plotYes
expected_revisionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and openWorldHint=true; the description adds real substance beyond that — 'Saving drops any approval', queued/filming/delivered episodes keep their rows, and unrewritten later rows become needs_rewrite. Minor gap: it does not say what happens on revision mismatch with expected_revision or whether the write is transactional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Everything stated is load-bearing given a zero-coverage schema, but it is delivered as one dense wall of semicolons and nested parentheses, so the ordering rules, sizing rules and episode-field spec blur together. The critical 'BEFORE create_series' constraint is front-loaded, but the rest would read far better as discrete sections.

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?

For a destructive, seven-parameter tool with nested arrays and no output schema, the description covers inputs, invocation ordering, side effects, and even lists the return fields (revision, content_hash, say, size_status, warnings, next). An agent has essentially everything it needs to construct a valid call and predict the outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and both size and episodes are untyped nested objects, so the description carries the full burden and does: it defines size as {episodes, seconds, quality}, gives the minimum for season_plot (15 words), and enumerates every episode field with its allowed values (cliffhanger_type options, tension 1-10, payoff none|small|major, optional cast/locations/gag/guests) plus the finale requirement. Only the optional 'title' parameter is never explained.

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 ('Save the season plan') and immediately positions it against the paid sibling ('BEFORE the paid create_series'), which is exactly the disambiguation an agent needs. It also states a distinguishing behavioral fact ('Free, generates nothing') that separates it from create_series and the generate_* tools.

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 (save before create_series) and conditional sourcing rules: in series_interview use brief.size, otherwise exactly what the customer chose from get_season_options with no default. It also names the prerequisite for replacement (expected_revision) and the consequence of locked sizes, so the agent knows when this call is legal versus premature.

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