FastMail
About
Interact with FastMail's email, calendar, and contacts via its JMAP API.
Details
- Author
- jmhron
- Categories
- Communication, Productivity
Jump to
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



