list_conversations
Find and filter iMessage conversations by participant, name, group, or unread status, ordered by recent activity; each returns a GUID for use with other tools.
Instructions
Find the user's iMessage conversations, ordered by most recently active. Each has a GUID you pass to other tools. To find conversations with a phone number, use participant (matches 1:1 AND group chats; loosely-formatted numbers are normalized). Use name to search by contact/group name. Pass at most ONE of participant, handle, name, group, or unread; all accept active_since/active_before, limit, and cursor.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Case-insensitive substring of the contact or group display name (e.g. "sam" matches "Sam Rivera"). Searches your most recent conversations. | |
| group | No | true: group chats only. false: 1:1 conversations only. Omit for both. | |
| limit | No | Max number of conversations to return (1-200). Default 50. | |
| cursor | No | Pagination cursor from a previous response's pagination.nextCursor. Omit for the first page. | |
| handle | No | Exact recipient handle (E.164 phone like +14125551234, or email) — returns only the 1:1 conversation with that contact. Prefer `participant` unless you specifically want the 1:1 thread. | |
| unread | No | true: only conversations with unread messages. | |
| participant | No | Phone number or email that appears in the conversation — returns every thread (1:1 AND group) that includes this contact. Accepts loose formats like "(415) 555-1234"; normalized to E.164 automatically. Best way to find "conversations with this number". | |
| active_since | No | ISO-8601 timestamp — only conversations active at or after this time. | |
| active_before | No | ISO-8601 timestamp — only conversations last active before this time. |