rotv-mcp
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.
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.
Tool Definition Quality
Average 4.3/5 across 14 of 14 tools scored.
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.
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.
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.
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 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 |
Tool Definition Quality
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 |
Tool Definition Quality
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, 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".
| 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 | ||
| 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 | |
| important_today | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 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 |
Tool Definition Quality
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). 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.
| 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 |
Tool Definition Quality
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.
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.
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.
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.
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.
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 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 |
Tool Definition Quality
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 |
Tool Definition Quality
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. 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 |
Tool Definition Quality
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.
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.
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.
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.
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.
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 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 14 main channels; pass scope="all" for the full 254-channel list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of items to return | |
| scope | No | main = 14 main Romanian channels (PRO TV, Antena 1, Kanal D, TVR 1/2, Digi 24, etc.); all = all 254 channels | 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 |
Tool Definition Quality
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.
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.
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.
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.
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.
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 eveningARead-onlyIdempotentInspect
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.
| 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 |
Tool Definition Quality
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.
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.
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.
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.
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.
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 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 |
Tool Definition Quality
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 |
Tool Definition Quality
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 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".
| 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 |
Tool Definition Quality
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.
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.
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.
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.
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.
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)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 (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).
| 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 |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.