mcp-server-zwave-js-ui
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZWAVE_JS_URL | No | WebSocket URL of the Z-Wave JS Server. | ws://localhost:3000 |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| zwave_controller_infoA | Get Z-Wave controller and network summary. Returns the controller's home id, type, SDK/API/firmware versions, RF
region, primary/inclusion state, and node counts. Use this first for a
quick health snapshot of the mesh. |
| zwave_list_nodesA | List all Z-Wave nodes with a one-line summary each. Each entry has node id, name, location, status (alive/asleep/dead/etc.), readiness, listening/routing/sleep capability, security, manufacturer, device label, firmware version, and interview stage. Use zwave_node_info for full detail on a single node. |
| zwave_node_infoA | Get full detail for a single Z-Wave node. Includes device class, supported command classes, endpoint count, security
class, protocol version, last-seen time, and signal statistics, on top of
the summary fields. Args: node_id: The Z-Wave node id, e.g. 5 |
| zwave_node_valuesA | List a node's current values (excluding configuration parameters). Returns each value's id, command class, endpoint, property, current reading, and metadata (label, unit, type, range, states, writeability). Configuration parameters are reported separately by zwave_node_config. Raises ValueError if the node id is unknown. Args: node_id: The Z-Wave node id, e.g. 5 |
| zwave_node_configA | List a node's configuration parameters and their current values. Returns each manufacturer-defined parameter with its current value, default, allowed range or named states, unit, size, and writeability — the device-specific tuning knobs (LED behavior, report intervals, motion sensitivity, etc.). Set a parameter with zwave_set_config_parameter. Raises ValueError if the node id is unknown. Args: node_id: The Z-Wave node id, e.g. 5 |
| zwave_rebuild_routes_statusA | Report whether a network-wide route rebuild (heal) is in progress. Returns {"is_rebuilding": bool | null} from the controller state. Poll this after zwave_begin_rebuilding_routes to track a heal to completion. |
| zwave_firmware_update_statusA | Report whether an OTA firmware update is currently in progress. Returns {"in_progress": bool}. (Triggering an update is not yet supported; see the project roadmap.) |
| zwave_set_valueA | Set a Z-Wave value and report the command outcome.
Args: node_id: The Z-Wave node id, e.g. 5 value_id: The value id from zwave_node_values value: The new value to set |
| zwave_set_config_parameterA | Set a node's manufacturer configuration parameter.
Args: node_id: The Z-Wave node id, e.g. 5 parameter: The configuration parameter number value: The new integer value bitmask: Optional partial-parameter bit mask |
| zwave_set_node_nameA | Set a node's friendly name. Raises ValueError for an unknown node id. Args: node_id: The Z-Wave node id, e.g. 5 name: The new name for the node |
| zwave_set_node_locationA | Set a node's location label. Raises ValueError for an unknown node id. Args: node_id: The Z-Wave node id, e.g. 5 location: The new location for the node |
| zwave_association_groupsA | List a node's association groups and their capabilities. Returns each group id mapped to its max node count, lifeline flag, multi-channel flag, and label. Use this to find the group to pass to zwave_add_association. Raises ValueError for an unknown node id. Args: node_id: The source Z-Wave node id, e.g. 5 endpoint: Optional endpoint index (defaults to the root device) |
| zwave_associationsA | List a node's current associations, keyed by group id. Each group maps to a list of association targets ({node_id, endpoint}). Raises ValueError for an unknown node id. Args: node_id: The source Z-Wave node id, e.g. 5 endpoint: Optional endpoint index (defaults to the root device) |
| zwave_add_associationA | Add an association from a source node's group to a target node. Associations let a device control another directly (e.g. a switch driving a light). Use zwave_association_groups to pick a valid group. Raises ValueError for an unknown source node id. Args: node_id: The source Z-Wave node id, e.g. 5 group: The association group id on the source node target_node_id: The node id to associate into the group source_endpoint: Optional source endpoint (defaults to the root device) target_endpoint: Optional target endpoint (defaults to the root device) |
| zwave_remove_associationB | Remove an association from a source node's group to a target node. Raises ValueError for an unknown source node id. Args: node_id: The source Z-Wave node id, e.g. 5 group: The association group id on the source node target_node_id: The associated node id to remove from the group source_endpoint: Optional source endpoint (defaults to the root device) target_endpoint: Optional target endpoint (defaults to the root device) |
| zwave_reinterview_nodeA | Re-run a node's interview to refresh its capabilities and values. Fire-and-forget: returns once the interview is requested; the interview itself runs in the background and can take a while for battery devices. Raises ValueError for an unknown node id. Args: node_id: The Z-Wave node id, e.g. 5 |
| zwave_rebuild_node_routesB | Rebuild mesh network routes for a single node. Returns {node_id, success}. Raises ValueError for an unknown node id. Args: node_id: The Z-Wave node id, e.g. 5 |
| zwave_begin_rebuilding_routesA | Start a network-wide route rebuild (network heal). Returns once the rebuild is started; it proceeds in the background across the whole mesh. Use zwave_stop_rebuilding_routes to cancel. |
| zwave_stop_rebuilding_routesA | Stop an in-progress network-wide route rebuild. |
| zwave_remove_failed_nodeA | Remove a node the controller has marked failed from the network. Only works on nodes the controller considers failed (dead/unreachable). Raises ValueError for an unknown node id. Args: node_id: The Z-Wave node id, e.g. 5 |
| zwave_begin_inclusionA | Put the controller into inclusion mode to add a new node. Returns as soon as inclusion mode is entered; put the device into pairing
mode to complete the add. Args: strategy: Inclusion strategy — "default", "s2", "s0", or "insecure" |
| zwave_stop_inclusionA | Take the controller out of inclusion mode. |
| zwave_begin_exclusionA | Put the controller into exclusion mode to remove a node. Returns as soon as exclusion mode is entered; put the device into its exclusion/unpair mode to complete removal. Use zwave_stop_exclusion to cancel. |
| zwave_stop_exclusionA | Take the controller out of exclusion mode. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cacack/mcp-server-zwave-js-ui'
If you have feedback or need assistance with the MCP directory API, please join our Discord server