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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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