An open API service indexing awesome lists of open source software.

https://github.com/fatbobman/mail-mcp-bridge

Connect macOS Mail to AI through Model Context Protocol
https://github.com/fatbobman/mail-mcp-bridge

ai ai-assistant automation claude email email-client email-tools integration llm macos macos-mail mcp mcp-server openai productivity python

Last synced: 3 months ago
JSON representation

Connect macOS Mail to AI through Model Context Protocol

Awesome Lists containing this project

README

          

# Mail MCP Bridge

> Connect macOS Mail to AI through Model Context Protocol (MCP)

**Mail MCP Bridge** enables AI assistants (like Claude, ChatGPT) to directly access and analyze your macOS Mail emails. Simply copy a Message-ID from Mail and paste it to AI โ€” no manual email exporting needed.

**Demo: See it in action** (Click to watch)

![Demo Video](https://github.com/user-attachments/assets/b9229493-8bdf-4995-9ca8-d5de55ec7144)

*Shows: Copy Message-ID from Mail โ†’ AI analyzes email content*

[๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡็‰ˆ](README_zh.md)

## ๐ŸŽฏ What & Why

**The Problem**: Much of real-world communication happens through email โ€” project collaborations, client communications, business negotiations, technical support. Manually exporting emails for AI analysis is tedious and inefficient.

**The Solution**: Mail MCP Bridge lets AI directly read your emails through a simple workflow:

- Copy Message-ID from Mail (one keyboard shortcut)
- Paste to AI
- AI analyzes email content instantly

**Use Cases**:

- ๐Ÿ“‹ Track project progress via email threads
- ๐Ÿ’ผ Extract key information from business communications
- ๐Ÿ” Summarize long email conversations
- ๐Ÿ“Š Extract structured data (requirements, feedback, commitments)
- ๐Ÿค Review conversation history
- ๐Ÿ“Ž Analyze email attachments (invoices, reports, documents)

## โœจ Features

- ๐Ÿ“ง **Direct Access** - AI reads your emails through MCP protocol
- ๐Ÿงต **Thread Support** - Retrieve entire conversations with one Message-ID
- ๐Ÿ“Ž **Attachment Extraction** - Extract email attachments for AI analysis (PDFs, documents, images)
- ๐ŸŽจ **Claude Code Plugins** - Pre-built commands and skills for intelligent email analysis
- โšก **Fast** - Millisecond-level query response
- ๐ŸŽฏ **Clean Text** - Optimized text extraction for AI (excludes HTML, embedded images)
- ๐Ÿ”’ **Privacy First** - Runs locally, emails never leave your Mac

## ๐Ÿš€ Quick Start

### Prerequisites

- macOS 12.0+ (with Mail app)
- Python 3.9+
- MCP-compatible AI assistant (e.g., Claude Desktop)

### Installation

```bash
# Clone the repository
git clone https://github.com/fatbobman/mail-mcp-bridge.git
cd mail-mcp-bridge

# Install MCP dependencies
pip3 install mcp
```

### Configure Claude Desktop

1. **Find config location**:

```bash
~/Library/Application Support/Claude/claude_desktop_config.json
```

2. **Edit config** (create if doesn't exist):

```json
{
"mcpServers": {
"mail": {
"command": "python3",
"args": [
"/path/to/mail-mcp-bridge/src/mail_mcp_server.py"
]
}
}
}
```

**Important**: Replace `/path/to/mail-mcp-bridge` with your actual project path.

**Optional**: Configure attachment temp directory (defaults to `/tmp/mail-mcp-attachments`):

```json
{
"mcpServers": {
"mail": {
"command": "python3",
"args": [
"/path/to/mail-mcp-bridge/src/mail_mcp_server.py"
],
"env": {
"MAIL_ATTACHMENT_PATH": "/tmp"
}
}
}
}
```

3. **Restart Claude Desktop** (quit completely, then reopen)

### Install Claude Code Plugins (Optional but Recommended)

Mail MCP includes ready-to-use **Claude Code plugins** that provide intelligent email analysis capabilities:

**What you get**:

- ๐ŸŽฏ **Smart Attachment Analysis** - Automatically detects important attachments (invoices, contracts, tax docs)
- ๐Ÿงต **Thread Tracking** - Tracks document evolution across email conversations
- ๐Ÿš€ **3 Analysis Modes** - Quick/Interactive/Auto modes to optimize token usage
- ๐Ÿ“‹ **Action Item Extraction** - Finds deadlines and tasks in emails

**Install**:

```bash
# 1. Add the Mail MCP plugin marketplace
/plugin marketplace add /path/to/mail-mcp-bridge/plugins

# 2. Install the attachment analyzer
/plugin install mail-attachment-analyzer@mail-mcp

# 3. Restart Claude Code
```

Replace `/path/to/mail-mcp-bridge` with your actual installation path.

**Usage**:

After installation, the plugin works automatically:

```
You: Analyze this email
AI: [Automatically detects attachments and analyzes intelligently]
```

Or use manual commands:

```
/mail-mcp:analyze-attachment
```

๐Ÿ“– **[โ†’ Plugin Documentation](plugins/README.md)**

### Setup Mail Quick Action

Add a "Copy Message-ID" button to Mail app:

**Step-by-Step**:

1. Open **Automator** (`โŒ˜ + Space`, type "Automator")

2. Create new **Quick Action**:
- File โ†’ New (`โŒ˜ + N`)
- Select "Quick Action"
- Workflow receives current: **no input**
- in: **Mail.app**

3. Add **Run Shell Script** action:
- Search "Run Shell Script" in left panel
- Drag to workflow area
- Shell: `/bin/bash**

4. Copy script content:

```bash
cat automator_script.sh
```

Paste entire output into Automator script area

5. Save as **"Copy Message-ID"**

6. (Optional) Assign keyboard shortcut:
- System Settings โ†’ Keyboard โ†’ Keyboard Shortcuts
- Services โ†’ Mail โ†’ "Copy Message-ID"
- Add shortcut (e.g., `โŒ˜ + โ‡ง + C`)

**Automator Setup Example**:

![Automator setup example](images/automatic-setup.webp)

**Test It**:

1. Open Mail app
2. Select any email
3. Press your keyboard shortcut (if configured)
4. You should hear a sound confirming Message-ID copied

## ๐Ÿ“– Usage

### Basic Workflow

```
1. Select email in Mail
2. Press your keyboard shortcut (e.g., โŒ˜โ‡งC)
3. Paste Message-ID to AI
```

### Example Conversations

**Read Single Email**:

```
You: Please analyze this email:

AI: I'll read that email for you...
[AI reads and analyzes the email content]
```

**Read Email Thread**:

```
You: What's the full conversation for ?

AI: I'll retrieve the entire thread...
[AI shows all emails in the conversation]
```

**Real-World Use Case**:

```
You: Please summarize all communication with our business partner,
including their requirements, promised timelines, and action items.

AI: I'll read the relevant email threads and extract key information...
[AI analyzes email content, organizes project progress, commitments, and action items]
```

**Extract Email Attachments**:

```text
You: Extract and analyze the PDF invoice from this email:

AI: I can see this email has an invoice.pdf attachment (1.2MB). Let me extract it...
[AI extracts attachment and analyzes the content]
```

## ๐Ÿ› ๏ธ MCP Tools

| Tool | Description |
|------|-------------|
| `get_email_path` | Get single email file path |
| `get_thread_paths` | Get all paths in email thread |
| `read_email` | Read single email content (includes attachment metadata) |
| `read_thread` | Read entire email thread |
| `extract_attachments` | Extract specific attachments from email |
| `cleanup_attachments` | Clean up temporary attachment files |

๐Ÿ“– **[โ†’ Detailed API Documentation](TOOLS.md)**

## ๐Ÿ—๏ธ How It Works

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Mail App โ”‚ Select email โ†’ Copy Message-ID (โŒ˜โ‡งC)
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ†“ Message-ID
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚MCP Server โ”‚ 1. Query Mail SQLite database
โ”‚ โ”‚ 2. Locate .emlx file by ROWID
โ”‚ โ”‚ 3. Parse email content
โ”‚ โ”‚ 4. Extract plain text
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ†“ Structured Data
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ AI Assistantโ”‚ Analyze email content
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

๐Ÿ”ง **[โ†’ Technical Architecture](ARCHITECTURE.md)**

## ๐Ÿ› Troubleshooting

### MCP server not found

**Solution**:

```bash
# Verify the path in claude_desktop_config.json
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Restart Claude Desktop (quit completely, then reopen)
```

### Email not found

**Possible causes**:

1. Message-ID format incorrect (must include `< >`)
2. Email deleted from Mail
3. Email in different Mail account database

### Permission denied

**Solution**:

```bash
# Make scripts executable
chmod +x *.py *.sh
```

## ๐Ÿ”’ Privacy & Security

- โœ… **Local Processing**: All operations run locally on your Mac
- โœ… **No External Servers**: No data sent to external servers
- โœ… **No Telemetry**: No analytics or tracking
- โœ… **Read-Only**: Only reads email data, never modifies

## ๐Ÿ“š Documentation

- **[TOOLS.md](TOOLS.md)** - Complete API reference for all MCP tools
- **[ARCHITECTURE.md](ARCHITECTURE.md)** - Technical architecture and database structure
- **[README_zh.md](README_zh.md)** - ไธญๆ–‡ๆ–‡ๆกฃ

## ๐Ÿ“ License

MIT License - see [LICENSE](LICENSE) file for details.

## ๐Ÿค Contributing

Contributions welcome! Please feel free to submit a Pull Request.

## ๐ŸŒŸ Acknowledgments

- Built for the MCP (Model Context Protocol) ecosystem
- Inspired by the need to bridge email and AI
- Tested with Claude Desktop on macOS 26 (Tahoe)

## ๐Ÿ“ฎ Contact

- **Issues**:
- **Author**: Fatbobman (Xu Yang)

## โ˜• Buy Me a Coffee

If you find this project helpful, consider buying me a coffee!

[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/fatbobman)

---

**Made with โค๏ธ for the AI community**