Skip to main content
Glama
pikerr

SprutHub MCP Server

by pikerr

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPRUTHUB_HOSTYesIP address or hostname of the SprutHub hub
SPRUTHUB_TOKENYesLocal 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 18 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues