list_mailboxesLABSCO SUMMARY
Your inbox, addressable from the assistant.
Ask for the unread mail in one folder, have a long HTML newsletter read back as text, and send the reply — all through Fastmail's own API, from your own machine.
What it is
A locally-hosted server that connects a Fastmail account to any MCP client through JMAP. It runs on your machine, so no third-party webhook service sits between your mail and the assistant.
What you get
- list_mailboxes returns every folder and label with its ID, role, permissions and unread and total counts
- list_emails queries by mailbox, by full-text search or by unread status, paginated through position and limit
- read_email returns one message in full; textOnly skips the HTML, which is what you want for newsletter-heavy mail
- send_email drafts and sends from your Fastmail account
- Strictly typed TypeScript and Zod schemas throughout, so a malformed request fails at the edge
Requirements
Node and a Fastmail account. The server runs locally and talks to Fastmail's JMAP API directly, so nothing is exposed outward.
Setup effort
Follow the published steps — cp .env.example .env
USE CASES
Clearing what came in overnight
Unread mail in a folder is listed and read in one pass, so triage happens in the same place you would answer it.
Finding the message you half-remember
Full-text search across the account with pagination, so a thread from two months ago is retrievable by a phrase.
Reading a newsletter without the HTML
textOnly fetches only the plain-text part, which keeps a heavy marketing email from swamping the response.
Sending a reply you just dictated
The message is composed and sent from your own address without opening a mail client.
Seeing which folders are backing up
Unread and total counts per mailbox, in one call — the fastest read on where the pressure is.
7 tools
Listed in project docs. Your client may show a different list.
list_emailsread_emailsend_emailmark_email_readmove_emaildelete_emailBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- FASTMAIL_API_TOKEN in your environment
- FASTMAIL_EMAIL in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/mattriffle/local-fastmail-mcp
cd local-fastmail-mcpConfigure your Fastmail API Token
In your Fastmail account, go to Settings → Privacy & Security → Connected apps & API tokens and click New API Token
Give the token the Email scope (required for reading and listing) and the Email submission scope (required for sending emails), then copy it
Local Project Setup
npm install
cp .env.example .envOpen .env and paste in FASTMAIL_EMAIL and FASTMAIL_API_TOKEN
Build the Project
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"local-fastmail": {
"command": "node",
"args": [
"<YOUR_PATH_TO_LOCAL_FASTMAIL_MCP>/dist/index.js"
],
"env": {
"FASTMAIL_EMAIL": "<YOUR_FASTMAIL_EMAIL>",
"FASTMAIL_API_TOKEN": "<YOUR_FASTMAIL_API_TOKEN>"
}
}
}
}