rotv-mcp
Provides access to Apple TV+'s streaming catalog within the Romanian TV guide, enabling search and recommendations across Apple TV+ content.
Provides access to HBO Max's streaming catalog within the Romanian TV guide, enabling search and recommendations across HBO Max content.
Provides access to Netflix's streaming catalog within the Romanian TV guide, enabling search and recommendations across Netflix content.
Provides access to Amazon Prime Video's streaming catalog within the Romanian TV guide, enabling search and recommendations across Prime Video content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rotv-mcpwhat's on TV right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rotv-mcp
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
Quick start
No installation, no key — talk to the live server directly:
# What's important on Romanian TV today? (World Cup, finals, Romania playing…)
curl -X POST https://tv.madeinro.eu/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
"name":"tv_important_today","arguments":{}}}'
# Decide for me: I have 2 free hours tonight
curl -X POST https://tv.madeinro.eu/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
"name":"tv_concierge","arguments":{"duration_hours":2,"mood":"captivant"}}}'As an MCP client (e.g. Claude Code):
claude mcp add --transport http rotv https://tv.madeinro.eu/mcpRelated MCP server: greenroom
Tools
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.
Core EPG (v1)
Tool | What it does |
| What's on right now — the 14 main Romanian channels or all ~258 |
| Search the schedule by keywords and timeframe |
| Tonight's 20:00–23:00 (Europe/Bucharest) lineup, grouped by channel |
| Ranked picks for today (channel quality, timing, preferences) |
| One title across TV airings + streaming providers |
Decision layer (v2)
Tool | What it does |
| Ranked list matched to a mood (obosit / vesel / concentrat / romantic / familie / captivant) |
| A full evening plan across TV + streaming |
| Side-by-side trade-offs between candidate picks |
| Picks that satisfy two different moods at once |
| Transparent scoring breakdown for any candidate |
| How fresh the underlying EPG/streaming data is |
Concierge (v3)
Tool | What it does |
| 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). |
| 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. |
MCP Apps (v3.2+)
Tool | What it does |
| The concierge decision above also renders as a visual 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 |
The importance layer
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):
Tier 1 — major: World Cup / Euro / Champions League / Olympics / Grand Slams / finals in the title
Tier 2 — notable: country-vs-country fixtures ("Spania - Belgia"), competition mentions in descriptions
Boosts: Romania playing (national team or clubs in European cups), knockout stages, mainstream national channel
Demotions: recaps, studio/practice shows, broadcasts too short to be the live event
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.
Architecture
MCP client ── POST /mcp (streamable HTTP, stateless: fresh server per request)
│
express (loopback :3010)
access log → rate limit (60 rpm) → optional bearer auth
│
14 tools over in-memory EPG/streaming caches
+ 2 MCP Apps UI resources (tonight-card · concierge-card)
│
JSON artifacts produced by the rotv-guide pipeline
(epg-normalized.json · epg-homepage.json · streaming-full.json
· tonight-picks.json)
hot-reloaded via fs.watch (debounced 750 ms)Stateless streamable HTTP (
enableJsonResponse) — oneMcpServer+ transport per POST; safe behind any proxy/tunnel.Data (read-only, produced by the rotv-guide pipeline, never modified by this service):
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+ catalogsPaths configurable via
ROTV_DATA_DIR.
Telemetry: every tool call logs one JSON line (
{evt:"tool", tool, ms, ok, q:{…}}) to stdout for log analysis.
Running it yourself
Requires Node ≥ 24 and the rotv-guide data artifacts.
cp .env.example .env # PORT, RATE_LIMIT_RPM, optional MCP_AUTH_TOKEN
npm install
ROTV_DATA_DIR=/path/to/rotv-guide/public/data npm startProduction 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:
pm2 start ecosystem.config.cjs && pm2 save
curl https://tv.madeinro.eu/mcp/healthTests
node --test test/importance.test.mjs # importance detector, 12 cases
npm run smoke # 26 end-to-end JSON-RPC checks
BASE=https://tv.madeinro.eu npm run smoke # same suite against productionLicense
MIT © 2026 Marian Matinca. The live server surfaces data from public EPG sources, refreshed automatically by the rotv-guide pipeline.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables interaction with Red Bee Media OTT streaming platform, providing 33 tools for authentication, content search, playback, user management, purchases, and EPG operations across movies, TV shows, and live channels.MIT
- FlicenseAqualityBmaintenanceAn entertainment recommender MCP server that integrates with TMDB to help agents discover films and television shows based on genre, release year, and language. It also includes utilities for comparing multi-agent LLM responses and analyzing entertainment industry data.6
- AlicenseNot gradedqualityBmaintenanceA comprehensive MCP server with 36 tools for tracking TV shows and movies, managing watchlists, and syncing ratings with Trakt.tv. It enables users to search extensive databases, check into current viewings, and receive personalized recommendations through natural language commands.193MIT
- FlicenseAqualityDmaintenanceAn MCP server that wraps The Movie Database (TMDB) API, enabling search for movies and TV shows, retrieval of movie details, recommendations, similar movies, trending content, streaming providers, and movie discovery.8
Related MCP Connectors
Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marian5070/rotv.mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server