A Model Context Protocol (MCP) server that provides real Fire TV control through ADB commands. This server runs locally on your machine and can actually control your Fire TV device!
- Real Fire TV Control: Execute actual ADB commands to control your Fire TV
- MCP Protocol: Proper MCP server implementation for integration with AI assistants
- Local Execution: Runs on your machine with full system access
- Comprehensive Control: Navigation, apps, volume, search, and more
-
ADB (Android Debug Bridge):
brew install android-platform-tools # macOS -
Fire TV Setup:
- Settings → My Fire TV → About → Click Fire TV name 7 times (enables Developer Options)
- Settings → My Fire TV → Developer Options → Turn ON "ADB debugging"
- Settings → My Fire TV → Developer Options → Turn ON "Apps from Unknown Sources"
-
Node.js: Version 18+ required
-
Install dependencies:
npm install
-
Start the MCP server:
npm start
-
Test the server (in another terminal):
# Simple test echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node src/index.js
Control Fire TV with these commands:
- Navigation:
home,back,up,down,left,right,select,menu - Power:
wake,sleep - Volume:
volume_up,volume_down,mute - Media:
play_pause - Apps:
open_youtube,open_netflix,open_prime,open_disney,open_hulu - YouTube Advanced:
youtube_search(with value) - Search YouTube for specific contentyoutube_play(with value) - Search and play first result automatically
- Netflix Advanced:
netflix_continue- Resume watching your last shownetflix_search(with value) - Search Netflix for specific content
- Input:
search(with value),type(with value) - Info:
get_current_app,list_apps,screenshot
Check Fire TV connection status and ADB availability.
Connect to Fire TV via ADB (optionally specify IP address).
List available Fire TV apps and their package names.
firetv_control(command="open_netflix")
firetv_control(command="youtube_search", value="funny cat videos")
firetv_control(command="youtube_play", value="cooking tutorial")
firetv_control(command="netflix_continue")
firetv_control(command="netflix_search", value="stranger things")
firetv_control(command="volume_up")
firetv_status()
# Open Netflix
echo '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "firetv_control",
"arguments": {"command": "open_netflix"}
}
}' | node src/index.js
# Go to home screen
echo '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "firetv_control",
"arguments": {"command": "home"}
}
}' | node src/index.jsThe server is configured for Fire TV at IP 192.168.1.54. To change this, modify the fireTVIP property in src/index.js or use the firetv_connect tool with a different IP.
This is the REAL DEAL! Unlike cloud-based solutions that can only simulate commands, this local MCP server:
- ✅ Actually executes ADB commands
- ✅ Really controls your Fire TV
- ✅ Opens apps, navigates, changes volume
- ✅ Works with any MCP-compatible client
brew install android-platform-tools
adb version # Should show version info- Enable Developer Options (click Fire TV name 7 times in About)
- Turn ON "ADB debugging" in Developer Options
- Check Fire TV is on same network
- Try:
adb connect 192.168.1.54:5555
- You should see a permission popup on Fire TV
- Select "Always allow from this computer"
- Restart Fire TV if needed
Add to your MCP configuration:
{
"mcpServers": {
"firetv": {
"command": "node",
"args": ["/path/to/local-firetv-mcp/src/index.js"],
"env": {}
}
}
}Use the stdio transport to connect to the server at src/index.js.