vibetv
Provides tools for discovering and controlling Android TV-based devices (including Google TV and Fire TV): take screenshots, send remote key presses, type text, read logs, deploy and install apps, apply reversible system tweaks, and set custom launchers or screensavers.
Supports Google TV devices with discovery, screenshots, remote key input, live reload, deployment, and reversible system tweaks.
Enables discovery of Roku TVs, taking screenshots from a dev channel, sending remote key presses, and deploying or sideloading Roku channels over Wi-Fi.
Provides discovery of Samsung Tizen TVs and live reload of web apps in the TV browser; other capabilities like screenshots and key input are not yet supported.
Click on "Deploy 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., "@vibetvscreenshot the TV, press down twice, then show me the console logs"
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.
๐บ vibetv
Vibecode your TV menu. Lose the ads.
Swap your TV's ad-filled home screen for one you describe to your AI coding agent, and watch it update on the big screen every time you save.
Android TV ยท Google TV ยท Fire TV ยท Roku ยท LG webOS
Everyone is trying to vibecode their TV menu: rip out the sponsored rows and autoplaying promos, and build a home screen that shows just their apps, their way. The catch is that an AI agent pointed at a TV is blind. It can't see the screen, can't press the remote, and doesn't know a D-pad from a mouse. vibetv closes that loop.
Build your own menu: describe it, and your agent builds a home screen that lists and launches your installed apps. Make it the TV's Home with one command, and undo it with another.
Remove the ads: a menu you wrote has no sponsored content. On Android TV, the reversible
quiet-android-tv-hometweak also turns off the stock recommendations feed.
vibetv changes your TV's menu, not other apps: ads inside YouTube, Netflix and other streaming apps aren't touched.
you: "make my home screen show my apps as big cards, with the weather and a clock"
โ
โผ
AI agent edits web/app.js โโโบ vibetv serve live-reloads it on the TV
โฒ โ
โโโ vibetv screenshot / tv_screenshot โโโโโ (the agent *sees* the result)What you get
๐ Find your TV |
|
๐งฑ Scaffold |
|
โก Live reload on the TV |
|
๐ Eyes + hands for your agent |
|
๐ค MCP server |
|
๐ Custom launcher | Turn your app into the TV's Home screen. The bridge lists and launches every installed app |
๐ Custom screensaver | The same web app runs as an Android TV screensaver (Daydream) |
๐๏ธ Reversible tweaks |
|
๐ One-command deploy |
|
๐ชถ Zero dependencies | Pure Python standard library. Nothing to break |
Related MCP server: adb-tv-mcp
Quick start (5 minutes)
1. Install
# with uv (recommended)
uv tool install git+https://github.com/Uchebuzz/vibetv
# or pipx
pipx install git+https://github.com/Uchebuzz/vibetvFor Android TV / Google TV / Fire TV you also need adb:
winget install Google.PlatformTools ยท brew install android-platform-tools ยท sudo apt install adb
2. Put your TV in developer mode (full guide)
Android TV / Google TV: Settings โ System โ About โ click Build 7 times โ Developer options โ turn on USB debugging / Network debugging
Fire TV: Settings โ My Fire TV โ About โ click the device name 7 times โ Developer options โ ADB debugging on
Roku: on the remote press
Home ร3, Up ร2, Right, Left, Right, Left, Rightand set a password
3. Connect
vibetv doctor # checks your setup
vibetv discover # finds TVs on your network
vibetv add 192.168.1.42 # Android: accept the prompt on the TV
vibetv add 192.168.1.50 --password <roku-dev-password> # Roku
vibetv screenshot # ๐ saved tv-screenshot.png4. Vibecode
vibetv new android-tv "Living Room"
cd living-room
vibetv deploy # installs the app once (or grab the APK GitHub Actions builds for you)
vibetv serve --open # live-reload from now onNow open your AI agent in that folder and ask for what you want:
"Turn this into my home screen: big cards for my installed apps sorted by most used, a weather widget for Lagos, and a dark theme. Check it on the TV when you're done."
The project's AGENTS.md / CLAUDE.md tells the agent how to screenshot the TV, press keys,
read logs and follow TV UI rules, so it can check its own work.
Give your agent superpowers (MCP)
# Claude Code
claude mcp add vibetv -- vibetv mcp// Cursor, Windsurf, Claude Desktop, ... (mcpServers config)
{ "mcpServers": { "vibetv": { "command": "vibetv", "args": ["mcp"] } } }Tool | What it does |
| Returns the TV screen as an image the model can see |
| Press remote buttons / type text |
| Console output and JS errors from the app on the TV |
| Build and install a project |
| Open a URL in the TV browser or your app |
| Inspect the TV and launch apps |
| Find and list TVs |
| Reversible system tweaks |
Templates
vibetv templatesTemplate | Runs on | What it is |
| Android TV, Google TV, Fire TV, NVIDIA Shield, most smart TVs/projectors running Android | Web UI ( |
| Roku TV, Roku sticks | SceneGraph + BrightScript channel with a RowList home screen, sideloaded over Wi-Fi |
| LG TVs | Web app with |
| Any TV browser | The bare 10-foot web app: D-pad spatial navigation, overscan-safe 1080p stage, live reload |
No Android SDK? You don't need one. Push your project to GitHub and the included workflow builds
the APK. Download it from the run's artifacts, then run vibetv install app-debug.apk.
Recipes
# Make your vibecoded app the Home screen (reversible)
# 1. uncomment the HOME intent-filter in app/src/main/AndroidManifest.xml, redeploy
vibetv launcher set com.vibetv.livingroom
vibetv tweak revert custom-launcher # back to stock
# Use your app as the screensaver
vibetv screensaver set com.vibetv.livingroom/.WebDreamService --preview
# Speed up a sluggish TV box
vibetv tweak apply snappy-animations
# Drive the TV from a script
vibetv key home right right ok
vibetv type "lofi beats"
vibetv launch com.google.android.youtube.tvMore prompts to paste into your agent: prompts/.
All commands
vibetv doctor | discover [--scan] | add <ip> | devices | use <name> | remove <name> | info
vibetv key <keys...> | type <text> | screenshot [file] | apps | launch <app> | install <apk> | open <url>
vibetv templates | new <template> <name> | serve [--open] | logs [-f] | deploy
vibetv tweak list|show|apply|revert <preset> | launcher set <pkg> | screensaver show|set <component>
vibetv mcpEvery device command takes -d <name-or-ip> to target a specific TV.
Safety
vibetv never uninstalls system apps. It uses
pm disable-user, which is fully reversible.Every tweak records the previous value in
~/.vibetv/undo.json, andvibetv tweak revertputs it back.Presets are labelled
safe,moderateoradvanced, and non-safe ones ask before applying.Developer-mode passwords are stored locally in
~/.vibetv/config.json, never in your project.Turn developer/network debugging off when you're done if your network isn't trusted.
Platform support
Discover | Screenshot | Keys | Live reload | Deploy | Tweaks | |
Android TV / Google TV | โ | โ | โ | โ | โ | โ |
Fire TV | โ | โ | โ | โ | โ | โ |
Roku | โ | โ (dev channel) | โ | n/a | โ | n/a |
LG webOS | โ | โ | ๐ง | โ (browser) | โ | ๐ง |
Samsung Tizen | โ | ๐ง | ๐ง | โ (browser) | ๐ง | ๐ง |
๐ง = help wanted! See CONTRIBUTING.md.
Contributing
PRs are very welcome, especially new tweak presets (just a JSON file), templates, prompts, and Tizen/webOS support. See CONTRIBUTING.md.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
Give your AI agent the power to cast to your home TV and control an interactive canvas. By ArdaBot.
Control real Android and iOS devices with LLM agents โ tap, swipe, type, automate flows.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to develop, test, and certify Roku applications by providing direct control over device functions like app deployment, remote input, and SceneGraph inspection. It supports automated workflows including real-time log collection, media monitoring, and certification verification.1-
- AlicenseBqualityCmaintenanceEnables AI agents to control Android TV/Android devices through ADB, including screen capture, remote control, app management, and more.242 npm1MIT
- AlicenseBqualityAmaintenanceBuild, deploy, and debug Smart TV web apps on Samsung Tizen and LG webOS TVs from any AI agent.314 npm4MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to develop, deploy, navigate, inspect, and debug Roku BrightScript and SceneGraph applications with direct hardware control.-