Skip to main content
Glama
README.md
# vizio-tv

MCP server to control a Vizio SmartCast TV over your local network. No cloud required — talks directly to the TV via the SmartCast local API.

## Tools

| Tool | Description |
|------|-------------|
| `pair_start` | Initiate pairing — shows a PIN on the TV screen |
| `pair_finish` | Complete pairing with the PIN from the TV |
| `power` | Turn TV on, off, or toggle |
| `volume` | Volume up, down, or mute (with optional step count) |
| `send_key` | Send any remote key (up, down, ok, back, home, play, pause, etc.) |
| `change_input` | Cycle to the next input source |
| `get_state` | Get current power and volume state |

## Setup

```bash
npm install
export VIZIO_IP=<your-tv-ip>   # find in TV Settings > Network
node index.js
```

Find your TV's IP: `Menu → Network → Manual Setup → IP Address`

## Pairing (one-time)

After starting the server, run `pair_start` — a 4-digit PIN appears on the TV. Then run `pair_finish` with that PIN. Auth token is saved to `config.json` (gitignored).

## Add to Claude Code

```json
{
  "mcpServers": {
    "vizio-tv": {
      "command": "node",
      "args": ["/path/to/vizio-tv/index.js"],
      "env": { "VIZIO_IP": "<your-tv-ip>" }
    }
  }
}
```

## Available keys for `send_key`

`power` `vol_up` `vol_down` `mute` `up` `down` `left` `right` `ok` `back` `exit` `home` `menu` `input` `play` `pause` `stop` `rewind` `fast_forward` `ch_up` `ch_down`

TDQS

B3.3/5.0

Scored across 7 tools

Disambiguation4/5

Most tools have clear distinct purposes (e.g., power, volume, input). However, 'send_key' can duplicate functionality of other tools (e.g., power, volume) by sending the corresponding key, creating potential confusion.

Naming Consistency5/5

All tools use a consistent snake_case naming convention (e.g., change_input, get_state, pair_finish). The pattern is uniform and predictable.

Tool Count5/5

7 tools is an appropriate number for a TV remote control API, covering essential operations like power, volume, input switching, pairing, and generic key sending without being overly bloated.

Completeness4/5

Covers core TV control functions (power, volume, input, pairing, key sending). Missing a few features like getting current input or mute, but these are minor gaps for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing