Send a text message to a Signal contact. The message is delivered end-to-end encrypted. Returns the sent timestamp, which can be used as target_timestamp for react_to_message or edit_message. To reply/quote a specific message, provide quote_author and quote_timestamp (get timestamps from get_conversation). Use send_group_message for group chats, send_attachment for files/images.
Send a text message to a Signal group. The message is delivered end-to-end encrypted to all group members. Returns the sent timestamp, which can be used as target_timestamp for react_to_message or edit_message. To @mention a member, include their name in the message text and pass a mentions list where each entry has start (character index of the mention in the text), length (character count), and author (E.164 phone number). To reply/quote a message, provide quote_author (sender's phone number) and quote_timestamp (from get_conversation). Use list_groups to get group_id values. Use send_group_attachment to send files or images to a group. Do NOT use for direct messages to a contact — use send_message instead.
Send a note to yourself via Signal's 'Note to Self' / saved messages feature. The note is synced across all your linked Signal devices. Useful for saving reminders, bookmarks, or drafts that sync to your phone. message supports lightweight markdown for Signal's native rich text: **bold**, ~~strikethrough~~, `monospace` — use it to visually distinguish different kinds of notes (e.g. a bold title per note) instead of plain text blobs. Pass attachments (e.g. a QR code image) and quote_author/quote_timestamp (to thread a follow-up under a previous note, from a prior send_note_to_self result) to combine content in one message instead of separate calls.
Edit the text of a previously sent message. Sends the edit via signal-cli to all original recipients; they see the updated text inline with an '(edited)' label. Only the message text can be modified — attachments, quoted replies, and reactions are immutable. The edit must reference the exact timestamp of the original message as returned by send_message or get_conversation. Edits can only be made to messages you sent; editing someone else's message returns an error. There is no enforced time limit, but Signal clients may ignore edits on very old messages. Provide recipient for a DM edit or group_id for a group edit; exactly one is required. Use when correcting a typo or updating information in a message you already sent. Do NOT use to change who a message was sent to — send a new message instead.
Manually poll signal-cli for new messages and store them. Prefer get_unread — it does this automatically and returns results in one call. Use receive_messages only if you want to poll without reading results.
Receive messages by calling signal-cli directly, bypassing the daemon. Use this as a fallback when the daemon is stuck or unresponsive — it stops the daemon, calls signal-cli receive directly, then lets the daemon restart. Prefer receive_messages (daemon mode) for normal use; use this only for troubleshooting.
List all Signal contacts known to this account, including names and phone numbers. Use the optional search parameter to filter by name or number substring. Returns contacts from signal-cli's local contact store. Use get_profile to fetch the current Signal profile for a specific contact.
List all Signal groups this account belongs to, including group name, ID, members, and admin list. The group_id returned here is required for send_group_message, send_group_attachment, and update_group. Use update_group to modify a group, or leave_group to exit.
Get recent message history with a contact or group from local store. Automatically marks returned messages as read in the local store (does NOT send a Signal read receipt — call send_read_receipt for that).
Full-text search across all locally stored messages by keyword or phrase. Searches message bodies using SQLite FTS — results are ranked by relevance. Only messages in the local store are searchable; messages never received on this device are excluded. Use sender to narrow results to a specific conversation. Use limit and offset to paginate through large result sets. Use when looking for a specific message or topic across all Signal conversations. Do NOT use to browse a conversation chronologically — use get_conversation for that.
Send one or more files or images to a Signal contact. Supports photos, videos, documents, and audio files. Use path for a single file or paths to send multiple files in one message. Set view_once=true to send media that auto-deletes after the recipient views it once. For groups use send_group_attachment instead.
Send one or more files (photos, videos, documents, audio) to a Signal group in a single message. All current group members receive the attachment via the normal Signal encrypted delivery pipeline. Provide path for a single file or paths for multiple files sent together in one message. Set view_once=true so each member can only open the media once before it disappears — ideal for sensitive images; does not apply to document types. The file must exist and be readable on the local filesystem; non-existent paths return an error. Use list_groups to obtain the group_id. Use when sharing a file with a group chat. Do NOT use for direct messages — use send_attachment instead. Do NOT use when you only want to send text — use send_group_message instead.
+68 more tools listed on main page