Skip to main content
Glama

Server Details

Romanian TV guide MCP: live listings, prime time, search, recommendations, MCP Apps tonight card.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
marian5070/rotv.mcp
GitHub Stars
0
Server Listing
rotv-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 14 of 14 tools scored.

Server CoherenceA
Disambiguation4/5

Tools are largely distinct with clear use cases, though tv_recommend_by_mood and tv_recommend_today overlap somewhat in providing ranked lists. The descriptions include guidance to prefer tv_concierge for single decisions, which helps reduce confusion.

Naming Consistency5/5

All tool names follow a consistent 'tv_' prefix with a verb_noun pattern (e.g., tv_check_freshness, tv_search_program). Minor exceptions like tv_important_today and tv_now_on_tv still adhere to the same structure, maintaining high consistency.

Tool Count5/5

With 14 tools, the set is well-scoped for a comprehensive TV and streaming recommendation service. Each tool addresses a specific user need without being excessive, making the set appropriate for the domain.

Completeness4/5

The tool set covers key operations: search, recommendations (single, list, for couples), planning, prime-time/now, important events, and details. Minor gaps like user preference storage are absent, but the coverage is sufficient for most user queries.

Available Tools

14 tools
tv_check_freshnessCheck data freshnessA
Read-onlyIdempotent
Inspect

Reports the last-updated time of each underlying data source (EPG normalized, EPG homepage, streaming catalog), the age in minutes, the expected next refresh, and whether any source is stale (older than 1.5× the expected refresh interval).

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoOptional filter for which source to reportall

Output Schema

ParametersJSON Schema
NameRequiredDescription
now_utcYes
sourcesYes
summaryYes
freshnessYes
asked_at_utcYes
overall_staleYes
Behavior5/5

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

Annotations already indicate a safe read-only operation; the description adds concrete behavioral details about the reported metrics (last-updated time, age, next refresh, staleness condition), going well beyond the annotations.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the action and conveys all necessary information without redundancy.

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?

Given low complexity, high schema and annotation coverage, and the presence of an output schema, the description adequately covers all behavioral aspects and outputs, leaving no significant gaps.

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% with one parameter, and the description reinforces meaning by listing the data sources, aligning with the enum values. It adds slight contextual value beyond the schema's description.

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 clearly states the tool reports last-updated time, age, next refresh, and staleness for specific data sources, using strong verbs and distinguishing itself from sibling tools that focus on recommendations or schedules.

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?

The description does not explicitly state when to use this tool versus alternatives, nor does it provide context on prerequisites or when not to use it. The purpose is clear enough to infer but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_compare_optionsCompare TV options side-by-sideA
Read-onlyIdempotent
Inspect

Compares 2-5 program titles by scoring each against the chosen mood, finding the next TV airing (next 48h by default) and looking each up in the streaming catalog. Returns side-by-side breakdown and a winner with reasoning.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNo
preferNo
optionsYesArray of 2-5 titles (string) or { title, channel? } objects to compare
upcoming_window_hoursNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
moodYes
winnerYes
optionsYes
freshnessYes
asked_at_utcYes
mood_label_roYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context: scoring against mood, default 48h window, streaming lookup, and output format (side-by-side, winner). No contradiction with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose. Every word is necessary; no redundancy.

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?

Covers most aspects: inputs (2-5 titles, mood, window), process (scoring, airing, streaming), output (breakdown, winner). Missing explanation of 'prefer' parameter. Output schema exists, so return values are handled separately.

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 description coverage is low (25%). The description explains the role of mood and upcoming_window_hours, and clarifies options. However, the 'prefer' parameter is not mentioned. Overall adds significant meaning beyond the schema.

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 clearly states the verb (compares), resource (program titles), and specific actions (scoring, finding airing, looking up streaming). It distinguishes from sibling tools like tv_recommend_by_mood and tv_get_title_details.

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?

The description implies usage when comparing options but does not explicitly state when to use vs alternatives, nor does it mention when not to use. With 13 sibling tools, more guidance is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_conciergePersonal Entertainment Concierge — decide for meA
Read-onlyIdempotent
Inspect

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, 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, Apple TV+, SkyShowtime). 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 (handles ~46% duplicate-airing ratio in TV EPG). 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, tv_plan_evening, and tv_recommend_today whenever the user wants ONE answer / a single decision / a plan for a specific window — those tools return ranked LISTS for browsing, this tool returns a DECISION. 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".

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoobosit | vesel | concentrat | romantic | familie | captivant (RO/EN aliases accepted)
preferNo
windowNoExplicit window. Skips lookahead.
sourcesNo
min_ratingNo
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

