Skip to main content
Glama

Personal Entertainment Concierge — decide for me

tv_concierge
Read-onlyIdempotent

You have a window of free time — decide for me what to watch right now. Returns ONE primary decision (TV program OR streaming title) with confidence percentage, plus best_by_source when both TV and streaming were considered (the best TV airing in the window next to the best catalog title — present both to the user when gap_pct is small, since streaming is available any time and TV only now), full reasoning breakdown, and up to 3 diverse alternatives with explicit trade-offs (pros/cons, reason not picked). Picks across live Romanian TV EPG AND streaming catalog (Netflix, HBO Max, Disney+, Prime Video). Built-in anti-noise filter automatically removes news, political talk, reality shows, talk-shows (NO manual filtering needed by the model). Built-in title dedup (repeat airings of the same title are collapsed to one candidate). Built-in opportunity-cost lookahead (flags better options just outside the window). Event-aware: major broadcasts (World Cup / Euro / Champions League / finals) get an importance boost in ranking AND are always listed in the important_today field, even when the mood-based pick is something else — for questions like "what is important today?", prefer tv_important_today. PREFER THIS TOOL over tv_recommend_by_mood and tv_recommend_today whenever the user wants ONE answer / a single decision — those tools return ranked LISTS for browsing, this tool returns a DECISION. It returns exactly ONE pick and leaves the rest of the window as a pause: when the user wants the whole window FILLED with several programmes in sequence ("plan my evening", "ce văd toată seara", "fă-mi un program pentru 20–24", a TV window of 3+ hours), use tv_plan_evening instead. Routes any mood internally (obosit / vesel / concentrat / romantic / familie / captivant + EN aliases tired/happy/focused/romantic/family/thrilling). Trigger phrases: "what should I do", "decide for me", "pick for me", "I have X hours", "ce să fac", "am 2 ore", "alege tu", "mood X durată Y", "o singură decizie", "fii consilierul meu", "what to watch", "concierge me".

Input Schema

NameRequiredDescriptionDefault
moodNoobosit | vesel | concentrat | romantic | familie | captivant (RO/EN aliases accepted)
preferNo
windowNoExplicit window. Skips lookahead.
sourcesNo
min_ratingNoHard minimum rating (0-10). When > 0, only titles with a MEASURED rating at or above it are eligible: streaming catalog rating, or the IMDb rating the TV guide declares. TV programmes without any rating (most sport, news, shows) are excluded, not waved through.
allow_pausesNo
risk_aversionNolow = 3 alternatives, high = nonelow
duration_hoursNoShorthand when window is absent; starts at now.
exclude_keywordsNo
max_alternativesNo
exclude_categoriesNoAnti-noise filter (default: all four).

Output Schema

NameRequiredDescriptionDefault
okYes
reasonNo
windowYes
contextYes
decisionYes
freshnessYes
lookaheadYes
reasoningYes
anti_noiseYes
alternativesYes
asked_at_utcYes
sources_usedYes
best_by_sourceNo
important_todayNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / decision / properties / overflow_min
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / decision / properties / overflow_reason
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / decision / properties / tie_break
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / min_rating / description
      Added value: +"Hard minimum rating (0-10). When > 0, only titles with a MEASURED rating at or above it are eligible: streaming catalog rating, or the IMDb rating the TV guide declares. TV programmes without any rating (most sport, news, shows) are excluded, not waved through."
  3. Changed1 schema field changed
    • addedOutput schema / properties / best_by_source
      Added value: +{
      +  "$ref": "#/properties/window"
      +}
  4. Changed1 schema field changed
    • addedOutput schema / properties / important_today
      Added value: +{
      +  "items": {
      +    "$ref": "#/properties/window"
      +  },
      +  "type": "array"
      +}
  5. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnly/idempotent/non-destructive; the description adds substantial behavior: a built-in anti-noise filter (news/politics/reality/talkshow) that requires no manual effort, title dedup of repeat airings, opportunity-cost lookahead outside the window, and event-aware ranking boosts for major broadcasts. It also explains the best_by_source/gap_pct semantics that govern how the agent should present results — none of that is derivable from annotations or schema.

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?

The opening sentence is well front-loaded, and the PREFER-THIS-TOOL routing sits early, but the block is bloated: the mood vocabulary is restated from the schema, the trigger-phrase list is long, and feature claims (dedup, lookahead, anti-noise, event boost) are stacked as a feature dump rather than prioritized. Dense but not wasteful to the point of harm.

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?

For a complex, 11-parameter, nested-window tool with an output schema, the description covers the decision semantics, source coverage, and sibling routing well enough to call it correctly. Remaining shortfall is the unexplained optional filters (prefer/allow_pauses/exclude_keywords), which would matter if a user asks to steer the pick.

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 55%, and the description compensates for part of that: it explains mood routing with EN aliases, the 'I have X hours' window shorthand, the anti-noise exclude_categories default, and that max_alternatives/risk_aversion control up to 3 alternatives. But 'prefer', 'allow_pauses', and 'exclude_keywords' are left entirely unexplained in both schema and description, which is a real gap for an 11-parameter tool.

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 concrete verb and resource ('decide what to watch right now', returning ONE primary decision from TV EPG + streaming catalog) and explicitly contrasts itself with named siblings: it is a decision tool, not a ranked list like tv_recommend_by_mood / tv_recommend_today, and not a scheduler like tv_plan_evening.

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?

It gives explicit positive triggers ('decide for me', 'am 2 ore', 'alege tu'), explicit exclusions (wants the whole window filled with several programmes in sequence → tv_plan_evening; 'what is important today?' → tv_important_today), and named alternatives for browsing. The routing condition between decision vs. list vs. plan is unambiguous.

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