Skip to main content
Glama
Mokuichi147

@mokuichi147/webos-mcp

by Mokuichi147

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WEBOS_HOSTNo設定ファイルを使わず直接接続する TV (TV to connect directly without config file)
WEBOS_DEVICENo既定デバイス名 (default device name)
WEBOS_MCP_DEBUGNoデバッグログを stderr に出力 (output debug logs to stderr, e.g. 1)
WEBOS_CLIENT_KEYNo--host と併用する client-key (client-key used with --host)
WEBOS_CONFIG_DIRNo設定ディレクトリ (config directory)

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
discover_devicesA

LAN 上の LG webOS TV を SSDP で探索し、IP・名前・モデルを返す。

pair_deviceA

指定した IP の TV に接続してペアリングする。TV 画面に表示される承認ダイアログでユーザーが「はい」を選ぶまで待機し、client-key を保存する。

list_devicesA

devices.json に保存されているデバイスと既定デバイスを返す。

remove_deviceA

保存済みのデバイス(client-key を含む)を削除する。

set_default_deviceA

device パラメータ省略時に使うデバイスを設定する。

list_appsA

TV にインストールされているアプリの ID とタイトルを返す。launch_app にはこの id を渡す。

get_current_appA

現在前面に表示されているアプリの ID を返す。

launch_appA

アプリ ID(例: netflix, youtube.leanback.v4, com.webos.app.hdmi1)でアプリを起動する。任意で起動パラメータを渡せる。

close_appB

指定したアプリを終了する。

open_urlA

TV のブラウザで URL を開く。

get_volumeA

現在の音量とミュート状態を返す。

volume_upB

音量を 1 段階上げる。

volume_downA

音量を 1 段階下げる。

set_volumeB

音量を 0〜100 で設定する。

muteA

ミュートを ON/OFF する。mute 省略時はトグル。

get_sound_outputA

現在の音声出力先を返す(tv_speaker, external_optical, external_arc, bt_soundbar, headphone など)。

set_sound_outputC

音声出力先を切り替える。

send_keyB

リモコンのボタン操作を送る。複数指定すると順に送信する。使用可能なキー: LEFT, RIGHT, UP, DOWN, ENTER, BACK, EXIT, HOME, MENU, INFO, GUIDE, DASH, VOLUMEUP, VOLUMEDOWN, MUTE, CHANNELUP, CHANNELDOWN, PLAY, PAUSE, STOP, REWIND, FASTFORWARD, RECORD, RED, GREEN, YELLOW, BLUE, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ASTERISK, CC, POWER, CLICK

send_mouseA

TV のマウスポインタを操作する。move は相対移動(画面は 1920x1080 相当。screenshot の 960x540 座標の 2 倍)。絶対位置に置きたいときは先に大きな負の値で左上に寄せてから移動する(例: move -3000,-3000 → move 960,512)。ブラウザ等でテキスト欄をクリックして仮想キーボードを出すときに使う。

list_inputsA

HDMI などの外部入力の ID・ラベル・接続状態を返す。switch_input にはこの id を渡す。

switch_inputC

外部入力を切り替える(例: HDMI_1, HDMI_2)。

insert_textA

TV 上でフォーカスされているテキストフィールド(検索欄など)に文字列を入力する。入力欄が表示されていないと失敗する。enter=true で入力後に確定する。

delete_textA

フォーカス中のテキストフィールドからカーソル前の文字を削除する。

media_controlA

再生・一時停止・停止・巻き戻し・早送りを送る。アプリによっては対応していない。

power_offA

TV の電源を切る(スタンバイ)。

get_power_stateA

TV の電源状態を返す(Active / Active Standby / Screen Off など)。TV がスタンバイで応答しない場合はその旨を返す。

power_onA

Wake-on-LAN で TV の電源を入れる。pair_device 時に保存した MAC アドレスを使う(mac パラメータで上書き可)。TV 側で「ネットワーク経由で電源オン」等の設定が有効である必要がある。

get_settingsA

システム設定を取得する。例: category=picture keys=[brightness,contrast,backlight,color,pictureMode] / category=sound keys=[soundMode]。

set_settingsB

システム設定を変更する。例: category=picture settings={backlight: 60}。TV のファームウェアによっては WRITE_SETTINGS 権限がなく 401 になる。

show_toastB

TV 画面にトースト通知を表示する。

screenshotA

TV 画面のスクリーンショット (960x540 JPEG) を取得する。現在の表示内容を確認してから操作したいときに使う。DRM 保護された動画(Netflix / Prime Video 等の再生中)は黒く写る。

get_system_infoA

TV のモデル名・webOS バージョン等を返す。

watch_tvA

アプリや外部入力からテレビ放送(チューナー)の視聴に切り替える。

list_channelsB

受信可能なチャンネル一覧を返す。type で放送種別を絞り込める(例: Terrestrial=地デジ, BS, CS, UHD=4K)。set_channel には number / name / channelId のいずれでも渡せる。

get_current_channelA

視聴中のチャンネルと、放送中の番組名・内容・開始/終了時刻を返す。放送視聴中でない場合はその旨を返す。

get_program_guideA

視聴中チャンネルの番組表(これから放送される番組の一覧)を返す。放送視聴中でない場合はその旨を返す。

set_channelB

チャンネルを切り替える。channel には番号(例: 011, 41)、局名(例: NHK総合, テレ東)、channelId のいずれかを指定。放送視聴中でなければ自動で切り替える。

channel_upC

次のチャンネルへ切り替える。

channel_downB

前のチャンネルへ切り替える。

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 39 tools

Disambiguation3/5

Most tools cleanly separate domains like device management, apps, volume, inputs, and channels. However, send_key overlaps with media_control, volume controls, power_off, and channel_up/down, which creates ambiguity about whether to use the generic key sender or the specialized wrappers.

Naming Consistency4/5

The vast majority of tools follow a clear snake_case verb_noun pattern: list_apps, get_volume, set_channel, launch_app. A few exceptions like mute, screenshot, volume_up, channel_down, and power_on break the pattern slightly, but the overall convention is consistent and readable.

Tool Count2/5

39 tools is well beyond the typical well-scoped range and creates significant selection burden for an agent. The count is partially justified by the breadth of TV control, but many tools duplicate what send_key already does, making the surface feel heavier than necessary.

Completeness5/5

The surface is remarkably complete for an LG webOS TV remote: discovery, pairing, device management, power, apps, inputs, audio, channels, program guide, settings, text input, mouse control, screenshots, and toasts are all covered. Agents can execute the full lifecycle from pairing to everyday control without obvious dead ends.