Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAMSUNG_TV_HOSTNoFixed TV address; disables rescanning. Defaults to the discovered TV address.
SAMSUNG_TV_SUBNETNo/24 prefixes to scan, comma separated (e.g. 192.168.1). Defaults from local interfaces.
SAMSUNG_TV_DATA_DIRNoWhere the config and token live.~/.samsung-tv-mcp
SAMSUNG_TV_EXTRA_APPSNoApp IDs to probe besides the built-in catalog.
SAMSUNG_TV_MAX_VOLUMENoVolume cap for tv_set_volume.50

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
tv_statusA

Power state (on | standby | off), name, model, IP, whether this server is paired, current volume and mute. Rediscovers the TV on the LAN if its address changed.

tv_powerA

Turns the TV on (Wake-on-LAN, then the power key if it stays in standby) or off. No-op if already in that state.

tv_press_keysB

Presses remote-control keys in order. Use aliases (up, down, left, right, ok, back, home, menu, source, play, pause, stop, fast_forward, rewind, volume_up, volume_down, mute, channel_up, channel_down, 0-9) or raw Samsung codes like KEY_RED. Up to 30 keys per call.

tv_set_volumeA

Sets the absolute volume (0-100) over DLNA. Levels above 50 are refused as a safety cap.

tv_type_textA

Replaces the content of the text field that is open on the TV (search boxes, keyboards). Open the field first; this does nothing if no keyboard is on screen.

tv_list_appsB

Apps from the built-in catalog that are installed on this TV, with their IDs and whether they are running.

tv_launch_appA

Opens an installed app by name ("netflix", "prime video") or by its Tizen ID from tv_list_apps.

tv_play_youtubeA

Opens the TV YouTube app directly on a video (DIAL), given a YouTube URL or an 11-character video ID.

tv_pairA

Shows an "Allow" pop-up on the TV and waits up to 30 s for someone to accept it with the physical remote. Tell the user to look at the TV before calling. force=true discards the current token and pairs again.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 9 tools

Disambiguation4/5

Each tool maps to a distinct action on the TV, and descriptions clarify boundary cases well (tv_play_youtube vs tv_launch_app, status vs pair). The main overlap is volume control: tv_press_keys accepts volume_up/volume_down/mute aliases that duplicate the purpose of tv_set_volume, which could cause misselection.

Naming Consistency4/5

All tools share a consistent tv_ snake_case prefix with predictable verb_noun naming (tv_press_keys, tv_set_volume, tv_list_apps, tv_launch_app). Minor deviations: tv_status and tv_power are noun-only, and tv_pair is a bare verb, but the pattern remains readable.

Tool Count5/5

Nine tools is well-scoped for a TV remote server, with one tool per core capability (status, power, keys, volume, text, apps, YouTube, pairing). No redundant or filler tools.

Completeness4/5

The surface covers power lifecycle, input, volume, text entry, app discovery/launch, YouTube deep-linking, and pairing, which is most of a TV remote's domain. Gaps exist: no absolute channel selection (only channel_up/down keys) and no input/source enumeration or app install, though many of these can be worked around via tv_press_keys.

Maintenance

ActivityMaintained
ResponsivenessSyncing