Samsung TV MCP Server
A Model Context Protocol server that lets AI assistants control Samsung Smart TVs (Tizen OS, 2016+) over the local network. No cloud, no SmartThings account required.
README
Samsung TV MCP Server
A Model Context Protocol server that lets AI assistants control Samsung Smart TVs (Tizen OS, 2016+) over the local network. No cloud, no SmartThings account required.
Early release — Core functionality works and has been tested on a Samsung UN65TU7000 (2020, Tizen). Not all tools have been exhaustively tested across different TV models and firmware versions. Bug reports and PRs are welcome.
Features
- 18 tools for complete TV control via natural language
- Auto-discovery — finds Samsung TVs on your network via SSDP
- Zero config — no API keys, no cloud, everything runs locally
- Multi-protocol — combines WebSocket, REST, UPnP/DLNA, and Wake-on-LAN
- Persistent auth — first connection requires TV approval, then uses saved token
- Auto-reconnect — recovers from dropped WebSocket connections
Tools
| Tool | Description |
|---|---|
tv_discover |
Scan LAN for Samsung Smart TVs |
tv_info |
Get TV status (model, IP, power, volume) |
tv_power |
Turn TV on (WoL) or off |
tv_key |
Send any remote control key press |
tv_keys |
Send a sequence of key presses |
tv_navigate |
Semantic navigation (home, back, source, menu...) |
tv_volume |
Get/set volume (0-100), mute/unmute |
tv_channel |
Change channel by number or up/down |
tv_apps |
List all installed apps |
tv_launch |
Launch app by name ("netflix") or ID |
tv_close_app |
Close a running app |
tv_current_app |
Detect which app is currently running |
tv_aspect_ratio |
Get/set aspect ratio (Default, 16:9, Zoom, 4:3) |
tv_captions |
Get caption state or toggle subtitles |
tv_browser |
Open a URL in the TV's browser |
tv_text |
Type text into active input fields |
tv_cursor |
Move virtual cursor on screen |
tv_media |
Play media via DLNA (video/audio/images) with transport controls |
Requirements
- Python 3.10+
- Samsung Smart TV with Tizen OS (2016 or newer)
- TV and MCP server on the same local network
Installation
pip install "samsungtvws[encrypted]" "mcp[cli]"
Claude Code
claude mcp add samsung-tv -- python /path/to/samsung-tv-mcp/main.py
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"samsung-tv": {
"command": "python",
"args": ["/path/to/samsung-tv-mcp/main.py"]
}
}
}
First Connection
On the first WebSocket connection, the TV will show a popup asking to allow "ClaudeCode". Accept it once — a token is saved to token.json for future sessions.
To minimize prompts, go to Settings > General > External Device Manager > Device Connection Manager and set Access Notification to "First Time Only".
Supported App Aliases
You can use friendly names instead of numeric IDs:
netflix, youtube, prime, disney, spotify, apple tv, hbo, max, plex, browser, steam link, twitch, tiktok, tubi, pluto, paramount, gallery, smartthings
Architecture
main.py → FastMCP tools (thin layer, ~120 lines)
tv.py → SamsungTV client (WebSocket + UPnP + SSDP + WoL, ~250 lines)
- WebSocket (port 8002/8001): remote keys, apps, browser, text input, cursor
- REST (port 8001): device info, app launch/close
- UPnP SOAP (port 9197): precise volume control, DLNA media playback
- Wake-on-LAN: power on from standby
Known Limitations
- Wake-on-LAN may not work reliably on all models (requires TV config)
- No direct HDMI source switching via API (must navigate the source menu with keys)
- No brightness/contrast/picture settings control
- No screenshot capability
- Text input only works when the TV's virtual keyboard is active
- DRM-protected content cannot be streamed via DLNA
Tested On
- Samsung UN65TU7000KXZL (2020, Crystal UHD, Tizen, Colombia)
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.