Send a message
signal_message_sendSend a text message to a Signal chat, group, or Note to Self using a chat ID, with optional quoting of a message. Use it to deliver exact text via a linked account.
Instructions
Sends one text to a chat: a person, a group or Note to Self (the user's own account id as the chat). chat is a chat id from signal_chat_read or signal_contact_read check, never a name or a number. text is sent exactly as given, surrounding blank space trimmed, at most 4000 characters. reply_to quotes a message of that chat by its id; one that was deleted or has disappeared cannot be quoted. A group the user left is refused. The chat's disappearing timer applies by itself. The result means Signal accepted it, not that it was delivered or read; for a group it says how many members it reached and lists those it did not. A failure uncertain means the message may have gone out: check the chat on the phone, never send it again blindly. A send is recorded in the local mirror; errors.record says when that failed although the message was sent.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"chat": "<chat>",
"text": "<text>"
},
"name": "signal_message_send"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chat | Yes | The chat id, from signal_chat_read or signal_contact_read check: a person's account id, or `group:<id>`. The user's own account id is Note to Self. | |
| text | Yes | The text exactly as it should arrive; surrounding blank space is trimmed, and what is left is 1 to 4000 characters. | |
| account | No | The account label; absent picks the only linked label. | |
| reply_to | No | The id of a message of that chat to quote, `<account id>:<sent time in ms>` as a read gives it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sent message's id, `<account id>:<sent time in ms>`. | |
| chat | Yes | ||
| time | Yes | When it was sent, in local time with offset. | |
| errors | No | Set when the message was sent but could not be written to the mirror. | |
| reached | No | A group (or a send with a failure entry): how many recipients Signal accepted it for. | |
| not_reached | No | The recipients it did not reach, by account id, with the reason in plain words. |