Samsung TV MCP Server

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured