Control Android TV via Natural Language
MCP server running on Android TV via ADB: launch/list apps, screenshot, tap, type, and send navigation key events.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Leverage natural language commands to manage your Android TV devices. This asset provides direct ADB integration for launching apps, retrieving lists, and executing commands without complex pairing.
Outcomes
What it gets done
Launch TV applications using package names
Retrieve a list of installed TV applications
Send key events and navigation commands
Take screenshots of the device screen
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-mcp-on-android-tv | bash Capabilities
Tools your agent gets
Launch a TV application by its package name
Get a list of installed TV applications
Take a screenshot of the device screen
Send a key event to the device
Send a navigation key event (up, down, left, right, select, back, home)
Type text into the current input field
Tap the screen at specific coordinates
Overview
MCP on Android TV MCP Server
An MCP server running on Android TV via ADB, exposing tools to launch/list apps, take screenshots, send navigation key events, type text, and tap the screen for natural-language TV control. Use to control an Android TV via natural language from an MCP client. Local-network-only for security; early-stage work-in-progress software using a communication method already marked deprecated.
What it does
MCP on Android TV runs an MCP server directly on an Android TV device, using ADB (Android Debug Bridge) to give any MCP-compatible LLM client local network control over the TV through natural language. It exposes seven tools: launch_tv_app (launch an app by package name), get_installed_tv_apps (list installed apps), take_screenshot (capture the device screen), send_key_event (send a raw key event), send_nav_key_event (send a navigational key event - up, down, left, right, select, back, home), type_text (type into the current input field), and tap_screen (tap at specific coordinates).
On your LLM client (e.g., Goose, Claude Desktop):
1. Create a new connector/extension
2. Enter the MCP server address shown on the TV's "MCP Ready" screen
3. Start using natural language to control your TV: open apps, list installed apps
Android TV was chosen specifically because ADB debugging can be enabled and connected without device pairing, and the local connection stays stable rather than cycling like wireless debugging on phones. It's built on the official MCP Kotlin SDK 0.7.2, and its current communication method is SSE, which is called out as deprecated in the source. This is an early-stage, work-in-progress project - features may be incomplete, unstable, or subject to change.
When to use - and when NOT to
Use this connector when you want an LLM client to control an Android TV or set-top box on your local network via natural language - opening apps, listing installed apps, navigating with directional key events, or taking screenshots.
This is explicitly a local-network-only tool: the source warns that exposing the TV's MCP server to the internet is a significant security risk, so it should never be made reachable outside the local network. It is early-stage software with an unstable feature set and a communication method (SSE) already marked deprecated, so expect breaking changes.
Capabilities
launch_tv_app and get_installed_tv_apps for app management, take_screenshot for screen capture, send_key_event and send_nav_key_event for remote-control-style navigation, type_text for text entry, and tap_screen for coordinate-based touch input.
How to install
Build and install the app on the Android TV device or set-top box, ensure ADB debugging is enabled, and launch the app to display the MCP Ready screen with the device's MCP server address. In an MCP-compatible LLM client (e.g. Goose, Claude Desktop), create a new connector/extension and enter that server address.
Who it's for
Developers and hobbyists who want to control an Android TV device via natural language from an MCP-compatible LLM client, strictly within a trusted local network.
Source README
MCP on Android TV
A Model Context Protocol (MCP) server running directly on your Android TV devices.
By leveraging ADB (Android Debug Bridge), it allows local network control of your Android TV through any LLM agent or client that supports remote MCP servers. This makes it possible to open apps, list apps, and run other commands on your TV using natural language.
⚠️ Work in Progress
This project is in an early stage of development. Features may be incomplete, unstable, or subject to change.
Contributions and feedback are very welcome as the project evolves.
Why Android TV?
- Simpler ADB setup: On Android TV, ADB debugging can be activated and connected to without requiring pairing.
- Stable local connection: Unlike wireless debugging on phones, the connection does not cycle, giving you a direct link to the device.
- MCP integration: With MCP layered on top of ADB, any LLM client supporting custom MCP servers (such as Goose or Claude Desktop) can act as a controller for your TV.
⚠️ Note: For security reasons this should only be made to work on your local network, exposing your TV to the internet is a big risk.
Features
- Direct ADB integration without pairing.
- MCP server running on Android TV devices.
- Works with the MCP Kotlin SDK 0.7.2 (official SDK).
- Local network device control via LLM clients.
- Current communication method: SSE (deprecated).
Exposed MCP Tools
The MCP server currently supports the following tools:
- launch_tv_app - Launch a TV application by its package name.
- get_installed_tv_apps - Get a list of installed TV applications.
- take_screenshot - Take a screenshot of the device screen.
- send_key_event - Send a key event to the device.
- send_nav_key_event - Send a navigational key event (up, down, left, right, select, back, home).
- type_text - Type text into the current input field.
- tap_screen - Tap the screen at specific coordinates.
Installation & Usage
- Build & install the app on your Android TV device or set-top box.
- Ensure ADB debugging is enabled and working.
- Launch the app - it will display the MCP Ready screen with:
- Device details
- MCP server address to connect to
- On your LLM client (e.g., Goose, Claude Desktop):
- Create a new connector/extension.
- Enter the server address from your TV.
- Start using natural language to control your TV:
- Open apps
- List installed apps
- More commands coming soon
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.