ParametersJSON Schema
NameRequiredDescription
okYes
reasonNo
windowYes
contextYes
decisionYes
freshnessYes
lookaheadYes
reasoningYes
anti_noiseYes
alternativesYes
asked_at_utcYes
sources_usedYes
important_todayNo
Behavior5/5

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

Annotations already indicate read-only and idempotent; description adds extensive behavioral traits like anti-noise filter, title dedup, opportunity-cost lookahead, and event-aware boosting, all without contradiction.

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?

Description is long but well-organized with front-loaded purpose. Some redundancy (e.g., repeated emphasis on anti-noise filter) but each sentence adds value. Could be slightly more concise.

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?

Given tool complexity (11 params, nested objects, output schema), description covers decision logic, edge cases, and exclusions well. Minor gap: some parameters lack explanation in description but schema provides partial info.

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 coverage is 45% (low). Description provides broad context for mood and window but does not detail many parameters (e.g., prefer, min_rating, risk_aversion). Does not fully compensate for low coverage.

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 clearly states the tool decides what to watch for a single decision, contrasting with sibling tools that return lists. It specifies verb ('decide for me'), resource (TV and streaming), and scope (single decision for a window).

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?

Explicitly lists trigger phrases, when to prefer this tool over siblings (tv_recommend_by_mood, tv_plan_evening, tv_recommend_today), and directs agents to tv_important_today for 'what is important today?' queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_explain_recommendationExplain why a program was recommendedA
Read-onlyIdempotent
Inspect

Returns a full score breakdown for a specific program in a given mood/context: per-component value + reason, extracted genres, streaming cross-ref, freshness, sources used, and a list of alternatives that were not picked (with the specific reason each was dropped). Use to understand or debug a recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesProgram title to explain
channelNoOptional channel id/name/alias to disambiguate
contextNo
start_utcNoOptional ISO start time to disambiguate

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
reasonNo
contextNo
subjectNo
freshnessYes
confidenceNo
fresh_statusNo
sources_usedNo
streaming_xrefNo
score_breakdownNo
extracted_genresNo
alternatives_not_pickedNo
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by detailing the output contents (per-component values, reasons, alternatives, etc.). It does not contradict annotations, and it provides behavioral context beyond what annotations convey.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with the key outputs, and ends with a usage recommendation. Every sentence is necessary and well-structured.

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?

The tool has an output schema (not shown but implied), annotations, and 75% schema coverage. The description explains the return value in detail and states its purpose. It could mention prerequisites or that context is optional, but overall it is fairly complete for a debugging tool.

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 75% (3 of 4 parameters described). The description mentions 'in a given mood/context' which adds context for the context parameter, but does not fully detail its structure. For parameters with schema descriptions, the description adds little beyond what the schema provides.

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 clearly states the tool returns a full score breakdown for a specific program in a given mood/context, listing specific outputs. It distinguishes itself from sibling tools like tv_recommend_by_mood by focusing on explaining an existing recommendation rather than generating one.

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?

The description explicitly says 'Use to understand or debug a recommendation,' providing clear guidance on when to use it. It doesn't explicitly state when not to use it, but the context and sibling tool names imply alternatives for other tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_find_for_coupleFind content for a coupleA
Read-onlyIdempotent
Inspect

Finds TV programs that satisfy two people with different moods/preferences. Default fairness=strict (min(scoreA,scoreB) >= threshold — no veto). Auto-falls-back to fairness=average if strict returns empty, marked with degraded:true. Returns per-person score breakdown + compromise note when one side wins by >1.5 points.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
fairnessNostrict
person_aYesPreferences for person A
person_bYesPreferences for person B
min_scoreNo
timeframeNotonight
include_streaming_xrefNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
windowYes
degradedYes
fairnessYes
person_aYes
person_bYes
freshnessYes
min_scoreYes
asked_at_utcYes
timeframe_labelYes
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is safe and read-only. The description adds valuable behavioral context: the auto-fallback from strict to average fairness, the degraded flag, per-person score breakdown, and compromise note. This goes beyond what annotations provide.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and every part adds value. No redundant or wasted words. The structure efficiently conveys the algorithm and output features.

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?

