Romanian TV guide MCP: live listings, prime time, title search, streaming info, recommendations.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Read-only Model Context Protocol server for tv.madeinro.eu β Romanian TV guide, streaming catalog and an entertainment concierge, exposed as 14 tools to any MCP-compatible client (Claude, ChatGPT, or your own agent) β including an MCP Apps visual tonight-card.
Live endpoint: https://tv.madeinro.eu/mcp Β· no auth Β· streamable HTTP
Registry: eu.madeinro/rotv-mcp (official MCP registry)
Human-readable overview: tv.madeinro.eu/mcp/help
No installation, no key β talk to the live server directly:
As an MCP client (e.g. Claude Code):
All tools are read-only and declare the standard MCP annotations
(readOnlyHint: true), so well-behaved clients can run them without
per-call confirmation. Time references accepted throughout: now, tonight,
tomorrow, weekend, primetime, or ISO 8601 instant/range.
| Tool | What it does |
|---|---|
tv_now_on_tv | What's on right now β the 14 main Romanian channels or all ~258 |
tv_search_program | Search the schedule by keywords and timeframe |
tv_get_prime_time | Tonight's 20:00β23:00 (Europe/Bucharest) lineup, grouped by channel |
tv_recommend_today | Ranked picks for today (channel quality, timing, preferences) |
tv_get_title_details | One title across TV airings + streaming providers |
| Tool | What it does |
|---|---|
tv_recommend_by_mood | Ranked list matched to a mood (obosit / vesel / concentrat / romantic / familie / captivant) |
tv_plan_evening | A full evening plan across TV + streaming |
tv_compare_options | Side-by-side trade-offs between candidate picks |
tv_find_for_couple | Picks that satisfy two different moods at once |
tv_explain_recommendation | Transparent scoring breakdown for any candidate |
tv_check_freshness | How fresh the underlying EPG/streaming data is |
| Tool | What it does |
|---|---|
tv_concierge | One decision, not a list. A single primary pick for your free-time window with a confidence % and full reasoning, plus up to 3 diverse alternatives with explicit trade-offs. Built-in anti-noise filter (news/politics/reality), title dedup, opportunity-cost lookahead β and event awareness (below). |
tv_important_today | What actually matters today: World Cup / Euro / Champions League matches, finals, knockout games, Romania's team and clubs. Every event ships with quoted evidence from the EPG text. |
| Tool | What it does |
|---|---|
tv_concierge (card since v3.3) | The concierge decision above also renders as a visual card (ui://rotv/concierge-card): the single primary pick with channel/platform, local time, disclosed confidence and reasoning, the important-event banner, and the alternatives with their explicit trade-offs. |
tv_tonight_card | Tonight's picks as a visual card. The daily 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), cinema (box office β© today's screenings) β and measured stats. Declares _meta.ui.resourceUri β ui://rotv/tonight-card; hosts supporting the MCP Apps extension (Claude, ChatGPT, VS Code, Goose) render it as an interactive card in a sandboxed iframe, everyone else gets the same structured JSON. |
Romanian EPG data is diffuse: every program's genre is literally "General",
descriptions are often empty, and a World Cup knockout match can appear as just
"Fotbal World Cup". There is no structured field that says "this matters".
So importance is detected from real text, with quoted evidence (src/lib/importance.mjs):
Every result carries reasons[] quoting the text that matched β the detector
never claims more than the data supports. The same signal feeds
tv_concierge as an event_importance confidence axis, so a description-less
World Cup match no longer loses to a well-tagged filler movie, and every
concierge answer lists tier-1 events in an important_today field even when
the mood-based pick is something else.
enableJsonResponse) β one McpServer +
transport per POST; safe behind any proxy/tunnel.epg-normalized.json β ~258 TV channels, β6h to +72h, ISO 8601 UTCepg-homepage.json β 15 main channels, β2h to +36hstreaming-full.json β Netflix / HBO Max / Prime / Disney+ / Apple TV+ catalogsROTV_DATA_DIR.{evt:"tool", tool, ms, ok, q:{β¦}}) to stdout for log analysis.Requires Node β₯ 24 and the rotv-guide data artifacts.
Production runs under pm2 behind a Cloudflare tunnel β the path-based ingress
rule routes tv.madeinro.eu/mcp/* to localhost:3010, above the catch-all of
the main site:
MIT Β© 2026 Marian Matinca. The live server surfaces data from public EPG sources, refreshed automatically by the rotv-guide pipeline.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/rotv-mcp-3)<a href="https://allmcps.com/mcp/rotv-mcp-3"><img src="https://allmcps.com/api/badge/rotv-mcp-3?style=directory" alt="Rotv Mcp on AllMCPs" /></a>