rotv-mcp
Server Details
Romanian TV guide MCP: live listings, prime time, search, recommendations, MCP Apps tonight card.
- Status
- Healthy
- Uptime
- 100.0% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- marian5070/rotv.mcp
- GitHub Stars
- 0
- Server Listing
- rotv-mcp
TDQS
Scored across 14 tools
Multiple tools (tv_concierge, tv_recommend_by_mood, tv_recommend_today, tv_tonight_card, tv_plan_evening) serve overlapping recommendation/planning purposes. The descriptions give explicit routing hints, but boundaries remain fuzzy enough that an agent could misselect for generic 'what to watch' queries.
All tools use snake_case with a consistent tv_ prefix, which is predictable. However, several names deviate from the verb_noun pattern (tv_concierge, tv_important_today, tv_now_on_tv, tv_tonight_card), keeping it from perfect consistency.
14 tools is within the typical well-scoped range for a rich TV/streaming domain. The count is reasonable, though some redundancy among recommendation tools means not every tool is fully distinct.
The set covers discovery, search, details, recommendations, planning, event detection, freshness, and explanation, which is strong for the domain. Minor gaps exist around standalone streaming-only discovery or user preference/history, but core workflows are covered.
Available Tools
14 toolstv_check_freshnessCheck data freshnessARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Optional filter for which source to report | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| now_utc | Yes | |
| sources | Yes | |
| summary | Yes | |
| freshness | Yes | |
| asked_at_utc | Yes | |
| overall_stale | Yes |
TDQS
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.
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.
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.
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.
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.
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-sideARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | ||
| prefer | No | ||
| options | Yes | Array of 2-5 titles (string) or { title, channel? } objects to compare | |
| upcoming_window_hours | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mood | Yes | |
| winner | Yes | |
| options | Yes | |
| freshness | Yes | |
| asked_at_utc | Yes | |
| mood_label_ro | Yes |
TDQS
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.
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.
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.
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.
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.
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 meARead-onlyIdempotentInspect
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, 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 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".
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | obosit | vesel | concentrat | romantic | familie | captivant (RO/EN aliases accepted) | |
| prefer | No | ||
| window | No | Explicit window. Skips lookahead. | |
| sources | No | ||
| min_rating | No | 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. | |
| allow_pauses | No | ||
| risk_aversion | No | low = 3 alternatives, high = none | low |
| duration_hours | No | Shorthand when window is absent; starts at now. | |
| exclude_keywords | No | ||
| max_alternatives | No | ||
| exclude_categories | No | Anti-noise filter (default: all four). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| reason | No | |
| window | Yes | |
| context | Yes | |
| decision | Yes | |
| freshness | Yes | |
| lookahead | Yes | |
| reasoning | Yes | |
| anti_noise | Yes | |
| alternatives | Yes | |
| asked_at_utc | Yes | |
| sources_used | Yes | |
| best_by_source | No | |
| important_today | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses built-in anti-noise filtering, title dedup (~46% duplicate-airing ratio), opportunity-cost lookahead, event-aware importance boosts, and that the result is exactly one pick plus up to 3 alternatives. It does not cover latency, data freshness guarantees, or failure modes. There is mild tension between the live-EPG/streaming sourcing and openWorldHint=false, but this is not a clear-cut contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core decision contract is front-loaded in the first sentence, which is good. However, the single dense paragraph packs in trigger phrases, domain trivia (Romanian EPG duplication ratio), and parenthetical asides that inflate length without helping tool selection; it would be stronger with separated when/when-not/behavior blocks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-field explanation is not strictly required, and annotations cover the safety profile. The description nevertheless supplies the routing logic, the decision-vs-list contract, and the pause/window semantics that an agent needs. Only the under-documented input parameters keep it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 55% across 11 parameters. The description clarifies mood routing (internal, with RO/EN aliases) and the meaning of max_alternatives through the 'up to 3 diverse alternatives' return description, but says nothing about prefer, exclude_keywords, allow_pauses, or sources. It therefore does not compensate for the coverage gap, landing at the baseline-plus level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('decide for me what to watch right now', returns ONE primary decision) and explicitly contrasts itself with named siblings (tv_recommend_by_mood, tv_recommend_today return ranked lists, this returns a decision). An agent can distinguish it from all 13 siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('the user wants ONE answer / a single decision'), explicit when-not ('when the user wants the whole window FILLED with several programmes... use tv_plan_evening instead'), and explicit alternate routing ('for questions like "what is important today?", prefer tv_important_today'). Trigger phrases are enumerated in two languages.
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 recommendedARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Program title to explain | |
| channel | No | Optional channel id/name/alias to disambiguate | |
| context | No | ||
| start_utc | No | Optional ISO start time to disambiguate |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| reason | No | |
| context | No | |
| subject | No | |
| freshness | Yes | |
| confidence | No | |
| fresh_status | No | |
| sources_used | No | |
| streaming_xref | No | |
| score_breakdown | No | |
| extracted_genres | No | |
| alternatives_not_picked | No |
TDQS
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.
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.
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.
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.
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.
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 coupleARead-onlyIdempotentInspect
Finds TV programs that satisfy two people with different moods/preferences. Default fairness=strict (min(scoreA,scoreB) >= threshold — no veto). If strict returns nothing it falls back in two declared steps: first fairness=average at the SAME min_score; only if that is still empty is min_score halved. The response always carries requested_fairness, requested_min_score, the effective fairness / min_score, threshold_relaxed and degraded — tell the user when their threshold was relaxed. Returns per-person score breakdown + compromise note when one side wins by >1.5 points.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| fairness | No | strict | |
| person_a | Yes | Preferences for person A | |
| person_b | Yes | Preferences for person B | |
| min_score | No | ||
| timeframe | No | tonight | |
| include_streaming_xref | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes | |
| window | Yes | |
| degraded | Yes | |
| fairness | Yes | |
| person_a | Yes | |
| person_b | Yes | |
| freshness | Yes | |
| min_score | Yes | |
| asked_at_utc | Yes | |
| timeframe_label | Yes | |
| threshold_relaxed | No | |
| requested_fairness | No | |
| requested_min_score | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior beyond that: the two-step fallback cascade, the response fields (requested_/effective fairness, threshold_relaxed, degraded), and the instruction to inform the user when their threshold was relaxed. That is exactly the kind of out-of-band behavior an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the purpose and then the fallback rules, with no obvious filler. It is dense but each sentence carries load; the only mild friction is the long parenthetical about scoring that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex nested-parameter tool with an output schema, the description covers the fallback mechanics and the key response signals (threshold_relaxed, degraded) that the agent must surface. It is nearly complete, with the only gap being the undocumented secondary parameters (limit, timeframe, include_streaming_xref).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29% across 7 parameters, so the description must compensate. It does define fairness semantics ('min(scoreA,scoreB) >= threshold — no veto') and the min_score halving behavior, but says nothing about limit, timeframe, include_streaming_xref, or the person_a/person_b preference fields, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with a distinguishing scope: 'Finds TV programs that satisfy two people with different moods/preferences.' This clearly separates it from single-user siblings like tv_recommend_by_mood or tv_concierge without needing to open schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description defines the operative condition for the default (fairness=strict) and the exact fallback ladder when strict yields nothing, which is real when-to-use guidance. It never names an alternative sibling (e.g. tv_recommend_by_mood for solo requests) or states when NOT to use this tool, so it stops short of a 5.
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 lineupARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | today | tomorrow | YYYY-MM-DD (interpreted in Europe/Bucharest) | today |
| scope | No | main | |
| exclude_news | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | Yes | |
| count | Yes | |
| scope | Yes | |
| window | Yes | |
| channels | Yes | |
| asked_at_utc | Yes | |
| exclude_news | Yes | |
| generated_at | No | |
| window_local | Yes |
TDQS
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.
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.
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.
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.
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.
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 streamingARead-onlyIdempotentInspect
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?".
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title to look up (case/diacritic-insensitive) | |
| include_streaming | No | Also look up the title in Netflix / HBO Max / Prime Video / Disney+ / Apple TV+ catalog for Romania | |
| upcoming_window_hours | No | How far ahead (hours) to scan TV airings |
Output Schema
| Name | Required | Description |
|---|---|---|
| summary | Yes | |
| streaming | Yes | |
| tv_airings | Yes | |
| title_query | Yes | |
| asked_at_utc | Yes | |
| streaming_count | Yes | |
| tv_airings_count | Yes | |
| upcoming_window_hours | Yes |
TDQS
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.
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.
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.
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.
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.
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)ARead-onlyIdempotentInspect
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. Each event carries live_status (live / replay / unknown) with the evidence it was derived from; unknown means the EPG does not say whether the broadcast is live. Use this FIRST for questions like "what's important to watch today?".
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Day to scan, YYYY-MM-DD in Europe/Bucharest. Default: today. | |
| limit | No | Max number of events to return | |
| min_tier | No | 1 = only major events (World Cup, Euro, Champions League, finals); 2 = also notable ones (national-team matches, knockout games) |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | Yes | |
| hint | Yes | |
| count | Yes | |
| events | Yes | |
| min_tier | Yes | |
| asked_at_utc | Yes | |
| generated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive), and the description adds substantial context beyond them: detection is keyword-based because the EPG lacks structured metadata, and live_status is derived with quoted evidence, with 'unknown' meaning the EPG is silent. This is exactly the kind of reliability caveat an agent needs to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is longer than average but front-loaded: the scope comes first, then the detection caveat, then the routing instruction. Each sentence carries distinct information (scope, method, live_status semantics, usage), so nothing reads as filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be restated. Given the moderate complexity, the description covers scope, detection methodology, live_status semantics, and when to use it — everything an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents date, limit, and min_tier. The description echoes the tier concept ('major' vs 'notable') in prose but adds no format or default detail beyond what the schema states, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (Romanian TV broadcasts) and a clear scope (major sporting events: World Cup/Euro/Champions League, finals, knockouts), which distinguishes it from recommendation siblings like tv_recommend_today and tv_now_on_tv. The verb is slightly soft ('what actually matters') but the content type is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit primacy guidance — 'Use this FIRST for questions like "what's important to watch today?"' — which tells the agent when to reach for this over siblings. It does not name specific alternatives to avoid, so it stops short of a full when/when-not statement.
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 nowARead-onlyIdempotentInspect
Returns the programs currently broadcasting on Romanian TV channels. Use this for "What is on TV now?" type questions. Default scope is the main channels; pass scope="all" for every channel in the guide.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of items to return | |
| scope | No | main = the main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = every channel in the guide (the live count is in tv_tonight_card stats.channelsMonitored) | main |
| category | No | Filter by channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele | |
| exclude_news | No | Drop channels whose category is "Știri" (Romanian news channels) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes | |
| scope | Yes | |
| asked_at_utc | Yes | |
| generated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The only behavioral claim in the description is the default scope, which merely restates the schema default of 'main'. No permissions, snapshot/freshness behavior, or limits are added beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, purpose front-loaded, no filler. The final sentence partially repeats the schema's scope default, which is the only thing keeping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, rich annotations, and fully documented parameters, the description covers enough for correct invocation. It could note that results are a point-in-time snapshot, which would matter given the sibling tv_check_freshness, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with enum and default values and a rich scope description, so the baseline is 3. The description's mention of scope='all' duplicates what the schema already documents and adds no new syntax or meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the programs currently broadcasting on Romanian TV channels') with a clear present-moment scope that separates it in spirit from tv_tonight_card and tv_get_prime_time. It does not name any sibling explicitly, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('Use this for "What is on TV now?" type questions'), which is clear usage context. It offers no when-not guidance and never points to alternatives such as tv_search_program or tv_tonight_card, so it stops short of the top band.
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 eveningARead-onlyIdempotentInspect
Builds a TV watching plan that FILLS a window of time — either one long programme or 2-3 consecutive programmes with small gaps, ordered as a timeline. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | ||
| start | No | Start time: "now" | "HH:MM" (Europe/Bucharest) | ISO instant | 20:00 |
| prefer | No | ||
| max_gap_min | No | ||
| duration_min | No | ||
| max_segments | No | ||
| allow_channel_switch | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| mood | Yes | |
| plan | Yes | |
| reason | No | |
| totals | Yes | |
| end_utc | Yes | |
| freshness | Yes | |
| start_utc | Yes | |
| alternatives | Yes | |
| asked_at_utc | Yes | |
| mood_label_ro | Yes | |
| duration_budget_min | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful domain constraints not in the annotations: TV-only from live Romanian EPG, no streaming titles. Minor overlap with the output schema in the 'Output:' sentence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core behavior and constraint, then usage triggers, then the sibling alternative. Dense but every clause carries signal; the quoted example phrases are slightly heavy but serve the routing function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained (though it does briefly). Domain boundaries (live EPG only), window semantics and the sibling handoff are all present. The only real gap is the three undocumented numeric/toggle parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 14% (just 'start'), so the description must compensate, and it names start time, duration budget, mood and channel preferences — four of seven. It leaves max_gap_min, max_segments and allow_channel_switch entirely unexplained in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (builds a plan), resource (TV watching plan), and precise scope (fills a window with one long or 2-3 consecutive programmes). It explicitly contrasts with the single-pick sibling tv_concierge, so an agent can separate the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete trigger phrases in two languages ('plan my evening', 'ce văd toată seara', 'fă-mi un program pentru 20–24') and an explicit when-not rule (single decision that may be streaming → tv_concierge). The 3+ hour window condition is spelled out.
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 moodARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | Yes | Mood: obosit | vesel | concentrat | romantic | familie | captivant (also accepts tired, happy, focused, family, thrilling, etc.) | |
| limit | No | ||
| prefer | No | Additional channel-category preferences (additive boost) | |
| timeframe | No | now | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B" | tonight |
| dislike_genres | No | ||
| dislike_keywords | No | ||
| include_streaming_xref | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mood | Yes | |
| count | Yes | |
| items | Yes | |
| window | Yes | |
| freshness | Yes | |
| asked_at_utc | Yes | |
| generated_at | No | |
| mood_label_ro | Yes | |
| timeframe_label | Yes |
TDQS
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.
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.
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.
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.
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.
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 TVARead-onlyIdempotentInspect
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ă".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| prefer | No | Preferred categories for ranking boost | |
| timeframe | No | now | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B" | tonight |
| exclude_news | No | Drop news channels and news programs |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes | |
| prefer | Yes | |
| window | Yes | |
| asked_at_utc | Yes | |
| exclude_news | Yes | |
| generated_at | No | |
| timeframe_label | Yes |
TDQS
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.
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.
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.
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.
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.
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 programsARead-onlyIdempotentInspect
Search programs across all Romanian TV channels in the guide 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".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Free text to match against program title (case/diacritic-insensitive) | |
| channel | No | Channel id, display name, or alias (e.g. "PRO TV", "tv-pro-tv", "HBO") | |
| category | No | Channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele | |
| timeframe | No | Natural time reference: now | tonight | tomorrow | weekend | primetime | today | YYYY-MM-DD | ISO instant | ISO range "A/B" | now |
| exclude_news | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes | |
| window | Yes | |
| asked_at_utc | Yes | |
| generated_at | No | |
| timeframe_label | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and non-openWorld, so the safety profile is covered. The description adds nothing behavioral beyond search semantics: no ordering of results, no mention of how matches are ranked, and no note that all filters are optional with defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that front-load the core capability followed by example queries and the accepted time formats. Every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the query surface well. It could note that all six parameters are optional with defaults, but is otherwise complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description's time-reference list largely duplicates the timeframe schema description. The undocumented parameters (limit, exclude_news) receive no explanation in either place, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (programs across all Romanian TV channels in the guide) and enumerates the matchable dimensions: free-text title, channel, category, and time window. The scope 'across all channels' implicitly distinguishes it from narrower siblings like tv_now_on_tv or tv_get_prime_time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage examples ('documentaries on Discovery tomorrow', 'football on Saturday', 'what is on Antena 1 right now') that make the intended use case clear. It does not name alternatives or state when NOT to use it versus siblings like tv_now_on_tv, so it falls short of a 5.
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)ARead-onlyIdempotentInspect
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 (a stage performance happening TODAY, else an online play; a future date only when nothing is on tonight, labelled as the next performance), cinema (box office ∩ today's real screenings, else one of today's most-screened films) — 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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| date | Yes | |
| rail | Yes | |
| stats | Yes | |
| decision | Yes | |
| page_url | Yes | |
| generated_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is settled. The description adds real behavioral detail beyond that: the deterministic fallback chains per vertical (prime-time film fallback, stage-today-else-online-else-next-performance, box office ∩ real screenings), daily regeneration, and the ui://rotv/tonight-card resource for MCP Apps hosts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause and every subsequent clause carries selection rules rather than padding. It is dense — one long em-dash-chained sentence — which costs some readability, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema present, the description needn't explain return shape; it instead supplies the non-obvious selection logic for each vertical, which is exactly the missing context. It stops short of disambiguating the tool from its overlapping recommendation siblings, which is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema imposes no semantic burden and this dimension is baseline-adequate by construction. There is nothing for the description to disambiguate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific output (a daily 'what is worth watching tonight' card) and enumerates its components: one importance-scored main event plus one pick per vertical (TV, streaming, theater, cinema) and measured stats. It clearly distinguishes itself from search/detail siblings, but never names the overlapping recommendation siblings (tv_recommend_today, tv_get_prime_time, tv_important_today) that an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: it tells the agent this is the homepage-hero equivalent rendered as an interactive card in MCP Apps hosts, which is a genuine capability condition. However, there is no explicit when-to-use/when-not-to-use guidance and no routing to alternatives among the many tv_* recommendation siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
tv_concierge1 field changed- added
Input schema / properties / min_rating / descriptionAdded 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."
- Changed
tv_find_for_couple3 fields changed- added
Output schema / properties / requested_fairnessAdded value: +{ + "type": "string" +} - added
Output schema / properties / requested_min_scoreAdded value: +{ + "type": "number" +} - added
Output schema / properties / threshold_relaxedAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
tv_concierge1 field changed- added
Output schema / properties / best_by_sourceAdded value: +{ + "$ref": "#/properties/window" +}
1 tool update
- Changed
tv_now_on_tv1 field changed- changed
Input schema / properties / scope / descriptionPrevious value: -"main = 14 main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = every channel in the guide (the live count is in tv_tonight_card stats.channelsMonitored)"New value: +"main = the main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = every channel in the guide (the live count is in tv_tonight_card stats.channelsMonitored)"
1 tool update
- Changed
tv_now_on_tv1 field changed- changed
Input schema / properties / scope / descriptionPrevious value: -"main = 14 main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = all 254 channels"New value: +"main = 14 main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = every channel in the guide (the live count is in tv_tonight_card stats.channelsMonitored)"
1 tool update
- Added
tv_tonight_card
2 tool updates
- Changed
tv_concierge1 field changed- added
Output schema / properties / important_todayAdded value: +{ + "items": { + "$ref": "#/properties/window" + }, + "type": "array" +}
- Added
tv_important_today
12 tool updates
- First observed
tv_check_freshness - First observed
tv_compare_options - First observed
tv_concierge - First observed
tv_explain_recommendation - First observed
tv_find_for_couple - First observed
tv_get_prime_time - First observed
tv_get_title_details - First observed
tv_now_on_tv - First observed
tv_plan_evening - First observed
tv_recommend_by_mood - First observed
tv_recommend_today - First observed
tv_search_program
Related MCP Connectors
MCP server for meseriasi.ro, a Romanian homeowner-tradesperson marketplace.
TVMaze MCP — TV show metadata, episodes, schedules (no auth)
Read-only AutoID Romania MCP for product search, live stock/prices, specs, and technical support.
Public TV and radio catalogue with measured stream health, folders and M3U feeds for VLC.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that provides Danish TV guide data, enabling AI assistants to answer queries about TV schedules, channel listings, and programme searches.4MIT
- AlicenseAqualityCmaintenanceMCP server for searching, discovering, and exploring Chinese long-form video content from WeTV and Tencent Video, enabling AI assistants to recommend dramas, variety shows, anime, and movies with play links, ratings, and episode info.6MIT
- MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server with 36 tools for tracking TV shows and movies, managing watchlists, and syncing ratings with Trakt.tv. It enables users to search extensive databases, check into current viewings, and receive personalized recommendations through natural language commands.19 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.