configure_fastmailLABSCO SUMMARY
Search filters good enough to skip the inbox.
Most mail servers give you a mailbox and a keyword and leave the rest to luck. Combining sender, subject, date range and attachment presence in one call is what turns "find the contract Sarah sent in March" into a single request. The thing to weigh: a FastMail API token has access to the whole account, and this one both reads and sends, so it is a broader grant than a read-only integration.
What it is
A Python MCP server on top of FastMail's JMAP API. It covers the whole loop an assistant needs for mail: find the folder, find the message, read the body, reply — with search filters detailed enough that you rarely have to page through a mailbox.
What you get
- Credential setup as its own call, so the API token is handed over once at the start of a session —
configure_fastmail - Mailbox discovery: every mailbox with its name, role and email counts, or a single one found by partial name or by role —
list_mailboxes,find_mailbox - Messages from a mailbox addressed either by id or by name, with a
limitand a switch for whether to include the full body —get_emails - Search with real filters rather than one query box:
keyword,from_email,subject, a mailbox to search inside,hasAttachment, and anafter/beforedate range —search_emails - The full body of one message, returned as text, as HTML, or both —
get_email_body - Outbound mail with
to,ccandbcclists, a subject and a body, plain or HTML —send_email
Requirements
A FastMail account with API access and an API token created under Settings → Privacy & Security → Integrations — the token starts with fmu1-. Python 3.8+. There is no package install: clone, pip install -r requirements.txt, and register fastmail_mcp_server.py with python in your client config; it speaks stdio. Setting MCP_DEBUG turns on debug logging. The project is fastmail-mcp-server (version 0.1.0).
Setup effort
Build from source — git clone https://github.com/jmhron/FastMailMCP.git
USE CASES
Finding an attachment you half remember
Search by sender and date range with the attachment filter on, then open the one message that matches instead of scrolling.
Clearing a backlog by topic
Pull recent messages from a specific folder with bodies excluded, triage them from the previews, and open only the ones that need a reply.
Sending a drafted reply without switching apps
Compose in the conversation and send it through your own account, with CC and BCC where the thread needs them.
Getting oriented in an unfamiliar account
List every mailbox with its role and message count to see where mail actually lands before searching blind.
7 tools
Listed in project docs. Your client may show a different list.
list_mailboxesfind_mailboxget_emailssearch_emailsget_email_bodysend_emailBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
Python 3.8+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/jmhron/FastMailMCP.git
cd FastMailMCP
pip install -r requirements.txtMCP Clients
Claude Desktop
{
"mcpServers": {
"fastmail": {
"command": "python",
"args": [
"<YOUR_PATH_TO_FAST_MAIL_MCP>/fastmail_mcp_server.py"
]
}
}
}