FastMailMCP
FastMail
Documentation
FastMail MCP Server
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.
๐ Features
- ๐ 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
๐ Prerequisites
- Python 3.8+
- FastMail account with API access
- API token from FastMail (Settings โ Privacy & Security โ Integrations)
๐ Installation
1. Clone the repository:
git clone
cd fastmail-mcp-server2. Install dependencies:
pip install -r requirements.txt3. Get your FastMail API token:
๐ Usage
Running the Server
python fastmail_mcp_server.pyThe server will start and listen for MCP commands via stdio.
Configuration
First, configure your FastMail credentials:
{
"tool": "configure_fastmail",
"arguments": {
"apiToken": "fmu1-your-token-here"
}
}Available Tools
๐ configure_fastmail
Set up your FastMail API credentials.
๐ list_mailboxes
List all mailboxes with their names, roles, and email counts.
{
"tool": "list_mailboxes",
"arguments": {
"role": "inbox" // Optional: filter by role
}
}๐ find_mailbox
Find a specific mailbox by name or role.
{
"tool": "find_mailbox",
"arguments": {
"name": "Work", // Partial matching supported
"role": "sent" // Or search by role
}
}๐ง get_emails
Get emails from a specific mailbox.
{
"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
}
}๐ search_emails
Search emails with advanced filtering.
{
"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_email_body
Get the full body content of a specific email.
{
"tool": "get_email_body",
"arguments": {
"emailId": "email-id-here",
"format": "text" // "text", "html", or "both"
}
}๐ค send_email
Send an email through FastMail.
{
"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
}
}๐ง Integration with MCP Clients
Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"fastmail": {
"command": "python",
"args": ["/path/to/fastmail_mcp_server.py"]
}
}
}Other MCP Clients
This server follows the standard MCP protocol and should work with any MCP-compatible client.
๐ Project Structure
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๐ Security Notes
- 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
๐ Troubleshooting
Common Issues
1. Authentication Error: Verify your API token is correct and has proper permissions
2. Connection Error: Check your internet connection and FastMail service status
3. Missing Emails: Ensure you're searching in the correct mailbox
Debug Mode
Enable debug logging by setting environment variable:
export MCP_DEBUG=1
python fastmail_mcp_server.py๐ค Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
- FastMail for their excellent JMAP API
- Model Context Protocol by Anthropic
- JMAP Specification by the IETF
๐ Additional Resources
Frequently asked questions
What is FastMailMCP?
FastMailMCP is FastMail
How do I install FastMailMCP?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is FastMailMCP open source?
Yes โ it is hosted on GitHub at https://github.com/jmhron/FastMailMCP and has 2 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Automate browser based workflows with AI
Hindsight: Agent Memory That Learns
A privacy-first app that strips AI watermarks from content you own.
Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.
The power of Claude Code / GeminiCLI / CodexCLI + [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP