FastMail

by jmhron

Not rated
GitHub

About

Interact with FastMail's email, calendar, and contacts via its JMAP API.

Details

Author
jmhron
Categories
Communication, Productivity

Setup

Install FastMail in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/jmhron/FastMailMCP

Follow the installation instructions in the repository README, then restart your MCP client.

A Model Context Protocol (MCP) server for integrating with FastMail's JMAP API. This server provides tools for reading emails, searching, managing folders, and sending emails through FastMail.

- πŸ“ Mailbox Management: List and find mailboxes/folders
- πŸ“§ Email Reading: Get emails from specific folders with previews
- πŸ” Advanced Search: Search by keyword, sender, subject, date range, attachments
- πŸ“€ Email Sending: Send emails with CC/BCC support
- 🎯 Folder Targeting: Search within specific folders
- ⚑ Fast Performance: Uses FastMail's modern JMAP protocol

- Python 3.8+
- FastMail account with API access
- API token from FastMail (Settings β†’ Privacy & Security β†’ Integrations)

git clone <your-repo-url> cd fastmail-mcp-server

- Log into FastMail
- Go to Settings β†’ Privacy & Security β†’ Integrations
- Create a new API token
- Copy the token (starts withfmu1-)

The server will start and listen for MCP commands via stdio.

First, configure your FastMail credentials:

{ "tool": "configure_fastmail", "arguments": { "apiToken": "fmu1-your-token-here" } }

List all mailboxes with their names, roles, and email counts.

{ "tool": "list_mailboxes", "arguments": { "role": "inbox" // Optional: filter by role } }

Find a specific mailbox by name or role.

{ "tool": "find_mailbox", "arguments": { "name": "Work", // Partial matching supported "role": "sent" // Or search by role } }
{ "tool": "get_emails", "arguments": { "mailboxId": "mailbox-id-here", // From list_mailboxes "mailboxName": "Inbox", // Alternative to mailboxId "limit": 20, // Max emails to fetch "includeBody": false // Include full email body } }
{ "tool": "search_emails", "arguments": { "keyword": "project update", // Text search "from_email": "boss@company.com", // From specific sender "subject": "meeting", // Subject contains "mailboxId": "inbox-id", // Search within folder "hasAttachment": true, // Has attachments "after": "2024-01-01", // Date range "before": "2024-12-31", "limit": 50, "includeBody": false } }

Get the full body content of a specific email.

{ "tool": "get_email_body", "arguments": { "emailId": "email-id-here", "format": "text" // "text", "html", or "both" } }
{ "tool": "send_email", "arguments": { "to": ["recipient@example.com"], "cc": ["cc@example.com"], // Optional "bcc": ["bcc@example.com"], // Optional "subject": "Hello from MCP!", "body": "This is the email body.", "isHtml": false // Set to true for HTML emails } }
{ "mcpServers": { "fastmail": { "command": "python", "args": ["/path/to/fastmail_mcp_server.py"] } } }

This server follows the standard MCP protocol and should work with any MCP-compatible client.

fastmail-mcp-server/ β”œβ”€β”€ fastmail_mcp_server.py # Main server implementation β”œβ”€β”€ requirements.txt # Python dependencies β”œβ”€β”€ pyproject.toml # Package configuration β”œβ”€β”€ README.md # This file └── examples/ # Example usage scripts └── test_server.py # Test script

- API Token Security: Never commit your API token to version control
- Permissions: The API token has access to your entire FastMail account
- Network: All communication uses HTTPS with FastMail's secure APIs
- Authentication Error: Verify your API token is correct and has proper permissions
- Connection Error: Check your internet connection and FastMail service status
- Missing Emails: Ensure you're searching in the correct mailbox

Enable debug logging by setting environment variable:

export MCP_DEBUG=1 python fastmail_mcp_server.py

- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request

MIT License - see LICENSE file for details.

- FastMailfor their excellent JMAP API
-
Model Context Protocolby Anthropic
-
JMAP Specificationby the IETF

- FastMail API Documentation
-
JMAP Specification
-
MCP Documentation

Manage your WhatsApp, SMS and Phone Calls using a single MCP connector

Connect to any function, any language, across network boundaries using AgentRPC.

Access your meeting transcripts, summaries, and action items from any AI assistant.

Connect Claude, ChatGPT, and other AI tools to your Granola meeting notes via MCP. Query your notes, search transcripts, and get meeting insights in your favorite AI assistants.

Build with the Kudosity API to send SMS and MMS. Access developer docs, API references and live testing tools to send messages, manage contact lists, configure webhooks and more.

Send SMS, WhatsApp, and RCS messages programmatically with DLT compliance. Manage contacts, schedule campaigns, and track delivery reports.

Interact with Twilio APIs to send messages, manage phone numbers, configure your account, and more.

The VoIPstudio MCP server gives compatible AI assistants secure access to authorised VoIPstudio account data, including recordings, call detail records, live calls and voicemails in order to query call activity, analyse patterns, identify agent performance issues and generate QA or operations reports in plain English.

A bridge server connecting Agent Communication Protocol (ACP) agents with Model Context Protocol (MCP) clients.

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.