email-mcp-postale
Enables Claude Desktop to interact with Postale.io email accounts, supporting multiple mailboxes with features like reading, searching, replying, drafts, and batch operations.
README
Email MCP Server for Postale.io
An MCP server that gives Claude Desktop / Cowork access to your Postale.io email mailboxes. Supports multiple accounts, reading, searching, replying, drafts, deleting, and batch operations.
Features
| Tool | Description |
|---|---|
list_accounts |
Show all configured email accounts |
list_folders |
Show folder structure of an account |
get_unread_emails |
Fetch unread emails |
get_recent_emails |
Fetch recent emails from the last X days |
read_email |
Read a single email in full |
search_emails |
Search emails (subject, sender, body) |
send_email |
Send an email (with reply threading) |
save_draft |
Save a draft (visible in Spark) |
move_email |
Move an email to another folder |
delete_email |
Move an email to trash |
batch_delete_emails |
Delete multiple emails at once |
mark_as_read |
Mark as read |
mark_as_unread |
Mark as unread |
get_mailbox_stats |
Stats: unread per folder |
get_all_unread_summary |
Across ALL accounts: summarize unread |
Setup
1. Clone and install dependencies
git clone https://github.com/ssk-machines/email-mcp-postale.git
cd email-mcp-postale
pip install -r requirements.txt
# or with uv:
uv pip install -r requirements.txt
2. Create configuration
cp config.json.example config.json
Then edit config.json — add an account entry for each mailbox:
{
"accounts": [
{
"name": "My Account",
"email": "me@example.com",
"imap_host": "mail.postale.io",
"imap_port": 993,
"smtp_host": "mail.postale.io",
"smtp_port": 465,
"username": "me@example.com",
"password": "your-password"
},
{
"name": "Support",
"email": "support@example.com",
...
}
]
}
Tip: On Postale.io, the username is always the full email address.
3. Test
python server.py
If no errors appear, the server is running correctly in stdio mode.
4. Add to Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json and add:
With uv:
{
"mcpServers": {
"email": {
"command": "uv",
"args": [
"--directory", "/path/to/email-mcp-postale",
"run", "server.py"
]
}
}
}
Or with Python directly:
{
"mcpServers": {
"email": {
"command": "python3",
"args": ["/path/to/email-mcp-postale/server.py"],
"env": {
"EMAIL_MCP_CONFIG": "/path/to/email-mcp-postale/config.json"
}
}
}
}
Replace
/path/to/email-mcp-postalewith the actual path where you cloned the repo.
5. Restart Claude Desktop
After saving the config, fully quit and reopen Claude Desktop. The email connector should appear as active under "Connectors".
Scheduled Tasks (Cowork)
Morning Briefing (daily, 7:00 AM)
Every morning at 7:00 AM:
1. Call get_all_unread_summary to fetch all unread emails across all accounts.
2. Categorize each email as:
- 🔴 URGENT: Needs immediate reply (customers, partners, investors)
- 🟡 REPLY NEEDED: Needs a reply, but not time-critical
- 🟢 FYI: Just read, no action needed
- ⚪ UNIMPORTANT: Newsletters, marketing, spam
3. Draft a reply for each 🔴 and 🟡 email using save_draft.
4. Mark ⚪ emails as read with mark_as_read.
5. Create a clear summary as a briefing.
Cleanup Task (weekly, Friday 5:00 PM)
Every Friday at 5:00 PM:
1. Search all accounts for newsletter and marketing emails from the past week.
2. Create a list for batch deletion.
3. Show me the list for confirmation before deleting.
Security Notes
- Passwords are stored in plaintext in
config.json— protect the file withchmod 600 config.json - Alternatively: use Postale.io app passwords (if supported)
- Do NOT commit config.json to git
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.