health_checkLABSCO SUMMARY
A mailbox an agent can actually work in.
Most email integrations read. This one also sends, files, archives and reorganises the mailboxes themselves, with the identity you reply from as an explicit choice — and contacts, calendar and files arrive over the same connection once the app password is in place.
What it is
A Fastmail client with a full write surface: it can send email, delete messages and modify contacts and calendars on your behalf. Mail and contacts go over JMAP with the API token alone; calendars over CalDAV and file storage over WebDAV are registered only when an app password is also present.
What you get
- Email sent, replied to, moved, archived, pinned and deleted
- Search across messages, and across snippets when you only remember a phrase
- A whole thread read at once, and an individual message parsed
- Mailboxes listed, created, renamed and deleted
- Labels managed and read state set on a message
- Messages imported and exported
- Identities listed and set, so a reply leaves from the right address
- A health check on the connection
- Contacts over JMAP, plus calendars and file storage once the app password is supplied
Requirements
A Fastmail API token with the JMAP contacts capability enabled, as FASTMAIL_API_TOKEN, plus FASTMAIL_EMAIL. Calendars and files additionally need an app password with the DAV scope, as FASTMAIL_APP_PASSWORD. Install with pip install pyfastmail-mcp or run it under uvx.
Setup effort
One command plus a key — pip install pyfastmail-mcp, then supply credentials
USE CASES
Clearing an inbox
Read what arrived, archive or move what is finished, mark the rest, and leave the mailbox in a state you would recognise.
Answering a thread properly
Read the whole thread first, then reply from the identity that belongs on it.
Finding an email you cannot name
Search the mail, scan the snippets, and open the one that matches.
Reorganising how mail is filed
Create, rename or remove mailboxes and move messages into them, instead of clicking through the folder tree.
Getting a message out of or into the account
Export a message as a file, or import one that lives somewhere else, and parse it to read what is inside.
Sending something on your behalf
Compose and send from the account, with the identity chosen and the message pinned if it needs to stay visible.
48 tools
Listed in project docs. Your client may show a different list.
mail_list_mailboxesmail_create_mailboxmail_rename_mailboxmail_delete_mailboxmail_get_emailmail_get_recent_emailsmail_search_emailsmail_search_snippetsmail_get_email_threadmail_mark_email_readmail_pin_emailmail_move_emailmail_delete_emailmail_archive_emailmail_manage_email_labelsmail_export_emailmail_import_emailmail_parse_emailmail_list_identitiesmail_set_identitymail_send_emailmail_reply_to_emailmail_forward_emailmail_list_masked_emailsmail_create_masked_emailmail_update_masked_emailmail_download_attachmentmail_upload_attachmentcontacts_list_address_bookscontacts_listcontacts_get_contactcontacts_query_contactscontacts_create_contactcontacts_update_contactcontacts_delete_contactcalendar_list_calendarscalendar_list_eventscalendar_get_eventcalendar_create_eventcalendar_update_eventcalendar_delete_eventfiles_listfiles_getfiles_uploadfiles_create_folderfiles_movefiles_deleteBEFORE YOU INSTALL
What to know first
Tools you get
48 tools named in the project's documentation.
Requires
- uvx on PATH
- FASTMAIL_API_TOKEN in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install pyfastmail-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"fastmail": {
"command": "uvx",
"args": [
"pyfastmail-mcp"
],
"env": {
"FASTMAIL_API_TOKEN": "<YOUR_FASTMAIL_API_TOKEN>",
"FASTMAIL_APP_PASSWORD": "<YOUR_FASTMAIL_APP_PASSWORD>",
"FASTMAIL_EMAIL": "<YOUR_FASTMAIL_EMAIL>"
}
}
}
}Kiro CLI
{
"mcpServers": {
"fastmail": {
"command": "uvx",
"args": [
"pyfastmail-mcp"
],
"env": {
"FASTMAIL_API_TOKEN": "${FASTMAIL_API_TOKEN}",
"FASTMAIL_EMAIL": "${FASTMAIL_EMAIL}",
"FASTMAIL_APP_PASSWORD": "${FASTMAIL_APP_PASSWORD}"
}
}
}
}