List Emails
list_emailsUse this when the user wants to see or triage their inbox on this Mac (Apple Mail — any account added to Mail.app: iCloud, Gmail, IMAP, Exchange). Lists email headers (subject, sender, date, unread); call read_email(message_id) for the full body. For a Microsoft 365 mailbox NOT added to Mail.app, use m365_list_emails.
IMPORTANT: on machines with 2+ accounts, call with account= (from list_email_accounts). Without it, and when the fast index can't answer, list_emails returns the account list instead of scanning all of them — scanning every account in one call has no time limit and can block Mail for other requests too (#2268). Exactly 1 account is unaffected.
Supports pagination: use offset to page through results (e.g. offset=20 for page 2 with limit=20). The limit parameter is capped at 50 per call (default 20); to read more, page with offset rather than requesting a larger limit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many messages to return, 0-50 (0 returns none). Defaults to 20. | 20 |
| offset | No | How many messages to skip before returning, for paging through a folder. Defaults to 0. | 0 |
| account | No | Mail.app account name (from list_email_accounts). On a Mac with 2+ accounts, passing it is much faster than letting the walk cover all of them. | |
| mailbox | No | Folder to list, by name (see list_email_folders). Defaults to the Inbox. | |
| unread_only | No | Return only unread messages. Defaults to false. | false |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| offset | No | ||
| messages | No | ||
| next_actions | No |