Skip to main content

Notify and wake

notify_test and wake send something out of the machine. notify_test accepts the server argument and wake does not. See Notifications and Wake-on-LAN for the commands.

notify_test​

write

Sends one test message through every configured notification channel and reports each channel on its own, so a failure names the channel that failed. With server set, a call in which any channel fails returns an error whose text holds the array of channel results. A real message arrives in each channel, and anyone who reads those channels sees it. The channels are telegram, slack, discord, webhook, ntfy and gotify.

Arguments​

ArgumentTypeDescription
serverstringServer from your config to run on. See Run a tool on another server.

Response​

FieldTypeMeaning
channelstringChannel name.
sentbooleantrue when the channel accepted the message.
errorstring, optionalWhy the message was not sent. Left out when sent is true.
Examples

A webhook channel receives this JSON body as a POST:

{"source":"alerts","name":"test-notification","status":"triggered","details":"This is a test notification from homebutler","action_taken":"notify","action_result":"success","timestamp":"2026-10-25 11:45:02"}

The response is an array with one entry per channel. Here the webhook accepted the message and the ntfy server refused the connection:

[
{
"channel": "webhook",
"sent": true
},
{
"channel": "ntfy",
"sent": false,
"error": "request to http://127.0.0.1:8106 failed: dial tcp 127.0.0.1:8106: connect: connection refused"
}
]

With no channel configured, the call returns an error:

no notification channel is configured

wake​

write

Sends a Wake-on-LAN magic packet. The packet is fire and forget: a sent status means the packet left the machine, not that anything woke up. The tool takes no server argument and sends from the machine that runs the MCP server.

Arguments​

ArgumentTypeDescription
target requiredstringA MAC address in the form AA:BB:CC:DD:EE:FF or AA-BB-CC-DD-EE-FF, or the name of a device in the wake: list of your config. A configured name uses the device's MAC address and its ip as the broadcast address. A value that is neither returns invalid MAC address: <value> (expected format: AA:BB:CC:DD:EE:FF).
broadcaststringBroadcast address to send the packet to. It overrides the ip of a configured device. Default: 255.255.255.255.

Response​

FieldTypeMeaning
actionstringAlways wake.
macstringThe MAC address the packet was built for.
broadcaststringThe broadcast address it was sent to.
statusstringAlways sent.
Examples

Wake a device by the name it has in the config:

Arguments:

{
"target": "desktop"
}

Response:

{
"action": "wake",
"mac": "AA:BB:CC:DD:EE:FF",
"broadcast": "255.255.255.255",
"status": "sent"
}

Wake a MAC address on a chosen broadcast address:

Arguments:

{
"target": "aa:bb:cc:dd:ee:ff",
"broadcast": "192.168.5.255"
}

Response:

{
"action": "wake",
"mac": "aa:bb:cc:dd:ee:ff",
"broadcast": "192.168.5.255",
"status": "sent"
}

A value that is neither a configured name nor a MAC address returns an error:

Arguments:

{
"target": "nothex"
}

Response:

invalid MAC address: nothex (expected format: AA:BB:CC:DD:EE:FF)