MCP Connector

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.

Works with android tvadb

Maintainer of this project? Claim this page to edit the listing.


90
Spark score
out of 100
Updated 9 months ago
Version 1.0.0
Models
universal

Add 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

01

Launch TV applications using package names

02

Retrieve a list of installed TV applications

03

Send key events and navigation commands

04

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_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 navigation 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

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

  1. Build & install the app on your Android TV device or set-top box.
  2. Ensure ADB debugging is enabled and working.
  3. Launch the app - it will display the MCP Ready screen with:
    • Device details
    • MCP server address to connect to
  4. On your LLM client (e.g., Goose, Claude Desktop):
    • Create a new connector/extension.
    • Enter the server address from your TV.
  5. 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.