@jordonh19/fastmail-mcp-server
MCP server for Fastmail — enables AI assistants to read, search, send, and manage emails, calendars, and contacts via the JMAP protocol
Versions
1.3.0latest1.2.01.1.11.0.11.0.0Tools 47
summarize_email Use the connected LLM to produce a concise summary of an email
suggest_reply Use the connected LLM to draft a reply to an email based on the provided intent or instructions. Requires the MCP client to support sampling.
send_email Compose and send a new email. Use get_identities first to find available sender identities.
reply_email Reply to an existing email. Automatically sets threading headers (In-Reply-To, References) and determines recipients.
forward_email Forward an existing email to new recipients with an optional message
create_draft Save an email as a draft without sending. The draft can be edited or sent later using send_draft.
send_draft Send a previously saved draft email. The draft must already exist in the Drafts mailbox.
list_address_books List all address books (contact groups) in the Fastmail account
search_contacts Search contacts by name, email, or other criteria. Returns a summary list of matching contacts.
get_contact Get full details of a specific contact by their ID
create_contact Create a new contact in the Fastmail address book
delete_contact Delete a contact by their ID
update_contact Update an existing contact
search_emails Search for emails using filters like sender, recipient, subject, date range, or full-text query. Use this tool when you need to find specific emails matching particular criteria. For simply checking recent emails, use get_latest_emails instead. For unread emails only, use get_unread_emails instead.
get_email Get the full content of a specific email by its ID, including headers, body text, and attachment info
get_email_headers Get selected raw email headers for a message without returning the full body. Defaults to unsubscribe, reply routing, return path, and authentication headers.
one_click_unsubscribe Unsubscribe from a message using one-click unsubscribe headers. Only posts to safe HTTPS List-Unsubscribe URLs when List-Unsubscribe-Post advertises one-click unsubscribe.
get_thread Get all emails in a conversation thread, showing the full discussion chronologically
get_unread_emails Retrieve unread emails, optionally filtered by mailbox. Best for checking what needs attention. Do not use search_emails for this purpose.
get_latest_emails Get the most recent emails sorted by date. Best for quickly checking recent activity without specific search criteria. Do not use search_emails for this purpose.
get_mailbox_emails List emails in a specific mailbox with pagination support. Use this when browsing a folder
get_email_attachments List the attachments on a specific email without returning the full email body. Use this when you only need filenames, types, sizes, and blob IDs before calling download_attachment.
download_attachment Download an email attachment by its blob ID. Use get_email first to find attachment blob IDs. Returns text content directly for text files, or base64-encoded data for binary files. Maximum attachment size is 10 MB.
move_email Move an email to a different mailbox (folder). Use list_mailboxes to find mailbox IDs.
add_labels Add one or more mailbox labels to an email without removing its existing mailbox assignments.
remove_labels Remove one or more mailbox labels from an email while preserving any other mailbox assignments.
update_email_flags Update email flags (read/unread status, flagged/unflagged status)
delete_email Delete an email. By default moves to Trash. Set permanent=true to permanently destroy the email.
bulk_email_action Perform an action on multiple emails at once. Supports marking as read/unread, flagging/unflagging, moving, and deleting.
bulk_add_labels Add one or more mailbox labels to multiple emails at once while preserving their other mailbox assignments.
bulk_remove_labels Remove one or more mailbox labels from multiple emails at once while preserving any other mailbox assignments.
archive_email Move one or more emails to the Archive mailbox. A convenient one-step operation for archiving emails you
mark_mailbox_read Mark all emails in a specific mailbox as read. Useful for clearing unread counts on a mailbox. Processes up to 500 unread emails at a time.
get_mailbox_stats Get compact mailbox statistics such as email counts, unread counts, and thread counts. Use this when you need an overview instead of listing mailbox contents.
get_account_summary Get a compact account-level summary with unique email totals, unread counts, mailbox counts, and top mailboxes. Prefer this over large list calls when you only need an overview.
list_calendars List all calendars in the Fastmail account with their names, colors, and visibility status
get_calendar_events Get calendar events within a date range. Optionally filter by calendar ID or search text.
get_calendar_event Get the full details of a specific calendar event by its ID
create_calendar_event Create a new calendar event. Use list_calendars first to get calendar IDs.
update_calendar_event Update an existing calendar event. Only specified fields will be changed.
delete_calendar_event Delete a calendar event by its ID
check_function_availability Check which major Fastmail feature groups are available for this account and MCP client, including setup guidance for missing mail, submission, contacts, calendars, or sampling support.
get_identities List all sender identities (email addresses) available for sending emails
list_mailboxes List all mailboxes (folders) in the Fastmail account with their roles, email counts, and IDs
create_mailbox Create a new mailbox (folder) in the Fastmail account
rename_mailbox Rename an existing mailbox (folder). Use list_mailboxes to find the mailbox ID.
delete_mailbox Delete a mailbox (folder). The mailbox must be empty or you must set force=true to delete with all contents. System mailboxes (Inbox, Trash, etc.) cannot be deleted.
Permissions 3
network medium shell high env_vars low