Skip to main content
Glama
sweetrb

apple-mail-mcp

by sweetrb

list-mailboxes

Discover mailbox and folder paths in an Apple Mail account, including unread and total message counts, to locate the right mailbox before moving messages or searching a specific folder.

Instructions

Use when: discovering the mailbox/folder paths (and unread/message counts) available in an account, e.g. before moving messages or searching a specific mailbox. Returns: each mailbox's canonical account-relative path in name, unread/message counts, and a total count. Use the full path for nested mailboxes (for example Archive/Inbox); a top-level Inbox remains Inbox. A source that could not be read is NAMED — the result carries partial: true + failedAccounts and the list is a floor, not the complete set — and a listing Mail refused outright (e.g. an account that does not exist) returns an ERROR naming the accounts that do exist, never an empty list. Do not use when: you want the messages inside a mailbox (use list-messages or search-messages) or the list of accounts (use list-accounts). Note: Mail's local "On My Mac" mailboxes are not part of any account, so they are reported under the synthetic account label "On My Mac" — an unscoped call includes them, and account: "On My Mac" lists only them. They will not appear in list-accounts, which reports real accounts only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNoAccount to list mailboxes from

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
partialNo
mailboxesNo
failedAccountsNo
Install Server

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly covers edge cases: partial results with `partial: true` and `failedAccounts`, errors for nonexistent accounts (naming existing ones, never empty), and the synthetic 'On My Mac' account. It also explains the return format (canonical paths, counts, total count). This is exemplary transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections ('Use when', 'Returns', 'Do not use when', a note). It is front-loaded with the primary purpose, each sentence provides distinct and useful information, and there is no redundancy. Although longer than typical, every part earns its place given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for the tool's complexity. It explains return values (counts, paths), edge cases (partial results, errors), the synthetic account handling, and usage context. An output schema exists, so detailed return format isn't needed here. An agent has everything required to call this tool correctly and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes `account` as 'Account to list mailboxes from' (100% coverage). The description adds meaningful nuance beyond the schema: it specifies that `account: "On My Mac"` lists only On My Mac mailboxes, and an unscoped call includes them. This is valuable parameter-specific behavior not present in the schema, bringing the score above the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: discovering mailbox/folder paths and unread/message counts in an account. It names the specific resource (mailboxes) and the operation (list), and distinguishes it from siblings like list-messages, search-messages, and list-accounts by explicitly stating what it is not for. The context 'before moving messages or searching a specific mailbox' further clarifies its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Do not use when' sections, naming alternative tools (list-messages, search-messages, list-accounts) and the conditions that select them. It also explains the 'On My Mac' special case and when an unscoped call vs. a scoped call is appropriate. This leaves nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sweetrb/apple-mail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server