An assistant can write a fluent summary of an incomplete result. A useful retrieval workflow keeps the scope visible.
Keep the search window in the answer
A recent-message query and a complete archive search are different requests. Preserve the time range, result limit and any completeness information returned by the server.
The daveremy project documents a 5,000-message search bound and a coverage line. If that bound excludes older context, the assistant should say so instead of suggesting it searched everything.
Confirm how text is extracted
Local Messages projects discuss modern message text stored in attributedBody rather than only the plain text column. The underlying parser and operating-system compatibility affect what the assistant receives.
Use a known conversation containing a short message, formatted content and an older message as a retrieval check. Repository marketing about completeness is not a substitute for observing the result on your own Mac.
Fetch attachments intentionally
A metadata marker can establish that an attachment exists without loading its contents. A separate image retrieval may then disclose the file to a multimodal model. Make that second step deliberate.
Mac Messages MCP describes separate attachment metadata and fetch tools. Other projects return image blocks or local paths. Review what each client does with those output types.
Separate evidence from a proposed action
Use a summary to show the retrieved facts and remaining gaps. A later send should use independently checked destination and text, with its own approval step.
If context is unavailable or contradictory, pause the application’s send path and let an operator inspect the thread. The existence of a send tool should never force an answer from missing evidence.