smartest-tv — Claude Code MCP server: what it does, how to install
Controls smart TVs and desktop streaming through natural language. Launches shows, queues music, and casts web links from the terminal.
claude mcp add --env TV_PLATFORM=<TV_PLATFORM> --env TV_IP=<TV_IP> --env TV_MAC=<TV_MAC> --transport stdio smartest-tv -- uvx stvWhat smartest-tv does
The server exposes 21 MCP tools built on top of the stv package for Python 3.11+. It matches titles and episode numbers across platforms like Netflix, Prime, Disney+, YouTube, and Spotify. Resolving streaming links relies on JustWatch and public web endpoints. It works without API keys.
The tool handles volume adjustments, playback queues, scene presets, and display dashboards. Controlling a physical screen requires TV_PLATFORM and TV_IP environment variables. Without display hardware, media opens in your desktop browser.
What it helps with
- launch media titles and specific episodes on smart TVs by name
- forward video and audio URLs directly to a television screen
- queue tracks across streaming platforms for playback
- push text notifications and dashboards to a display
Example prompts for the agent
- Play Frieren season 2 episode 8 on the living room screen
- Turn the TV volume down to 18
- Cast https://youtu.be/dQw4w to the television
How to install smartest-tv
Platform CLI
claude mcp add --env TV_PLATFORM=<TV_PLATFORM> --env TV_IP=<TV_IP> --env TV_MAC=<TV_MAC> --transport stdio smartest-tv -- uvx stvReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from stv <command>
Platform CLI
codex mcp add smartest-tv --env TV_PLATFORM=<TV_PLATFORM> --env TV_IP=<TV_IP> --env TV_MAC=<TV_MAC> -- uvx stvReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from stv <command>
Config file
{
"mcpServers": {
"smartest-tv": {
"command": "uvx",
"args": [
"stv"
],
"env": {
"TV_PLATFORM": "<TV_PLATFORM>",
"TV_IP": "<TV_IP>",
"TV_MAC": "<TV_MAC>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from stv <command>
Config file
{
"servers": {
"smartest-tv": {
"type": "stdio",
"command": "uvx",
"args": [
"stv"
],
"env": {
"TV_PLATFORM": "<TV_PLATFORM>",
"TV_IP": "<TV_IP>",
"TV_MAC": "<TV_MAC>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from stv <command>
Platform CLI
gemini mcp add -e TV_PLATFORM=<TV_PLATFORM> -e TV_IP=<TV_IP> -e TV_MAC=<TV_MAC> smartest-tv uvx stvReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from stv <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about smartest-tv
How to install smartest-tv in Claude Code?
Run claude mcp add smartest-tv -e TV_PLATFORM=<TV_PLATFORM> -e TV_IP=<TV_IP> -- uvx stv. Replace the placeholders with your display operating system and local IP address.
What does smartest-tv do?
It bridges your assistant with home displays. The server handles title searches, remote playback, sound levels, and screen alerts.
Can smartest-tv run without a connected TV?
Yes. When display hardware is not configured, the server resolves streaming URLs and opens them directly in your web browser.