Skip to main content
Glama

Plan an evening

tv_plan_evening
Read-onlyIdempotent

Builds a TV watching plan for a window of time — either one long programme or 2-3 consecutive programmes with small gaps, ordered as a timeline. Relevance comes before coverage: only programmes scoring at least max(2, 60% of the best score in the window) are used, the same anti-noise filter as tv_concierge applies (reality / talk-show / politics / news, configurable), and uncovered minutes are reported in totals.unfilled_min + unfilled_reason, with totals.unfilled_gaps giving each gap and its actual cause (start of window before the first programme, pause between programmes, end-of-window remainder below the 30-min minimum slot, max_segments reached, or nothing above the relevance floor fitting) instead of being filled; segments running past the window carry overflow_min. Use it when the user wants a schedule for the whole evening or a long window (3+ hours) rather than a single pick: "plan my evening", "ce văd toată seara", "fă-mi un program pentru 20–24". TV only (live Romanian EPG, no streaming titles); for ONE decision that may also be a streaming title, use tv_concierge. Accepts start time, duration budget, mood, and channel preferences. Output: ordered timeline + alternatives dropped + totals.

Input Schema

NameRequiredDescriptionDefault
moodNo
startNoStart time: "now" | "HH:MM" (Europe/Bucharest) | ISO instant20:00
preferNo
max_gap_minNo
duration_minNo
max_segmentsNo
exclude_categoriesNoAnti-noise filter, same as tv_concierge (default: politica, reality, talkshow, stiri). Pass [] to allow them.
allow_channel_switchNo

Output Schema

NameRequiredDescriptionDefault
okYes
moodYes
planYes
reasonNo
totalsYes
end_utcYes
freshnessYes
relevanceNo
start_utcYes
anti_noiseNo
alternativesYes
asked_at_utcYes
mood_label_roYes
duration_budget_minYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / exclude_categories
      Added value: +{
      +  "default": [
      +    "politica",
      +    "reality",
      +    "talkshow",
      +    "stiri"
      +  ],
      +  "description": "Anti-noise filter, same as tv_concierge (default: politica, reality, talkshow, stiri). Pass [] to allow them.",
      +  "items": {
      +    "enum": [
      +      "politica",
      +      "reality",
      +      "talkshow",
      +      "stiri"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / anti_noise
      Added value: +{
      +  "$ref": "#/properties/plan/items"
      +}
    • addedOutput schema / properties / relevance
      Added value: +{
      +  "$ref": "#/properties/plan/items"
      +}
    • addedOutput schema / properties / totals / properties / overflow_min
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / totals / properties / unfilled_gaps
      Added value: +{
      +  "items": {
      +    "$ref": "#/properties/plan/items"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / totals / properties / unfilled_min
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / totals / properties / unfilled_reason
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, non-destructive, idempotent, non-open-world behavior, but the description adds substantial operational detail: relevance floor formula, anti-noise category filter, unfilled-minute reporting, gap causes, overflow_min, and the 30-minute minimum slot.

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-loads the core purpose and usage guidance, and most sentences add meaningful behavioral detail. It is dense and includes some output-format detail that overlaps with the output schema, but no sentence is clearly wasted.

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 complex planning tool with an output schema, the description supplies everything important: scope, selection logic, anti-noise filtering, unfilled-time handling, overflow behavior, and routing to the right sibling. Return values are appropriately summarized.

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?

Schema description coverage is only 25%, so the description must compensate. It covers start time, duration budget, mood, channel preferences, max_segments behavior, and the configurable category filter, but leaves max_gap_min and allow_channel_switch unexplained and gives no format details for prefer.

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 and resource: builds a TV watching plan/timeline for a time window, with concrete behavior (one long programme or 2-3 consecutive programmes). Explicitly distinguishes itself from tv_concierge for single picks.

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 when-to-use conditions (whole evening or long window of 3+ hours), sample user phrasing, and the alternative (tv_concierge) for single decisions or streaming titles. Also scopes to TV/live Romanian EPG only.

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