uc-remote-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setup_remoteB | First-run setup. Authenticate with admin PIN, create a long-lived API key, and save config. Only needed once per remote. |
| discover_remotesA | Scan the LAN via mDNS for UC remotes. Returns a list of {name, host, port, model, fw, id}. |
| get_remote_infoA | Return model, firmware, battery level/status, and currently active activities. Uses the first configured remote if host is not specified. |
| list_devicesA | List all configured devices (entities). Each physical device may appear as several entities (e.g. a TV has both a media_player and a remote entity). Optionally filter by entity_type (media_player, remote, light, switch, sensor). Returns {id, name, type, integration, device_class, state} per entity. |
| get_deviceB | Full config for one device (entity): features, available commands, current attributes, and options. |
| list_device_commandsA | Commands a device exposes, for picking when mapping buttons. Returns {features, simple_commands}. |
| list_activitiesC | List all activities with id, name, state, description, and included entities. |
| get_activityC | Full activity config: included entities, on/off power sequences, button overrides, and the list of UI pages. |
| get_button_mappingA | Physical-button -> command bindings. scope is 'activity' (needs scope_id=activity_id), 'remote' (needs scope_id=remote entity_id), or 'device' (needs scope_id=target entity_id; returns every binding across all activities and remotes that targets that device). |
| list_ui_pagesA | List UI pages for a scope: 'activity' or 'remote'. scope_id is that entity's id. Returns page ids, names, grids, and item counts. |
| get_ui_pageA | Items on one UI page: grid size and each item's position, type, and command. Identify the page by its parent scope ('activity'/'remote'), the scope's entity_id, and the page_id (from list_ui_pages). |
| backup_configA | Dump the entire remote configuration (system, entities, activities, remote-entities, UI pages — full detail) to one JSON file. Defaults to %APPDATA%/uc-remote-mcp/backups/.json, keeping the last 50. |
| send_commandA | Fire a one-off command at a device (entity). Transient (does not change saved config) but affects the device, so defaults to dry_run=True. Set dry_run=false to actually send. Body: PUT /entities/{id}/command {cmd_id, params?}. |
| set_button_mappingA | Set one physical-button -> command binding on an 'activity' or 'remote'. entity_id is REQUIRED for activities (the command target) and ignored for remotes. Defaults to dry_run=True (shows before/after); auto-backs-up before any real write. Set dry_run=false to apply. |
| bulk_set_button_mappingA | Set the same button binding across many activities at once (e.g. route VOLUME_UP on every activity to the AVR). Filter with activity_ids and/or name_contains; no filter = all activities. Invalid activities are skipped with a reason. One backup before the batch. Defaults to dry_run=True (returns the full per-activity plan); set dry_run=false to apply. |
| update_ui_pageA | Update a UI page's name, grid, and/or items on an 'activity' or 'remote'. Omitted fields stay unchanged; an EMPTY items list clears the page. Item commands are validated against the scope before writing. Defaults to dry_run=True; auto-backup before any real write. |
| delete_ui_pageA | Delete a UI page from an 'activity' or 'remote'. IRREVOCABLE on the device — the auto-backup taken before the write is the only way back. Dry-run (default) shows the full page content that would be lost. |
| set_default_ui_pageA | Make a page the first/default page of an 'activity' or 'remote' UI (the page shown when it opens). Implemented as a page reorder — the API has no explicit default-page property. Defaults to dry_run=True. |
| update_activity_sequenceA | Replace an activity's on and/or off power sequence. Steps are {"type":"command","command":{"entity_id","cmd_id","params"?}} or {"type":"delay","delay":}. Omitted sequence = unchanged; empty list clears it. Command steps are validated against the activity's included entities. Defaults to dry_run=True; auto-backup before any real write. |
| diff_configA | Show what changed between the current live config and a backup file (read-only). Reports the operations a restore would perform plus differences that cannot be restored. |
| restore_configA | Restore activities/remotes customization (names, button mappings, UI pages, sequences) from a backup file. First call returns a confirmation_token + full plan without writing; call again with the token and dry_run=false to apply. Auto-backup of the current state is taken before applying. |
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 21 tools
Each tool targets a distinct operation: configuration backup/restore, UI page management, activity/device retrieval, button mapping (single and bulk), discovery, etc. No overlap between tool purposes.
All tools follow a consistent verb_noun pattern in snake_case (e.g., backup_config, discover_remotes, set_button_mapping). No mixing of styles or cryptic verbs.
21 tools cover a broad scope (activities, devices, UI pages, backups, mappings) but each tool serves a clear purpose. The count is slightly high but still well-scoped for remote configuration management.
Core workflows are covered: backup/restore, discovery, setup, activity/device queries, UI manipulation, and button mapping. Missing create/delete for activities/devices, but the surface is sufficient for its intended remote management use case.