eu.madeinro/rotv-mcp
REMOTE · TV.MADEINRO.EU
Romanian TV guide MCP: live listings, prime time, search, recommendations, MCP Apps tonight card.
Available components
Last scanned (6 hours ago)
Scores higher than 91% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Entertainment and Games
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security77
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3165 tokens (~197/item across 16 items; 14 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage87
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 55% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Checks we ran (14)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
- Capabilities
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Stability: 0.97 → pass security
- 4 Nov 26 0
- Stability: pass → 0.97 functional
- 1 Nov 26 −1
- Tool “tv_important_today” rewrote its description, which is the text the model reads security
- Tool “tv_plan_evening” rewrote its description, which is the text the model reads security
- Tool “tv_recommend_today” rewrote its description, which is the text the model reads security
- “tv_plan_evening” added an optional parameter “exclude_categories” cosmetic
- “tv_important_today” reworded the description of “min_tier” cosmetic
- 31 Oct 26 0
- Tool “tv_concierge” rewrote its description, which is the text the model reads security
- Tool “tv_get_title_details” rewrote its description, which is the text the model reads security
- Tool “tv_tonight_card” rewrote its description, which is the text the model reads security
- “tv_get_title_details” reworded the description of “include_streaming” cosmetic
- 2 Oct 26 0
- Tool “tv_plan_evening” rewrote its description, which is the text the model reads security
- Tool “tv_concierge” rewrote its description, which is the text the model reads security
- Tool “tv_find_for_couple” rewrote its description, which is the text the model reads security
- Tool “tv_important_today” rewrote its description, which is the text the model reads security
- Tool “tv_now_on_tv” rewrote its description, which is the text the model reads security
- Tool “tv_search_program” rewrote its description, which is the text the model reads security
- Tool “tv_tonight_card” rewrote its description, which is the text the model reads security
- Schema quality: 154 → 178 ▼ functional
- “tv_concierge” reworded the description of “min_rating” cosmetic
- “tv_now_on_tv” reworded the description of “scope” cosmetic
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://tv.madeinro.eu/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=madeinro.eu | CN=YE1,O=Let's Encrypt,C=US | 26 Sept 2026 | 25 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 5ef3ef429a4bf34ea91a583ab02934fcdf4 |
| SANs: *.madeinro.eu, madeinro.eu | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of tv.madeinro.eu. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| eu. | DS published | 35926 | 8 | Verified |
| madeinro.eu. | DS published | 2371 | 13 | Verified |
| tv.madeinro.eu. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://tv.madeinro.eu/mcp | Verified | 200 | |
| http (plaintext) | http://tv.madeinro.eu/mcp | HTTPS enforced | 301 | https://tv.madeinro.eu/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
tv_check_freshness Check data freshness ~77
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 | Type | Req | Description |
|---|---|---|---|
| source | string | – | Optional filter for which source to report |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| freshness | object | yes | – |
| now_utc | string | yes | – |
| overall_stale | boolean | yes | – |
| sources | object | yes | – |
| summary | string | yes | – |
No examples provided.
tv_compare_options Compare TV options side-by-side ~108
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 | Type | Req | Description |
|---|---|---|---|
| mood | string | – | – |
| options | array | yes | Array of 2-5 titles (string) or { title, channel? } objects to compare |
| prefer | array | – | – |
| upcoming_window_hours | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| freshness | object | yes | – |
| mood | string | yes | – |
| mood_label_ro | string | yes | – |
| options | array | yes | – |
| winner | – | yes | – |
No examples provided.
tv_concierge Personal Entertainment Concierge — decide for me ~683
You have a window of free time — decide for me what to watch right now. Returns ONE primary decision (TV program OR streaming title) with confidence percentage, plus best_by_source when both TV and streaming were considered (the best TV airing in the window next to the best catalog title — present both to the user when gap_pct is small, since streaming is available any time and TV only now), full reasoning breakdown, and up to 3 diverse alternatives with explicit trade-offs (pros/cons, reason not picked). Picks across live Romanian TV EPG AND streaming catalog (Netflix, HBO Max, Disney+, Prime Video). Built-in anti-noise filter automatically removes news, political talk, reality shows, talk-shows (NO manual filtering needed by the model). Built-in title dedup (repeat airings of the same title are collapsed to one candidate). Built-in opportunity-cost lookahead (flags better options just outside the window). Event-aware: major broadcasts (World Cup / Euro / Champions League / finals) get an importance boost in ranking AND are always listed in the important_today field, even when the mood-based pick is something else — for questions like "what is important today?", prefer tv_important_today. PREFER THIS TOOL over tv_recommend_by_mood and tv_recommend_today whenever the user wants ONE answer / a single decision — those tools return ranked LISTS for browsing, this tool returns a DECISION. It returns exactly ONE pick and leaves the rest of the window as a pause: when the user wants the whole window FILLED with several programmes in sequence ("plan my evening", "ce văd toată seara", "fă-mi un program pentru 20–24", a TV window of 3+ hours), use tv_plan_evening instead. Routes any mood internally (obosit / vesel / concentrat / romantic / familie / captivant + EN aliases tired/happy/focused/romantic/family/thrilling). Trigger phrases: "what should I do", "decide for me", "pick for me", "I have X hours", "ce să fac", "am 2 ore", "alege tu", "mood X durată Y", "o singură dec…
| Name | Type | Req | Description |
|---|---|---|---|
| allow_pauses | boolean | – | – |
| duration_hours | number | – | Shorthand when window is absent; starts at now. |
| exclude_categories | array | – | Anti-noise filter (default: all four). |
| exclude_keywords | array | – | – |
| max_alternatives | integer | – | – |
| min_rating | number | – | 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 rat… |
| mood | string | – | obosit | vesel | concentrat | romantic | familie | captivant (RO/EN aliases accepted) |
| prefer | array | – | – |
| risk_aversion | string | – | low = 3 alternatives, high = none |
| sources | array | – | – |
| window | object | – | Explicit window. Skips lookahead. |
| Name | Type | Req | Description |
|---|---|---|---|
| alternatives | array | yes | – |
| anti_noise | object | yes | – |
| asked_at_utc | string | yes | – |
| best_by_source | – | – | – |
| context | – | yes | – |
| decision | object | yes | – |
| freshness | object | yes | – |
| important_today | array | – | – |
| lookahead | – | yes | – |
| ok | boolean | yes | – |
| reason | string | – | – |
| reasoning | array | yes | – |
| sources_used | array | yes | – |
| window | object | yes | – |
No examples provided.
tv_explain_recommendation Explain why a program was recommended ~123
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 | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Optional channel id/name/alias to disambiguate |
| context | object | – | – |
| start_utc | string | – | Optional ISO start time to disambiguate |
| title | string | yes | Program title to explain |
| Name | Type | Req | Description |
|---|---|---|---|
| alternatives_not_picked | array | – | – |
| confidence | string | – | – |
| context | – | – | – |
| extracted_genres | array | – | – |
| fresh_status | – | – | – |
| freshness | object | yes | – |
| ok | boolean | yes | – |
| reason | string | – | – |
| score_breakdown | – | – | – |
| sources_used | array | – | – |
| streaming_xref | – | – | – |
| subject | object | – | – |
No examples provided.
tv_find_for_couple Find content for a couple ~193
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 | Type | Req | Description |
|---|---|---|---|
| fairness | string | – | – |
| include_streaming_xref | boolean | – | – |
| limit | integer | – | – |
| min_score | number | – | – |
| person_a | object | yes | Preferences for person A |
| person_b | object | yes | Preferences for person B |
| timeframe | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| count | number | yes | – |
| degraded | boolean | yes | – |
| fairness | string | yes | – |
| freshness | object | yes | – |
| items | array | yes | – |
| min_score | number | yes | – |
| person_a | object | yes | – |
| person_b | – | yes | – |
| requested_fairness | string | – | – |
| requested_min_score | number | – | – |
| threshold_relaxed | boolean | – | – |
| timeframe_label | string | yes | – |
| window | object | yes | – |
No examples provided.
tv_get_prime_time Prime-time TV lineup ~101
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 | Type | Req | Description |
|---|---|---|---|
| date | string | – | today | tomorrow | YYYY-MM-DD (interpreted in Europe/Bucharest) |
| exclude_news | boolean | – | – |
| scope | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| channels | array | yes | – |
| count | number | yes | – |
| date | string | yes | – |
| exclude_news | boolean | yes | – |
| generated_at | string|null | – | – |
| scope | string | yes | – |
| window | object | yes | – |
| window_local | string | yes | – |
No examples provided.
tv_get_title_details Lookup a title across TV and streaming ~135
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+). Use for queries like "is Avatar on Netflix?", "when does Game of Thrones air next?".
| Name | Type | Req | Description |
|---|---|---|---|
| include_streaming | boolean | – | Also look up the title in Netflix / HBO Max / Prime Video / Disney+ catalog for Romania |
| title | string | yes | Title to look up (case/diacritic-insensitive) |
| upcoming_window_hours | integer | – | How far ahead (hours) to scan TV airings |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| streaming | array | yes | – |
| streaming_available_count | number | yes | – |
| streaming_count | number | yes | – |
| summary | string | yes | – |
| title_query | string | yes | – |
| tv_airings | array | yes | – |
| tv_airings_count | number | yes | – |
| upcoming_window_hours | number | yes | – |
No examples provided.
tv_important_today Today's important broadcasts (major events) ~245
What actually matters on Romanian TV today: World Cup / Euro / Champions League matches, finals, knockout games, national-team fixtures, named club derbies (tier 1) and matches between two listed top clubs (UEFA 5-year ranking top 40, Liga I champions in SuperLiga; tier 2). 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 | Type | Req | Description |
|---|---|---|---|
| date | string | – | Day to scan, YYYY-MM-DD in Europe/Bucharest. Default: today. |
| limit | integer | – | Max number of events to return |
| min_tier | integer | – | 1 = only major events (World Cup, Euro, Champions League, finals, named club derbies); 2 = also notable ones (national-team matches, knockout games, matches between two listed top clubs) |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| count | number | yes | – |
| date | string | yes | – |
| events | array | yes | – |
| generated_at | string|null | – | – |
| hint | string | yes | – |
| min_tier | number | yes | – |
| omitted_replays | number | – | – |
No examples provided.
tv_now_on_tv What is on TV right now ~186
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 | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter by channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele |
| exclude_news | boolean | – | Drop channels whose category is "Știri" (Romanian news channels) |
| limit | integer | – | Max number of items to return |
| scope | string | – | 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) |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| count | number | yes | – |
| generated_at | string|null | – | – |
| items | array | yes | – |
| scope | string | yes | – |
No examples provided.
tv_plan_evening Plan an evening ~393
Builds a TV watching plan for a window of time — either one long programme or 2-3 consecutive programmes with small gaps, ordered as a timeline. Relevance comes before coverage: only programmes scoring at least max(2, 60% of the best score in the window) are used, the same anti-noise filter as tv_concierge applies (reality / talk-show / politics / news, configurable), and uncovered minutes are reported in totals.unfilled_min + unfilled_reason, with totals.unfilled_gaps giving each gap and its actual cause (start of window before the first programme, pause between programmes, end-of-window remainder below the 30-min minimum slot, max_segments reached, or nothing above the relevance floor fitting) instead of being filled; segments running past the window carry overflow_min. Use it when the user wants a schedule for the whole evening or a long window (3+ hours) rather than a single pick: "plan my evening", "ce văd toată seara", "fă-mi un program pentru 20–24". TV only (live Romanian EPG, no streaming titles); for ONE decision that may also be a streaming title, use tv_concierge. Accepts start time, duration budget, mood, and channel preferences. Output: ordered timeline + alternatives dropped + totals.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_channel_switch | boolean | – | – |
| duration_min | integer | – | – |
| exclude_categories | array | – | Anti-noise filter, same as tv_concierge (default: politica, reality, talkshow, stiri). Pass [] to allow them. |
| max_gap_min | integer | – | – |
| max_segments | integer | – | – |
| mood | string | – | – |
| prefer | array | – | – |
| start | string | – | Start time: "now" | "HH:MM" (Europe/Bucharest) | ISO instant |
| Name | Type | Req | Description |
|---|---|---|---|
| alternatives | array | yes | – |
| anti_noise | – | – | – |
| asked_at_utc | string | yes | – |
| duration_budget_min | number | yes | – |
| end_utc | string | yes | – |
| freshness | object | yes | – |
| mood | string | yes | – |
| mood_label_ro | string | yes | – |
| ok | boolean | yes | – |
| plan | array | yes | – |
| reason | string|null | – | – |
| relevance | – | – | – |
| start_utc | string | yes | – |
| totals | object | yes | – |
No examples provided.
tv_recommend_by_mood Recommend by mood ~196
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 | Type | Req | Description |
|---|---|---|---|
| dislike_genres | array | – | – |
| dislike_keywords | array | – | – |
| include_streaming_xref | boolean | – | – |
| limit | integer | – | – |
| mood | string | yes | Mood: obosit | vesel | concentrat | romantic | familie | captivant (also accepts tired, happy, focused, family, thrilling, etc.) |
| prefer | array | – | Additional channel-category preferences (additive boost) |
| timeframe | string | – | now | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B" |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| count | number | yes | – |
| freshness | object | yes | – |
| generated_at | string|null | – | – |
| items | array | yes | – |
| mood | string | yes | – |
| mood_label_ro | string | yes | – |
| timeframe_label | string | yes | – |
| window | object | yes | – |
No examples provided.
tv_recommend_today Recommend something to watch on Romanian TV ~185
Returns up to N ranked program recommendations for a given timeframe. Uses a deterministic scorer that rewards films / documentaries / generalist channels, penalises news, boosts programs starting within the next hour, and, between items with equal score, puts first the one whose IMDb rating (as declared by the TV guide) is higher relative to its category median (rating_signal; the rating never changes the score). Items with equal score carry tie_break saying what decided their order. Use for queries like "recommend me something for tonight", "ce e bun la TV diseară".
| Name | Type | Req | Description |
|---|---|---|---|
| exclude_news | boolean | – | Drop news channels and news programs |
| limit | integer | – | – |
| prefer | array | – | Preferred categories for ranking boost |
| timeframe | string | – | now | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B" |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| count | number | yes | – |
| exclude_news | boolean | yes | – |
| generated_at | string|null | – | – |
| items | array | yes | – |
| prefer | array | yes | – |
| ranking | object | – | – |
| timeframe_label | string | yes | – |
| window | object | yes | – |
No examples provided.
tv_search_program Search Romanian TV programs ~229
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 | Type | Req | Description |
|---|---|---|---|
| category | string | – | Channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele |
| channel | string | – | Channel id, display name, or alias (e.g. "PRO TV", "tv-pro-tv", "HBO") |
| exclude_news | boolean | – | – |
| limit | integer | – | – |
| query | string | – | Free text to match against program title (case/diacritic-insensitive) |
| timeframe | string | – | Natural time reference: now | tonight | tomorrow | weekend | primetime | today | YYYY-MM-DD | ISO instant | ISO range "A/B" |
| Name | Type | Req | Description |
|---|---|---|---|
| asked_at_utc | string | yes | – |
| channel_match | object | – | – |
| count | number | yes | – |
| generated_at | string|null | – | – |
| items | array | yes | – |
| timeframe_label | string | yes | – |
| window | object | yes | – |
No examples provided.
tv_tonight_card Tonight's picks — visual card (MCP Apps) ~198
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 at every EPG refresh. `date_is_today` compares `date` with the current calendar date in Romania: false means the card still carries the previous day's picks (not regenerated since local midnight); freshness.stale is then true and freshness.warning says so. In MCP Apps-capable hosts this renders as an interactive card (ui://rotv/tonight-card).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
| date_is_today | boolean | yes | – |
| decision | – | yes | – |
| freshness | object | yes | – |
| generated_at | string|null | yes | – |
| page_url | string | yes | – |
| rail | object | yes | – |
| stats | – | yes | – |
No examples provided.
How do I install the eu.madeinro/rotv-mcp server?
eu.madeinro/rotv-mcp is a hosted endpoint at https://tv.madeinro.eu/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · tv.madeinro.eu
claude mcp add --transport http eu-madeinro-rotv-mcp 'https://tv.madeinro.eu/mcp'
What is the eu.madeinro/rotv-mcp server?
eu.madeinro/rotv-mcp is listed in the public MCP registry as eu.madeinro/rotv-mcp. Romanian TV guide MCP: live listings, prime time, search, recommendations, MCP Apps tonight card. This page covers its hosted endpoint (https://tv.madeinro.eu/mcp).
Is the eu.madeinro/rotv-mcp server safe to use?
eu.madeinro/rotv-mcp scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the eu.madeinro/rotv-mcp server expose?
eu.madeinro/rotv-mcp exposes 14 tools: tv_now_on_tv, tv_search_program, tv_get_prime_time, tv_recommend_today, tv_get_title_details, and 9 more. Their descriptions and schemas cost roughly 3,052 tokens of context every time the server is loaded.
Does the eu.madeinro/rotv-mcp server require authentication?
No. We connected to eu.madeinro/rotv-mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the eu.madeinro/rotv-mcp server still maintained?
eu.madeinro/rotv-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the eu.madeinro/rotv-mcp server?
VerifyMCP ran 14 checks on eu.madeinro/rotv-mcp, covering TLS certificate, Authorization, HTTPS, HSTS header and 10 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.