Search past messages
search_messagesSearch this account's correspondence by words, and optionally by who wrote it, when, and what kind of statement it was. Answers "find Richard's feedback about onboarding", "why did we reject that pricing option", "what did I promise the client". Every hit says which field it matched — a decision, a rejected option, an open question, the sender's note — so a proposal is never reported as a decision, and a hit with something later on the same thread is marked, because a correction is the newest thing said rather than the best match. Reads only, and reaches nothing the user could not already open. Searches CORRESPONDENCE; notebook_find searches the user's own private notebook. get_package reads a hit in full and get_thread reads the conversation around it.
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": {
"text": "<text>"
},
"name": "search_messages"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Narrow to threads the user has tagged with this word — the user's own private label, from list_tags. Omit for every thread. | |
| from | No | Limit to one person: their email address, or a contact name as the user says it. A name that matches two contacts is reported rather than guessed between. | |
| kind | No | Limit to one kind of statement: any (default) | decision | option | option-chosen | option-rejected | question | note | ask | assumption | message | brief | excerpt. "message" is the body the sender wrote; "brief" is the TL;DR and the background around it. | any |
| text | Yes | What to look for, in the user's own words — a half-remembered phrase is fine, and at least 3 characters. Matched on word stems against the sender's note, the ask, the TL;DR, the message itself, the brief, assumptions, options, decisions, open questions and excerpts, so "forking" finds "fork"; a misspelling gets one attempt against words this account actually uses, and the reply says which word was searched for. Ordered by how well each matches rather than by date. | |
| limit | No | Hits per page (default 5, max 10). A ranked search puts the answer at the top; get_package reads one in full. | |
| since | No | Only messages sent on or after this date (2026-09-01). | |
| until | No | Only messages sent on or before this date. | |
| offset | No | Skip this many hits, most recent first (default 0). The reply says the offset of the next page. | |
| project | No | Narrow to conversations filed under one notebook project, by name — the same projects notebook_find uses. Omit for every thread. |