Skip to content

Transports

fast-classifier speaks two transports to Fastmail behind one MailProvider interface. Pick with -p jmap / -p mcp on the CLI or provider.type in config.

JMAP (default) MCP
Token env var FASTMAIL_API_TOKEN FASTMAIL_MCP_TOKEN
Endpoint api.fastmail.com/jmap/session api.fastmail.com/mcp (official)
Page size 100 50 — server hard cap
Keep-list negation full server-side NOT filter -from: literal addresses only; re-checked client-side
Label creation explicit Mailbox/set (nested paths, modal parent) no create tool — addLabels auto-creates missing labels
Search totals real totals (calculateTotal) none (position-only paging)

The transport differences are handled automatically — the page-size caps, keep-list re-checks, and label-creation strategies are all encoded in the providers. The full list of server behaviors each transport encodes is in the Fastmail API quirks appendix, and the transport internals are documented as core concepts: the MCP handshake and the JMAP client.