Given the tool's complexity (7 params, nested objects, output schema), the description explains the core scoring logic and output enrichment (degraded flag, breakdown, compromise). However, it omits details about parameters like limit, min_score, timeframe, and include_streaming_xref. The output schema likely covers return values, so the description is mostly complete but has minor gaps.

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

Parameters2/5

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

Schema description coverage is only 29%, meaning most parameters (like limit, min_score, timeframe, include_streaming_xref) are not described in the schema. The description does not explain these parameters; it only indirectly mentions fairness. For a low-coverage schema, the description should compensate by detailing parameters, but it fails to do so.

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 clearly states it finds TV programs satisfying two people with different moods/preferences, with specific fairness logic. It distinguishes from sibling tools like tv_recommend_by_mood (single user) or tv_recommend_today (general), making the tool's unique role evident.

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?

The description explains the default fairness mechanism and the auto-fallback behavior, providing clear context for when to use this tool. However, it does not explicitly state when not to use it or mention alternatives like tv_recommend_by_mood for single users, which could further guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_get_prime_timePrime-time TV lineupA
Read-onlyIdempotent
Inspect

Returns the prime-time lineup (20:00–23:00 Europe/Bucharest) for a given date, grouped by channel. Use for queries like "what is on prime time tonight" or "tomorrow night TV". By default, news channels are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNotoday | tomorrow | YYYY-MM-DD (interpreted in Europe/Bucharest)today
scopeNomain
exclude_newsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateYes
countYes
scopeYes
windowYes
channelsYes
asked_at_utcYes
exclude_newsYes
generated_atNo
window_localYes
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, destructiveHint. The description adds behavioral context: the tool returns data grouped by channel, excludes news channels by default, and interprets dates in Europe/Bucharest timezone.

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

Conciseness5/5

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

The description is two sentences with no redundant words. It front-loads the core functionality, includes example queries, and states a notable default behavior.

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?

The description covers the main use case, time range, timezone, grouping, and default behavior. However, it does not explain the 'scope' parameter (main vs all), which is a gap. Output schema exists, so return values are handled externally.

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 low (33%). The description mentions the default exclusion of news channels for the 'exclude_news' parameter, but does not clarify the 'scope' parameter or add format details for the 'date' parameter beyond what the schema provides.

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 clearly states the tool returns prime-time lineup (20:00–23:00 Europe/Bucharest) for a given date, grouped by channel. It includes example queries and distinguishes from siblings by specifying a specific time range and region.

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?

The description says 'Use for queries like...' which gives clear usage context, but does not mention when not to use this tool or provide alternatives among the 14 sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_get_title_detailsLookup a title across TV and streamingA
Read-onlyIdempotent
Inspect

Looks up a title across upcoming Romanian TV airings (next N hours, default 48) and the live streaming catalog for Romania (Netflix, HBO Max, Prime Video, Disney+, Apple TV+). Use for queries like "is Avatar on Netflix?", "when does Game of Thrones air next?".

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle to look up (case/diacritic-insensitive)
include_streamingNoAlso look up the title in Netflix / HBO Max / Prime Video / Disney+ / Apple TV+ catalog for Romania
upcoming_window_hoursNoHow far ahead (hours) to scan TV airings

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryYes
streamingYes
tv_airingsYes
title_queryYes
asked_at_utcYes
streaming_countYes
tv_airings_countYes
upcoming_window_hoursYes
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds behavioral details: it scans upcoming TV airings with configurable window (default 48h) and queries specific streaming catalogs for Romania. No contradictions with annotations.

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

Conciseness5/5

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

Two sentences efficiently convey purpose, scope, and examples. No fluff; front-loaded with the main action.

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?

Given the complexity (two data sources), rich annotations, full schema coverage, and presence of output schema, the description provides all needed context: geographic scope (Romania), time window, and platforms. No gaps.

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 covers all 3 parameters with descriptions. The description provides extra context by linking parameters to use cases (e.g., window size for TV airings) and example queries, adding value beyond the schema alone.

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 clearly states the tool looks up a title across upcoming Romanian TV airings and streaming catalogs (Netflix, HBO Max, etc.), with specific verb 'Looks up' and resource 'title'. It distinguishes from sibling tools like tv_search_program by covering both TV and streaming.

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?

The description provides example queries ('is Avatar on Netflix?', 'when does Game of Thrones air next?') indicating when to use the tool. It does not explicitly exclude situations or mention alternative sibling tools, but the context is clear enough for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_important_todayToday's important broadcasts (major events)A
Read-onlyIdempotent
Inspect

