Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

eu.madeinro/rotv-mcp

REMOTE · TV.MADEINRO.EU · SCANNED OCT 15

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

Available components

0 this week 86 Trust /100
Trust breakdown (7 categories)

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
Transport & Reachability100
Schema Quality & AI Usability78
  • 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 2858 tokens (~178/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
Install

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

# add to Claude Code
claude mcp add --transport http eu-madeinro-rotv-mcp 'https://tv.madeinro.eu/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "eu-madeinro-rotv-mcp": {
      "url": "https://tv.madeinro.eu/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "eu-madeinro-rotv-mcp": {
      "type": "http",
      "url": "https://tv.madeinro.eu/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.eu-madeinro-rotv-mcp]
url = "https://tv.madeinro.eu/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "eu-madeinro-rotv-mcp": {
      "type": "remote",
      "url": "https://tv.madeinro.eu/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add eu-madeinro-rotv-mcp --url 'https://tv.madeinro.eu/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  eu-madeinro-rotv-mcp:
    url: "https://tv.madeinro.eu/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "eu-madeinro-rotv-mcp": {
      "Transport": "http",
      "Url": "https://tv.madeinro.eu/mcp"
    }
  }
}
# add to Vellum
assistant mcp add eu-madeinro-rotv-mcp -t streamable-http -u 'https://tv.madeinro.eu/mcp'
// mcp.json
{
  "mcpServers": {
    "eu-madeinro-rotv-mcp": {
      "type": "http",
      "url": "https://tv.madeinro.eu/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

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.

  • 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
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 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
  • 31 Jul 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
  • 30 Jul 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
Diagnostics

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 15 Oct 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. present 35926 8 Verified
madeinro.eu. present 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
MCP tools · 14 exposed · ~2,745 tokens

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 →

Tool Tokens
tv_check_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).

NameTypeReqDescription
sourcestring–Optional filter for which source to report
NameTypeReqDescription
asked_at_utcstringyes–
freshnessobjectyes–
now_utcstringyes–
overall_stalebooleanyes–
sourcesobjectyes–
summarystringyes–

No examples provided.

tv_compare_options ~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.

NameTypeReqDescription
moodstring––
optionsarrayyesArray of 2-5 titles (string) or { title, channel? } objects to compare
preferarray––
upcoming_window_hoursinteger––
NameTypeReqDescription
asked_at_utcstringyes–
freshnessobjectyes–
moodstringyes–
mood_label_rostringyes–
optionsarrayyes–
winner–yes–

No examples provided.

tv_concierge ~690

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 singu…

NameTypeReqDescription
allow_pausesboolean––
duration_hoursnumber–Shorthand when window is absent; starts at now.
exclude_categoriesarray–Anti-noise filter (default: all four).
exclude_keywordsarray––
max_alternativesinteger––
min_ratingnumber–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…
moodstring–obosit | vesel | concentrat | romantic | familie | captivant (RO/EN aliases accepted)
preferarray––
risk_aversionstring–low = 3 alternatives, high = none
sourcesarray––
windowobject–Explicit window. Skips lookahead.
NameTypeReqDescription
alternativesarrayyes–
anti_noiseobjectyes–
asked_at_utcstringyes–
best_by_source–––
context–yes–
decisionobjectyes–
freshnessobjectyes–
important_todayarray––
lookahead–yes–
okbooleanyes–
reasonstring––
reasoningarrayyes–
sources_usedarrayyes–
windowobjectyes–

No examples provided.

tv_explain_recommendation ~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.

NameTypeReqDescription
channelstring–Optional channel id/name/alias to disambiguate
contextobject––
start_utcstring–Optional ISO start time to disambiguate
titlestringyesProgram title to explain
NameTypeReqDescription
alternatives_not_pickedarray––
confidencestring––
context–––
extracted_genresarray––
fresh_status–––
freshnessobjectyes–
okbooleanyes–
reasonstring––
score_breakdown–––
sources_usedarray––
streaming_xref–––
subjectobject––

No examples provided.

tv_find_for_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.

NameTypeReqDescription
fairnessstring––
include_streaming_xrefboolean––
limitinteger––
min_scorenumber––
person_aobjectyesPreferences for person A
person_bobjectyesPreferences for person B
timeframestring––
NameTypeReqDescription
asked_at_utcstringyes–
countnumberyes–
degradedbooleanyes–
fairnessstringyes–
freshnessobjectyes–
itemsarrayyes–
min_scorenumberyes–
person_aobjectyes–
person_b–yes–
requested_fairnessstring––
requested_min_scorenumber––
threshold_relaxedboolean––
timeframe_labelstringyes–
windowobjectyes–

No examples provided.

tv_get_prime_time ~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.

NameTypeReqDescription
datestring–today | tomorrow | YYYY-MM-DD (interpreted in Europe/Bucharest)
exclude_newsboolean––
scopestring––
NameTypeReqDescription
asked_at_utcstringyes–
channelsarrayyes–
countnumberyes–
datestringyes–
exclude_newsbooleanyes–
generated_atstring|null––
scopestringyes–
windowobjectyes–
window_localstringyes–

No examples provided.

tv_get_title_details ~142

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?".

NameTypeReqDescription
include_streamingboolean–Also look up the title in Netflix / HBO Max / Prime Video / Disney+ / Apple TV+ catalog for Romania
titlestringyesTitle to look up (case/diacritic-insensitive)
upcoming_window_hoursinteger–How far ahead (hours) to scan TV airings
NameTypeReqDescription
asked_at_utcstringyes–
streamingarrayyes–
streaming_countnumberyes–
summarystringyes–
title_querystringyes–
tv_airingsarrayyes–
tv_airings_countnumberyes–
upcoming_window_hoursnumberyes–

No examples provided.

tv_important_today ~195

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?".

NameTypeReqDescription
datestring–Day to scan, YYYY-MM-DD in Europe/Bucharest. Default: today.
limitinteger–Max number of events to return
min_tierinteger–1 = only major events (World Cup, Euro, Champions League, finals); 2 = also notable ones (national-team matches, knockout games)
NameTypeReqDescription
asked_at_utcstringyes–
countnumberyes–
datestringyes–
eventsarrayyes–
generated_atstring|null––
hintstringyes–
min_tiernumberyes–

No examples provided.

tv_now_on_tv ~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.

NameTypeReqDescription
categorystring–Filter by channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele
exclude_newsboolean–Drop channels whose category is "Știri" (Romanian news channels)
limitinteger–Max number of items to return
scopestring–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)
NameTypeReqDescription
asked_at_utcstringyes–
countnumberyes–
generated_atstring|null––
itemsarrayyes–
scopestringyes–

No examples provided.

tv_plan_evening ~225

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.

NameTypeReqDescription
allow_channel_switchboolean––
duration_mininteger––
max_gap_mininteger––
max_segmentsinteger––
moodstring––
preferarray––
startstring–Start time: "now" | "HH:MM" (Europe/Bucharest) | ISO instant
NameTypeReqDescription
alternativesarrayyes–
asked_at_utcstringyes–
duration_budget_minnumberyes–
end_utcstringyes–
freshnessobjectyes–
moodstringyes–
mood_label_rostringyes–
okbooleanyes–
planarrayyes–
reasonstring|null––
start_utcstringyes–
totalsobjectyes–

No examples provided.

tv_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.

NameTypeReqDescription
dislike_genresarray––
dislike_keywordsarray––
include_streaming_xrefboolean––
limitinteger––
moodstringyesMood: obosit | vesel | concentrat | romantic | familie | captivant (also accepts tired, happy, focused, family, thrilling, etc.)
preferarray–Additional channel-category preferences (additive boost)
timeframestring–now | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B"
NameTypeReqDescription
asked_at_utcstringyes–
countnumberyes–
freshnessobjectyes–
generated_atstring|null––
itemsarrayyes–
moodstringyes–
mood_label_rostringyes–
timeframe_labelstringyes–
windowobjectyes–

No examples provided.

tv_recommend_today ~132

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ă".

NameTypeReqDescription
exclude_newsboolean–Drop news channels and news programs
limitinteger––
preferarray–Preferred categories for ranking boost
timeframestring–now | tonight | primetime | tomorrow | weekend | today | YYYY-MM-DD | ISO range "A/B"
NameTypeReqDescription
asked_at_utcstringyes–
countnumberyes–
exclude_newsbooleanyes–
generated_atstring|null––
itemsarrayyes–
preferarrayyes–
timeframe_labelstringyes–
windowobjectyes–

No examples provided.

tv_search_program ~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".

NameTypeReqDescription
categorystring–Channel category: Generaliste | Știri | Sport | Filme & Seriale | Documentare | Copii | Muzică | Altele
channelstring–Channel id, display name, or alias (e.g. "PRO TV", "tv-pro-tv", "HBO")
exclude_newsboolean––
limitinteger––
querystring–Free text to match against program title (case/diacritic-insensitive)
timeframestring–Natural time reference: now | tonight | tomorrow | weekend | primetime | today | YYYY-MM-DD | ISO instant | ISO range "A/B"
NameTypeReqDescription
asked_at_utcstringyes–
countnumberyes–
generated_atstring|null––
itemsarrayyes–
timeframe_labelstringyes–
windowobjectyes–

No examples provided.

tv_tonight_card ~148

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).

Input schema present but exposes no named parameters.

NameTypeReqDescription
datestringyes–
decision–yes–
generated_atstring|nullyes–
page_urlstringyes–
railobjectyes–
stats–yes–

No examples provided.

Common questions

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 86 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 2,745 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 15 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.