Bitflix – MCP Apps Example Application for Video Bitmovin released Bitflix, a fictional streaming network reference implementation built as an MCP App on the Skybridge React framework, letting users browse, get recommendations and watch video by talking to ChatGPT or Claude. The app exposes five tools — browse_catalog, get_recommendations, whats_live, play_title and run_diagnostics — each bound to a view via registerTool({ view: { component } }), with playback handled by the Bitmovin Player and a Diagnostics view probing host sandbox support for MSE, EME/DRM key systems (Widevine, PlayReady, FairPlay, ClearKey), Web Workers, WebAssembly, fullscreen, Picture-in-Picture, casting and autoplay. All streams are public test assets: VoD plays HLS and DASH 'Art of Motion' content on cdn.bitmovin.com, and live plays the DASH-IF livesim2 stream, with the widget sandboxed by a VIEW_CSP allow-list in src/server.ts. Bitflix is a fictional streaming network sports · news · films · originals shipped as an MCP App https://modelcontextprotocol.io . You open it, browse it, get recommendations, and watch, all by talking to ChatGPT or Claude. It's a reference implementation, and a working answer to: What does an online video platform need to be when the "app" is a conversation and the UI is generated on the fly? Bitflix is built on the Skybridge https://github.com/alpic-ai/skybridge React framework for MCP Apps, so you can run it in the local playground, expose it through a dev tunnel, or deploy it to a permanent URL. The Bitmovin Player https://bitmovin.com/video-player/ handles video playback directly in the chat widget. src/ ├── catalog.ts content: titles, public test streams, sections, search/recommend ├── index.ts entry point: runs the app ├── server.ts Skybridge app + 5 tools, CSP ├── env.ts typed env BITMOVIN PLAYER KEY ├── helpers.ts generateHelpers