ai-remote
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AI_REMOTE_HA_URL | No | Home Assistant base URL | http://homeassistant.local:8123 |
| AI_REMOTE_TIMEOUT | No | Home Assistant request timeout in seconds | 45 |
| AI_REMOTE_ENTRY_ID | Yes | AI Remote Home Assistant config-entry ID | |
| AI_REMOTE_HA_TOKEN | No | Caller-managed bearer token | |
| AI_REMOTE_VERIFY_SSL | No | TLS certificate verification | true |
| AI_REMOTE_MAX_ACTIONS | No | Actions allowed in one action window | 20 |
| AI_REMOTE_HA_TOKEN_FILE | No | OAuth token JSON file | |
| AI_REMOTE_MAX_IMAGE_WIDTH | No | Vision image width, 320–1920 pixels | 1280 |
| AI_REMOTE_MAX_TASK_SECONDS | No | Maximum task wall-clock duration | 300 |
| AI_REMOTE_IDLE_RESET_SECONDS | No | Idle period before a fresh task budget | 60 |
| AI_REMOTE_ACTION_WINDOW_SECONDS | No | Action-rate window | 300 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fire_tv_observeA | Capture a fresh screen, compact UI tree, foreground activity, and playback state. |
| fire_tv_statusA | Read foreground activity and package-correlated playback without a screenshot. |
| fire_tv_commandC | Execute one direct remote command such as Pause, Rewind, Back, Home, or Play. |
| fire_tv_pressB | Send up to 12 allowlisted remote key events and return post-action evidence. |
| fire_tv_type_textA | Type bounded printable ASCII into the currently focused field. |
| fire_tv_launchB | Start or stop one installed Android package and verify foreground state. |
| fire_tv_play_uriA | Open an allowlisted URI in one explicit installed package and verify it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: observe provides a full snapshot with UI tree, status offers a lightweight state check, command sends high-level remote actions, press sends raw key events, type_text handles text input, launch controls app lifecycle, and play_uri opens specific content. No two tools are ambiguous; even the overlapping state-retrieval tools are differentiated by the presence of a screenshot and UI tree.
All tools follow a strict `fire_tv_` prefix followed by a clear verb or verb phrase (observe, status, command, press, type_text, launch, play_uri). The verb-first pattern is consistent and easy to predict, making the tool names intuitive and cohesive.
Seven tools is a well-scoped size for a remote-control server. Each tool covers a distinct aspect of controlling a Fire TV (observing state, sending commands, typing, launching apps, and playing content), and there is no unnecessary redundancy or bloat.
The set covers the core remote-control lifecycle: observation, state checks, command execution, text input, app launch, and URI playback. Minor gaps exist, such as the lack of a tool to list installed packages or adjust volume, but these are likely outside the server's intended scope and can be worked around via launch and command tools.