What actually matters on Romanian TV today: World Cup / Euro / Champions League matches, finals, knockout games, national-team fixtures. Detected from real EPG text (titles + descriptions) with quoted evidence — the EPG has no structured event metadata, so detection is keyword-based and honest about it. Use this FIRST for questions like "what's important to watch today?".

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDay to scan, YYYY-MM-DD in Europe/Bucharest. Default: today.
limitNoMax number of events to return
min_tierNo1 = only major events (World Cup, Euro, Champions League, finals); 2 = also notable ones (national-team matches, knockout games)

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateYes
hintYes
countYes
eventsYes
min_tierYes
asked_at_utcYes
generated_atNo
Behavior5/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds critical context: detection is keyword-based from EPG text with quoted evidence, honest about limitations ('no structured event metadata'). This goes beyond annotations.

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

Conciseness5/5

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

Three sentences covering purpose, method, and usage hint. No redundant words. Front-loaded with what matters most. Each sentence earns its place.

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?

Given output schema exists, description does not need to detail return format. It fully covers purpose, detection method, parameter guidance, and usage context. Sibling list is diverse, but this tool's role is unequivocally clear.

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 baseline is 3. Description adds value by explaining the 'min_tier' parameter semantics (1=major, 2=notable) and the context for 'date' (Europe/Bucharest). This enhances understanding beyond the schema descriptions.

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 clearly states it returns important Romanian TV broadcasts (major sports events like World Cup, Euro, Champions League). It uses specific verbs ('Detected', 'Use') and resource ('EPG text'), effectively distinguishing it from siblings like 'tv_recommend_today'.

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?

Explicitly says 'Use this FIRST for questions like "what's important to watch today?"', providing clear use context. However, it lacks explicit when-not-to-use or references to alternative tools, so a slight deduction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_now_on_tvWhat is on TV right nowA
Read-onlyIdempotent
Inspect

Returns the programs currently broadcasting on Romanian TV channels. Use this for "What is on TV now?" type questions. Default scope is the 14 main channels; pass scope="all" for the full 254-channel list.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of items to return
scopeNomain = 14 main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = all 254 channelsmain
categoryNoFilter by channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele
exclude_newsNoDrop channels whose category is "Știri" (Romanian news channels)

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
scopeYes
asked_at_utcYes
generated_atNo
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds value by specifying the data source (Romanian channels) and scope behavior (default 14 channels vs all 254). No contradictions; description aligns with annotations.

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

Conciseness5/5

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

Two concise sentences with no wasted words. The first sentence states the core function, the second provides usage guidance and scope variants. Information is front-loaded and easily parsed.

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?

Despite 4 parameters and no output schema details needed (as output schema exists), the description covers the essential context: purpose, geographic scope, filtering options, and default behavior. All parameters are explained through schema and description combination.

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 coverage is 100%, but the description adds significant detail beyond the schema: it explains the scope enum values with examples (main = 14 channels like PRO TV, Antena 1, etc.; all = 254 channels), and clarifies the category filter as 'Romanian channel categories'. This enriches the agent's understanding.

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 title 'What is on TV right now' and description 'Returns the programs currently broadcasting on Romanian TV channels' clearly define the tool's purpose. It specifies the verb 'Returns', the resource 'programs currently broadcasting', and the scope 'Romanian TV channels', distinguishing it from sibling tools like 'tv_get_prime_time' or 'tv_search_program'.

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?

Description explicitly states 'Use this for "What is on TV now?" type questions', providing clear use context. It also explains default scope and the option to pass scope='all' for full list. However, it does not explicitly mention when not to use or compare with alternative tools like 'tv_search_program', but the specificity is sufficient for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_plan_eveningPlan an eveningA
Read-onlyIdempotent
Inspect

Builds a coherent TV watching plan for an evening — either one long program filling the budget or 2-3 segments with small gaps. Accepts start time, duration budget, mood, and channel preferences. Output: ordered timeline + alternatives dropped + totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNo
startNoStart time: "now" | "HH:MM" (Europe/Bucharest) | ISO instant20:00
preferNo
max_gap_minNo
duration_minNo
max_segmentsNo
allow_channel_switchNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
moodYes
planYes
reasonNo
totalsYes
end_utcYes
freshnessYes
start_utcYes
alternativesYes
asked_at_utcYes
mood_label_roYes
duration_budget_minYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by detailing the two planning strategies, acceptance of parameters, and output structure (ordered timeline + alternatives dropped + totals). No contradictions; the behavioral context is enhanced.

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

Conciseness5/5

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

Two sentences: the first states purpose and strategies, the second lists inputs and output. Every word is essential, front-loaded, and free of redundancy. Highly concise and well-structured.

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?

With an output schema presumed present, the description mentions key outputs. It covers the core functionality, but lacks details on acceptable mood values and channel preference format. Overall complete enough given the annotations, but minor gaps remain.

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 14%, with only 'start' having a description. The tool description mentions 'mood' and 'channel preferences' but does not elaborate on valid values or behavior. It provides a general sense but insufficiently compensates for the low schema coverage.

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 clearly states that the tool builds a coherent TV watching plan for an evening, specifying two strategies (one long program or 2-3 segments with gaps) and listing accepted inputs. This specific verb+resource detail distinguishes it from sibling tools like tv_recommend_today or tv_now_on_tv.

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?

The description implies usage for planning an evening with constraints, but does not explicitly state when to choose this over alternatives or provide exclusions. It lacks guidance on scenarios where this tool is preferable versus siblings like tv_recommend_by_mood.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_recommend_by_moodRecommend by moodA
Read-onlyIdempotent
Inspect

Returns top-N Romanian TV programs ranked for a given mood (obosit/vesel/concentrat/romantic/familie/captivant — RO/EN aliases accepted). Combines: channel category, mood-fit (genre + duration + keywords), time proximity, and streaming cross-reference. Output includes mood_parts breakdown and freshness embedded.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodYesMood: obosit | vesel | concentrat | romantic | familie | captivant (also accepts tired, happy, focused, family, thrilling, etc.)
limitNo
preferNoAdditional channel-category preferences (additive boost)
timeframeNonow | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B"tonight
dislike_genresNo
dislike_keywordsNo
include_streaming_xrefNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
moodYes
countYes
itemsYes
windowYes
freshnessYes
asked_at_utcYes
generated_atNo
mood_label_roYes
timeframe_labelYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: it explains the combination logic (channel category, mood-fit, time proximity, streaming cross-reference) and mentions that output includes mood_parts breakdown and freshness. There is no contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences with no wasted words. The first sentence states the core purpose, and the second adds essential details about the algorithm and output. It is front-loaded and efficient.

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?

Given that an output schema exists (mentioned but not shown) and annotations cover safety, the description covers the key aspects: mood parameter, combination factors, output structure. It could mention the Romanian context more explicitly, but it already does. It is mostly complete for the task.

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 43% (only 3 of 7 params have descriptions: mood, prefer, timeframe). The description adds meaningful information for mood (lists aliases) and timeframe (explains format), but does not add semantics for limit, dislike_genres, dislike_keywords, include_streaming_xref. Baseline 3 is appropriate given moderate coverage.

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 clearly states it returns top-N Romanian TV programs ranked for a given mood, listing exact mood values and explaining the combining factors (channel category, mood-fit, time proximity, streaming cross-reference). This distinguishes it from sibling tools like tv_recommend_today or tv_now_on_tv.

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?

The description tells when to use (when a mood is specified) but does not explicitly state when not to use or mention specific alternatives. However, the sibling list and the phrase 'Returns top-N Romanian TV programs ranked for a given mood' make the usage context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_recommend_todayRecommend something to watch on Romanian TVA
Read-onlyIdempotent
Inspect

Returns up to N ranked program recommendations for a given timeframe. Uses a deterministic scorer that rewards films / documentaries / generalist channels, penalises news, and boosts programs starting within the next hour. Use for queries like "recommend me something for tonight", "ce e bun la TV diseară".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
preferNoPreferred categories for ranking boost
timeframeNonow | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B"tonight
exclude_newsNoDrop news channels and news programs

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
preferYes
windowYes
asked_at_utcYes
exclude_newsYes
generated_atNo
timeframe_labelYes
Behavior4/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral detail: uses a deterministic scorer that rewards films/documentaries/generalist channels, penalises news, and boosts upcoming programs. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences: first explains what it does and how, second provides example queries. No filler, front-loaded, every sentence earns its place.

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?

