IMAP MCP Server
# IMAP MCP Server
> **Status: Getestet**
MCP (Model Context Protocol) Server für IMAP Email-Operationen.
## Installation
```bash
cd IMAP-MCP
pip install -e .
```
## Konfiguration
1. Kopiere `config.json.example` zu `config.json`
2. Trage deine IMAP-Zugangsdaten ein:
```json
{
"imap": {
"host": "imap.example.com",
"port": 993,
"secure": true
},
"credentials": {
"username": "deine-email@example.com",
"password": "dein-app-passwort"
}
}
```
## Verwendung
### Als MCP Server starten
```bash
imap-mcp
```
### In Claude Code einbinden
In `~/.claude/settings.json`:
```json
{
"mcpServers": {
"imap": {
"command": "python",
"args": ["-m", "imap_mcp.server"],
"cwd": "/pfad/zu/IMAP-MCP/src"
}
}
}
```
## Funktionen (38 Tools)
### Verbindung
| Funktion | Beschreibung |
|----------|--------------|
| connect | IMAP-Verbindung aufbauen |
| authenticate | Login mit Username/Passwort |
| disconnect | Verbindung schliessen |
| auto_connect | Mit config.json Credentials verbinden |
### Mailboxen
| Funktion | Beschreibung |
|----------|--------------|
| list_mailboxes | Alle Ordner auflisten |
| select_mailbox | Ordner oeffnen |
| create_mailbox | Neuen Ordner erstellen |
| get_mailbox_status | Status (Anzahl, Ungelesen, etc.) |
### Emails lesen
| Funktion | Beschreibung |
|----------|--------------|
| fetch_emails | Emails abrufen mit Filtern |
| get_email | Komplette Email per UID |
| get_email_headers | Nur Header (schneller) |
| get_email_body | Body (text/html) |
| get_attachments | Anhaenge auflisten |
| download_attachment | Anhang herunterladen (base64) |
| get_thread | Email-Thread/Konversation |
### Suche
| Funktion | Beschreibung |
|----------|--------------|
| search_emails | Freie Suche (IMAP SEARCH) |
| search_by_sender | Nach Absender |
| search_by_subject | Nach Betreff |
| search_by_date | Nach Datum |
| search_unread | Alle ungelesenen |
| search_flagged | Alle markierten |
### Aktionen
| Funktion | Beschreibung |
|----------|--------------|
| mark_read | Als gelesen markieren |
| mark_unread | Als ungelesen markieren |
| flag_email | Flag hinzufuegen |
| unflag_email | Flag entfernen |
| move_email | In anderen Ordner verschieben |
| copy_email | In anderen Ordner kopieren |
| archive_email | Archivieren |
| save_draft | Entwurf speichern |
### Statistiken
| Funktion | Beschreibung |
|----------|--------------|
| get_unread_count | Anzahl ungelesener Emails |
| get_total_count | Gesamtanzahl |
### Cache & Watch
| Funktion | Beschreibung |
|----------|--------------|
| get_cached_overview | Gecachte Uebersicht |
| refresh_cache | Cache aktualisieren |
| start_watch | IDLE Watch starten |
| stop_watch | IDLE Watch stoppen |
| idle_watch | Einzelne Mailbox beobachten |
### Auto-Archive
| Funktion | Beschreibung |
|----------|--------------|
| get_auto_archive_list | Auto-Archive Sender auflisten |
| add_auto_archive_sender | Sender hinzufuegen |
| remove_auto_archive_sender | Sender entfernen |
| reload_auto_archive | Config neu laden |
## Lizenz
MIT
TDQS
Scored across 41 tools
The tools have clear purposes for core IMAP operations like fetch_emails, move_email, and create_mailbox, but there is notable overlap in search functionality (search_emails, search_by_date, search_by_sender, search_by_subject, search_unread, search_flagged) and in email status retrieval (get_unread_count, get_total_count, get_mailbox_status, get_cached_overview), which could cause confusion or redundancy in agent selection.
Tool names follow a consistent snake_case pattern with clear verb_noun structures, such as fetch_emails, create_mailbox, and download_attachment. Minor deviations exist, like auto_connect (which lacks an object) and idle_watch (which is less descriptive), but overall the naming is predictable and readable.
With 41 tools, the count is excessive for an IMAP server, leading to a bloated interface. Many tools could be consolidated (e.g., multiple search variants into parameters of a single search tool), making it heavy and potentially overwhelming for agents to navigate efficiently.
The tool set provides comprehensive coverage for IMAP email management, including connection handling (connect, authenticate, disconnect), mailbox operations (list_mailboxes, create_mailbox), email retrieval (fetch_emails, get_email), actions (move_email, archive_email, flag_email), search capabilities, and advanced features like auto-archiving and IDLE watching, leaving no obvious gaps for the domain.