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 |
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 |
|---|---|
| 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