📺
smartest-tv
The CLI your TV has been waiting for.
Play Netflix by name. Cast URLs. Multi-room audio. AI concierge. All from your terminal.
한국어 · 中文 · 日本語 · Español · Deutsch · Português · Français
pip install stv && stv setup
Runs on your local network. No cloud. No API keys. No subscriptions.
| 😩 Without stv | 😎 With stv |
|---|---|
~30 seconds |
~3 seconds |
✨ What it does
🎬 Play by name
Say the name. stv finds the ID, opens the app, starts playback. |
🔗 Cast any URL
Friend sends a link. Paste it. TV plays it. |
🎵 Queue & party
Everyone adds their pick. TV plays in order. |
🎭 Scene presets
One command sets the vibe. |
🔊 Multi-room audio
Screens off. Music everywhere. |
📺 TV as display
Dashboards, clocks, signage. |
📊 Watch intelligence
Is your Netflix worth $18/month? |
🌐 Sync party
Every TV. At once. Even remote friends. |
🤖 AI concierge
21 MCP tools. One sentence is enough. |
🤖 Tell your AI to control your TV
stv is an MCP server. Claude, GPT, Cursor, or any MCP client can control your TV with natural language.
|
Setup (one line):
Or via OpenClaw:
|
Then just talk:
|
All 21 MCP tools
| Category | Tool | What it does |
|---|---|---|
| Play | tv_play | Search + play by name |
tv_cast | Cast any URL | |
tv_next | Continue watching | |
tv_launch | Launch app with ID | |
tv_resolve | Get content ID only | |
| Discover | tv_whats_on | Trending content |
tv_recommend | Personalized picks | |
| Control | tv_power | On/off |
tv_volume | Get/set/step/mute | |
tv_screen | Screen on/off | |
tv_notify | Toast notification | |
tv_status | Current state | |
| Organize | tv_queue | Play queue |
tv_scene | Scene presets | |
tv_history | Watch history | |
| Intelligence | tv_insights | Viewing stats |
tv_display | TV as display | |
tv_audio | Multi-room audio | |
| Multi-TV | tv_sync | Play on all TVs |
tv_list_tvs | List TVs | |
tv_groups | TV groups |
📅 A day with stv
| Time | What happens |
|---|---|
| 7am | stv display dashboard "Weather:18°C" "Meeting:10am" on kitchen TV |
| 8am | stv scene kids --tv kids-room -- Cocomelon, volume 15 |
| 12pm | Friend sends Netflix link → stv cast <url> |
| 5pm | stv screen-time → kids watched 2h 15m today |
| 6:30pm | stv scene movie-night -- volume 20, cinema mode |
| 7pm | stv recommend --mood chill → suggests Ozark |
| 9pm | stv audio play "friday vibes" -p spotify -- music everywhere |
| 10pm | stv --group party play netflix "Wednesday" s1e1 -- sync |
| 11:30pm | stv scene sleep → stv --all off -- good night |
🔥 Killer combos
|
🌙 Bedtime autopilot
Ambient sound, screen off, auto-timer, every other TV killed. |
🎧 Free Sonos
Every TV is a speaker. Per-room volume. Screens off. |
💰 Subscription audit
|
⚙️ How it works
"Play Dark S1E1"
│
▼
┌─── Resolution ───┐
│ Cache → API → Web │ content_id
│ 0.1s 1s 3s │──────────────▶ 📺 TV plays it
└───────────────────┘ │
Deep link via
LG / Samsung / Roku / Android
Say a name. stv resolves it to a content ID, deep-links into the app on your TV. No browser automation, no API keys, no cloud dependency. Results are cached so repeat plays are instant.
📦 Install
pip install stv # LG webOS (default)
pip install "stv[samsung]" # Samsung Tizen
pip install "stv[android]" # Android TV / Fire TV
pip install "stv[all]" # Everything
stv setup # auto-discover + pair your TV
Supports LG webOS · Samsung Tizen · Android TV / Fire TV · Roku
🔌 Works with
| Integration | How |
|---|---|
| Claude Code / Cursor | Add MCP config → "play Dark s1e1" |
| OpenClaw | clawhub install smartest-tv → Telegram bot |
| Home Assistant | Shell commands in automations |
| cron | 0 7 * * * stv display dashboard ... |
| Shell scripts | sleep-mode, party-mode one-liners |
| Any MCP client | 21 tools, stdio or HTTP (stv serve) |
📚 Docs
| Getting Started | Setup for any TV brand |
| Playing Content | play, cast, queue, resolve |
| Scenes | movie-night, kids, sleep, custom |
| Sync & Party | Multi-TV, remote watch party |
| Recipes | 10 powerful feature combos |
| AI Agents | MCP for Claude, Cursor, OpenClaw |
| CLI Reference | Every command and option |
| MCP Tools | All 21 tools with parameters |
🤝 Contributing
211 tests. No TV needed to run them.
pip install -e ".[dev]"
python -m pytest tests/ -v
Samsung, Roku, and Android TV drivers need real-world testing. If you have one, your feedback matters.
Cache Contributions · Driver Development
MIT License · Made with Python · No cloud required