Fastmail MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTMAIL_API_TOKEN | Yes | Fastmail API token with JMAP access. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_mailboxesA | List all mailboxes (folders) in the Fastmail account with their roles, email counts, and IDs |
| create_mailboxA | Create a new mailbox (folder) in the Fastmail account |
| rename_mailboxA | Rename an existing mailbox (folder). Use list_mailboxes to find the mailbox ID. |
| delete_mailboxA | 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. |
| get_identitiesA | List all sender identities (email addresses) available for sending emails |
| search_emailsA | 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_emailA | Get the full content of a specific email by its ID, including headers, body text, and attachment info |
| get_email_headersA | 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_unsubscribeA | 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_threadA | Get all emails in a conversation thread, showing the full discussion chronologically |
| get_unread_emailsA | Retrieve unread emails, optionally filtered by mailbox. Best for checking what needs attention. Do not use search_emails for this purpose. |
| get_latest_emailsA | 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_emailsA | List emails in a specific mailbox with pagination support. Use this when browsing a folder's contents page by page. Use list_mailboxes first to find available mailbox IDs. |
| get_email_attachmentsA | 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_attachmentA | 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. |
| send_emailA | Compose and send a new email. Use get_identities first to find available sender identities. |
| reply_emailA | Reply to an existing email. Automatically sets threading headers (In-Reply-To, References) and determines recipients. |
| forward_emailB | Forward an existing email to new recipients with an optional message |
| create_draftA | Save an email as a draft without sending. The draft can be edited or sent later using send_draft. |
| send_draftA | Send a previously saved draft email. The draft must already exist in the Drafts mailbox. |
| move_emailA | Move an email to a different mailbox (folder). Use list_mailboxes to find mailbox IDs. |
| add_labelsA | Add one or more mailbox labels to an email without removing its existing mailbox assignments. |
| remove_labelsA | Remove one or more mailbox labels from an email while preserving any other mailbox assignments. |
| update_email_flagsA | Update email flags (read/unread status, flagged/unflagged status) |
| delete_emailA | Delete an email. By default moves to Trash. Set permanent=true to permanently destroy the email. |
| bulk_email_actionB | Perform an action on multiple emails at once. Supports marking as read/unread, flagging/unflagging, moving, and deleting. |
| bulk_add_labelsA | Add one or more mailbox labels to multiple emails at once while preserving their other mailbox assignments. |
| bulk_remove_labelsA | Remove one or more mailbox labels from multiple emails at once while preserving any other mailbox assignments. |
| archive_emailA | Move one or more emails to the Archive mailbox. A convenient one-step operation for archiving emails you've dealt with. |
| mark_mailbox_readA | 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_statsA | 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_summaryA | 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_calendarsA | List all calendars in the Fastmail account with their names, colors, and visibility status |
| get_calendar_eventsA | Get calendar events within a date range. Optionally filter by calendar ID or search text. |
| get_calendar_eventA | Get the full details of a specific calendar event by its ID |
| create_calendar_eventA | Create a new calendar event. Use list_calendars first to get calendar IDs. |
| update_calendar_eventA | Update an existing calendar event. Only specified fields will be changed. |
| delete_calendar_eventA | Delete a calendar event by its ID |
| list_address_booksA | List all address books (contact groups) in the Fastmail account |
| search_contactsA | Search contacts by name, email, or other criteria. Returns a summary list of matching contacts. |
| get_contactA | Get full details of a specific contact by their ID |
| create_contactB | Create a new contact in the Fastmail address book |
| delete_contactA | Delete a contact by their ID |
| update_contactA | Update an existing contact's information. Only the fields you provide will be updated; other fields remain unchanged. |
| summarize_emailA | Use the connected LLM to produce a concise summary of an email's subject, sender, and body. Requires the MCP client to support sampling. |
| suggest_replyA | 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. |
| check_function_availabilityA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Jordonh18/fastmail-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server