With 4 parameters, schema coverage at 75%, and an output schema present, the description adequately covers the tool's behavior (scoring logic) and usage context. It might be slightly improved by mentioning timezone or locale, but overall it is sufficient.

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 75% (3 of 4 parameters have descriptions). The tool description does not add parameter-specific meaning beyond the schema; it only mentions 'up to N' which maps to limit. Baseline 3 is appropriate as schema covers most parameter semantics.

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 clearly states verb ('Returns'), resource ('program recommendations'), and scope ('for a given timeframe', 'up to N ranked'). It also provides specific query examples, making it easy for the agent to understand the tool's purpose and distinguish it from siblings like tv_recommend_by_mood.

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?

The description gives explicit usage examples ('recommend me something for tonight', 'ce e bun la TV diseară') that define when to use the tool. However, it does not explicitly state when not to use or mention alternatives, which would strengthen guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_search_programSearch Romanian TV programsA
Read-onlyIdempotent
Inspect

Search programs across all 254 Romanian TV channels by free-text title, channel, category, and time window. Use for queries like "documentaries on Discovery tomorrow", "football on Saturday", "what is on Antena 1 right now". Time references accepted: now, tonight, tomorrow, weekend, primetime, today, YYYY-MM-DD, ISO instant, or ISO range "A/B".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoFree text to match against program title (case/diacritic-insensitive)
channelNoChannel id, display name, or alias (e.g. "PRO TV", "tv-pro-tv", "HBO")
categoryNoChannel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele
timeframeNoNatural time reference: now | tonight | tomorrow | weekend | primetime | today | YYYY-MM-DD | ISO instant | ISO range "A/B"now
exclude_newsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
windowYes
asked_at_utcYes
generated_atNo
timeframe_labelYes
Behavior4/5

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

Annotations already indicate read-only and idempotent. The description adds useful behavioral details such as case/diacritic-insensitive matching, coverage of all channels, and accepted time formats (e.g., 'now, tonight, tomorrow, YYYY-MM-DD, ISO range'). No contradiction.

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

Conciseness5/5

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

The description is concise: two sentences plus a list of time references. Every part adds value, and it is front-loaded with the main purpose.

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?

Given the tool's complexity (6 parameters, many siblings), the description covers purpose, examples, time references, and channel coverage. Output schema exists, so return values are not needed. Reasonably complete, but could include an example of combining filters.

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 67% (4 out of 6 parameters have descriptions). The description reiterates the parameters but does not add significant new meaning beyond what the schema provides, though it explains time references in more detail. Baseline 3 is appropriate.

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 explicitly states it searches programs across all 254 Romanian TV channels by free-text title, channel, category, and time window. This clearly distinguishes it from sibling tools like tv_now_on_tv or tv_recommend_by_mood, which are more specific.

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?

The description provides example queries and lists accepted time references, giving clear context for when to use this tool. However, it does not explicitly state when not to use it or directly compare to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tv_tonight_cardTonight's picks — visual card (MCP Apps)A
Read-onlyIdempotent
Inspect

The daily "what is worth watching tonight?" card: one main decision (importance-scored major event, or a deterministic prime-time film fallback) plus one pick per vertical — TV, streaming (official Netflix RO top 10), theater (online + stage union), cinema (box office ∩ today's real screenings) — and measured stats. Same data as the tv.madeinro.eu homepage hero, regenerated daily. In MCP Apps-capable hosts this renders as an interactive card (ui://rotv/tonight-card).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateYes
railYes
statsYes
decisionYes
page_urlYes
generated_atYes
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context: it is regenerated daily (not real-time), is an interactive card in compatible hosts, and contains the same data as the homepage hero. This supplements the annotations well.

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?

The description is two sentences and covers the essential purpose, content structure, and interactive nature. It is somewhat detailed but not overly verbose; however, some phrases like '(importance-scored major event, or a deterministic prime-time film fallback)' could be more concise.

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?

Given no parameters and the presence of an output schema, the description adequately explains the tool's output composition (main decision, vertical picks, stats). It does not cover edge cases or error scenarios, but those are minor for this read-only tool.

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?

There are no parameters, so the baseline is 4. The description does not need to add parameter meaning since the schema is fully covered and empty.

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 description clearly states it is a 'what is worth watching tonight?' card with specific content (main decision, picks per vertical, measured stats) and mentions it is a visual card in MCP Apps. However, it does not explicitly differentiate from siblings like tv_recommend_today, though it notes it shares data with the homepage hero.

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?

The description implies it is for getting a curated nightly overview, but it does not provide explicit when-to-use or when-not-to-use guidance compared to sibling tools. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.