The second case study in the series about the four applications built for the OpenAI ecosystem. If Când Reciclăm was about honesty in data, RoTV Guide is about something else: how you teach a model to choose correctly among 14 tools, and how you keep data fresh when it expires by the hour. This is not a study about television — it's a study about AI orchestration.
At a glance
- 14 public MCP tools (in three waves of evolution) + 4 WebMCP tools running directly in the browser
- 260 TV channels, ~26,000 programs in the current schedule window, automatically refreshed several times a day
- 4 verticals in one portal: TV, streaming, cinema, theater
- Freshness is verifiable: a dedicated tool tells anyone how recent the data is
- The first app in the series submitted to the OpenAI review (July 16, 2026, in review) · MCP server in the official registry · agent-readiness score 79/100
The problem
Romanian entertainment information was scattered across dozens of sites: TV listings in one place, streaming charts in another, cinemas and theaters on their own websites. And for AI agents, all of it was completely invisible: a model asked "what's worth watching tonight on Romanian TV?" had no way to know — and would answer anyway, making it up.
Why existing solutions weren't enough
Classic TV guides are built for browsing, not for asking. They show you the grid — but they don't answer the real question, which is almost never "what's on channel X at hour Y?", but "what should I watch tonight?", "is anything important on today?", "what do we both pick?". And there was no bridge between verticals: nobody compared the movie on TV with what entered this week's streaming chart or what's playing in cinemas.
Objectives
- One portal for TV, streaming, cinema and theater — with data that updates itself.
- Built for the agentic web from day one: the same data accessible to humans (the website) and to AI agents (MCP, WebMCP, structured data).
- From question to decision: not just "what's on TV now", but recommendations with criteria, comparisons and, at the limit, "you choose for me".
- Guaranteed, verifiable freshness — in a domain where yesterday's data is already useless.
The architecture
Three layers, one source of truth:
- Collection and normalization: TV listings for hundreds of channels, the streaming platforms' official charts, cinema and theater programs — heterogeneous formats, automatically normalized into a single data model, published as a rolling window of a few days.
- The website (tv.madeinro.eu): the guide for humans — on TV now, prime time, recommendations, cinema, theater.
- The agentic layer: a public MCP server with 14 tools reads exactly the same published data as the website; additionally, 4 WebMCP tools run directly in the browser (an experimental Chrome standard), and a REST layer with API keys opens the same data to any other kind of client.
As with Când Reciclăm, the principle is unchanged: there are no different versions of the truth. The website and the agents read the same data.
Why MCP and not a classic chatbot?
For a TV guide, the answer has an extra nuance compared to the previous study. It's not only that the application goes where users already are — a conversational TV guide is, by its nature, an orchestration exercise: "what should I watch with my partner tonight, something relaxing, not too long?" requires understanding preferences, filtering the current schedule and making an argued recommendation. The model does the reasoning; the tools give it the real raw material — today's schedule, not the one from its training data. Without tools, any model will "recommend" shows that don't exist or ended long ago.
The complete flow
User
│ "I don't know what to watch tonight. You choose."
▼
ChatGPT
│ picks the right tool out of 14
▼
MCP server — 14 tools, 3 waves of evolution
│ tv_concierge: criteria + current schedule → argued decision
▼
The guide's published data
│ 260 channels · ~26,000 programs · rolling window
▲
│ automatic refresh, several times a day
Public and official sources
(TV listings · streaming charts · cinema · theater)
The 14 tools arrived in three waves, and their evolution is the story of the product:
- Wave 1 — questions: what's on TV now, search a program, prime time, details about a title.
- Wave 2 — taste: recommend by mood, plan an evening, compare options, find something for two, explain why you recommended this, how fresh is the data.
- Wave 3 — decision:
tv_concierge("you decide for me"), what's important today, the visual card of the evening.
From "what's on TV?" to "you choose" — the road from a guide that informs to an assistant that decides.

The challenges
- Perishable data: a TV guide expires continuously — what was valid in the morning is history by evening. The solution: automatic refresh several times a day, a rolling schedule window, and a public freshness tool so any agent can tell the user how recent the data is.
- Normalization: hundreds of channels, different formats, inconsistent titles across sources. Everything is automatically brought to a single data model — that alone is what makes cross-vertical comparisons possible.
- Choosing the right tool out of 14: with this many tools, the risk is that the model picks the wrong one. The antidote was design: each tool does exactly one thing, and its name and description say precisely what —
tv_now_on_tvcannot be confused withtv_plan_evening. - Trust in recommendations: a recommendation without an explanation is an order. A dedicated tool explains the criteria behind every suggestion.
- Visual answers in chat: for the "card of the evening", the server also delivers visual interfaces (MCP-Apps), not just text — where the client supports them.
The key technical decisions
- The same published data for everyone — the website and all agentic layers read the same data artifacts; zero divergence.
- 14 narrow tools instead of one universal tool — tool selection is a product-design problem, not a prompting problem: the right granularity makes the model's choice almost impossible to get wrong.
- Freshness as a public feature — not a marketing promise, but a tool anyone can call.
- Three agentic access paths — MCP for conversational clients, WebMCP for in-browser agents, REST with API keys for classic integrations. Same source, any client.
- Read-only, no account — the guide informs and recommends; it asks for nothing.
- Visible incremental evolution — waves 1→2→3 shipped one at a time, each on the foundation of the previous one, without breaking anything that existed.
The result
RoTV Guide is today the first Romanian TV guide built for the agentic web: 260 channels and ~26,000 programs in the current window, plus streaming, cinema and theater, in one portal — tv.madeinro.eu. The MCP server is public, listed in the official MCP registry, with an agent-readiness score of 79/100 (12 of 14 checks). On July 16, 2026 it was the first of the four applications submitted to the OpenAI review for the ChatGPT catalog — where it currently is. The oldest application in the series (started in December 2025 as a classic TV guide) became, in July, the laboratory where the agentic architecture later used by all the others took shape.
What would I improve in the next version?
- Persistent personalization: an optional taste profile, so recommendations pick up where they left off — today every conversation starts from zero.
- Visual cards everywhere: extending visual answers beyond the "card of the evening" as MCP clients support them.
- Agent-style notifications: "the show you follow starts in 15 minutes" — the step from a reactive assistant to a proactive one.
- Finer vertical coverage: more sources for theater and cinema, where the local offer is fragmented.
---
This case study is part of a series on building AI applications for the OpenAI ecosystem. Previous episode: Când Reciclăm. Coming up: Digital Compass and Travel Trends. The context for the whole story: AI adoption is a delivery discipline.