SprutHub MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPRUTHUB_HOST | Yes | IP address or hostname of the SprutHub hub | |
| SPRUTHUB_TOKEN | Yes | Local password (token) for the SprutHub hub |
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 |
|---|---|
| sprut_get_hub_infoA | Get general information about the SprutHub controller (name, model, firmware version, online status). |
| sprut_list_roomsA | List all rooms in the smart home with their IDs, names, and sensor summary. |
| sprut_list_devicesA | List smart home accessories / devices with their controllable services and current values. Args: room_id: Optional filter to list devices only in a specific room. |
| sprut_get_deviceC | Get complete details and all characteristics of a specific accessory. Args: accessory_id: The ID of the accessory (e.g. 1155). |
| sprut_set_switchB | Turn a switch, light, or relay ON or OFF. Args: accessory_id: The ID of the accessory (e.g. 1155). on: True to turn ON, False to turn OFF. service_id: Optional service ID if the accessory has multiple switches. If omitted, the first Switch service is used automatically. |
| sprut_set_characteristicC | Set any characteristic on an accessory (brightness, temperature, mode, etc.). Args: accessory_id: The ID of the accessory. service_id: The ID of the service (sId). characteristic_id: The ID of the characteristic (cId). value: The target value to set (boolean, integer, float, or string). |
| sprut_get_historyC | Retrieve historical telemetry data and statistics for sensor or accessory characteristics. Args: accessory_id: ID of the accessory. service_id: Optional Service ID (sId). characteristic_id: Optional Characteristic ID (cId). days: Optional time window in days (e.g. 7). hours: Optional time window in hours (e.g. 24). limit: Optional maximum number of records to retrieve. |
| sprut_list_scenariosA | List all automation scenarios configured in SprutHub. |
| sprut_run_scenarioB | Trigger / execute an automation scenario by index. Args: index: The index of the scenario (from sprut_list_scenarios). |
| sprut_get_logsC | Get recent system and driver logs from SprutHub. Args: count: Number of log entries to retrieve (default 50). level: Optional filter by log level (e.g. ERROR, WARN, INFO). |
| sprut_list_extensionsA | List installed protocols and extensions (Zigbee, BLE, HomeKit, MQTT, etc.) and their status. |
| sprut_create_roomC | Create a new room in the smart home. Args: name: Name for the new room. |
| sprut_update_roomC | Update or rename an existing room. Args: room_id: ID of the room to update. name: Optional new name for the room. |
| sprut_delete_roomC | Delete a room from the smart home. Args: room_id: ID of the room to delete. |
| sprut_list_catalogA | List or search device templates in the SprutHub catalog. Args: search: Optional query to search by model or manufacturer (e.g. Aubess, TS000F). limit: Max number of templates to return. |
| sprut_get_catalog_templateB | Get full device template and definition from catalog. Args: file_or_model: Template file path or model name. store: Optional catalog store (default MAIN). controller: Optional controller (e.g. zigbee). |
| sprut_restart_hubB | Restart the SprutHub controller service. |
| sprut_get_summaryB | Get a comprehensive smart home dashboard summary (hub info, users, room counts, device breakdown, extensions, scenarios). |
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 18 tools
Most tools target a distinct resource+action (list_rooms, get_device, set_characteristic, restart_hub, etc.), so an agent can pick the right one. Minor overlap exists: sprut_get_summary aggregates hub info, rooms, devices, extensions, and scenarios already covered by dedicated list tools, and sprut_set_switch is a convenience wrapper over sprut_set_characteristic for switch services.
Every tool uses the sprut_ prefix followed by a consistent verb_noun pattern (list_catalog, get_device, set_switch, run_scenario, create_room, update_room, delete_room). Naming is uniform and predictable across the whole set.
18 tools is slightly on the heavy side but each maps to a real smart-home operation, so it is not bloated. It earns most of its places, with only sprut_get_summary arguably redundant against the individual list tools.
Rooms have full CRUD, devices have list/get/set coverage, and telemetry, logs, catalog, scenarios, and extensions are all reachable. Gaps remain around scenario lifecycle (list/run only, no create/update/delete) and extensions (read-only), but agents can cover the core workflows.