Labsco
MCP SERVER

Fastmail MCP Server

by Jordonh18

Read, search, send and file Fastmail mail from an assistant, with the calendar and address book on the same connection.

Email: Mailboxes & DeliveryVerified
Summary
Mail, calendar and contacts on one token, with tools shaped around the questions people actually ask.

The design detail worth noticing is the anti-search tooling: unread mail, latest mail, mailbox statistics and an account summary each have their own tool, so "what needs attention" does not become a search query returning a wall of messages. Bulk operations and label add/remove that preserve other mailbox assignments make inbox cleanup safe to hand over, and one-click unsubscribe is deliberately narrow — HTTPS only, and only where the message advertises support for it.

What it is

A Fastmail server over JMAP. It covers mail, mailboxes, calendars and contacts in one account, with separate tools for the common questions so you are not writing search filters for everything.

What you get
  • Search by sender, recipient, subject, date range, attachments or full text — and dedicated tools for the two questions search is usually misused for: what is unread, and what arrived most recently
  • One email in full, one thread in chronological order, or just the headers — unsubscribe, reply routing, return path and authentication — without pulling the body
  • A mailbox browsed page by page, attachments listed before you fetch them, and one attachment downloaded by blob ID as text or base64
  • Sending: a new message from one of your sender identities, a reply with In-Reply-To and References set for you, a forward, or a draft saved now and sent later
  • Filing: move between mailboxes, add or remove labels while leaving other assignments alone, flag and unflag, mark read and unread, archive, and delete to Trash or permanently
  • The same operations across many messages at once, plus marking a whole mailbox read in one call
  • Compact overviews instead of long listings — per-mailbox email, unread and thread counts, and an account-level summary with top mailboxes
  • One-click unsubscribe, which only posts to HTTPS List-Unsubscribe URLs where List-Unsubscribe-Post advertises it
  • Mailboxes created, renamed and deleted, with force required to delete one that still has contents
  • Calendars listed, events read by date range or ID, created, updated and deleted
  • Address books listed, contacts searched, read, created, updated and deleted
  • Summaries and drafted replies produced through your own client's model, when the client supports sampling
  • A capability check that reports which Fastmail feature groups and client capabilities are actually available, with setup guidance for the missing ones
Requirements

A Fastmail account on the Standard or Professional plan and an API token with JMAP access. Create it under Settings → Privacy & Security → Manage API tokens and grant Mail, Calendars and Contacts read and write, then pass it as FASTMAIL_API_TOKEN. Node.js 18 or later; run it with npx @jordonh19/fastmail-mcp-server over stdio, from the npm package @jordonh19/fastmail-mcp-server, currently 1.3.0. Adding --transport http --port 3000 serves a single /mcp endpoint over Streamable HTTP plus a browser dashboard, whose one-time access token is printed to the console at startup. The summarize and reply-drafting tools need an MCP client that supports sampling.

Setup effort

One command plus a key — npx @jordonh19/fastmail-mcp-server, then supply credentials