search_messages
Find messages by keyword, sender, or date range across local conversations. Results are returned newest first and support pagination.
Instructions
Full-text search of message bodies across all conversations in the local store (SQLite FTS; no Signal server call, nothing marked read). Only messages stored on this device are found. Use get_conversation to read a chat in order. query: words to find (all words must occur; falls back to substring match if FTS fails; empty returns []). sender: only messages from this E.164 number. since (inclusive) / until (exclusive) ISO dates, e.g. since=2024-01-01, until=2024-01-02 covers all of Jan 1; invalid dates return an error. limit: max results (default 50, clamped 1-500); offset: skip N results for paging (default 0). Returns a list of messages, newest first (id, sender, sender_name, recipient, group_id, group_name, body, timestamp, attachments …).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return (default 50, clamped 1-500) | |
| query | Yes | Keyword or phrase to search for | |
| since | No | Only messages at or after this ISO datetime (e.g. 2024-01-01 or 2024-01-01T09:00:00) | |
| until | No | Only messages strictly before this ISO datetime (exclusive; until=2024-01-02 includes all of Jan 1) | |
| offset | No | Skip this many results for pagination (default 0) | |
| sender | No | Filter results to messages from this phone number (E.164) |