Claude Desktop kann Ihre E-Mails lesen, durchsuchen, beantworten und senden – direkt im Chat, ohne Outlook, ohne Azure, ohne OAuth. Dafür braucht man einen MCP-Server, der IMAP und SMTP spricht. In diesem Beitrag zeigen wir Ihnen Schritt für Schritt, wie Sie mcp-mail-server auf Windows 11 mit Claude Desktop einrichten – inklusive aller Stolpersteine, die uns dabei begegnet sind.
Was ist ein MCP-Server?
MCP steht für Model Context Protocol – ein offener Standard, mit dem KI-Assistenten wie Claude auf externe Tools und Datenquellen zugreifen können. Ein MCP-Server für E-Mail gibt Claude die Fähigkeit, per IMAP E-Mails zu lesen und per SMTP zu senden. Alles läuft lokal auf Ihrem Rechner, ohne Cloud-Dienste von Drittanbietern.
Warum mcp-mail-server und nicht imap-mcp?
Es gibt mehrere MCP-Pakete für E-Mail auf npm. Die zwei bekanntesten sind imap-mcp (von dominik1001) und mcp-mail-server. Hier der direkte Vergleich:
| Feature | imap-mcp | mcp-mail-server |
|---|---|---|
| E-Mails lesen | ❌ | ✅ |
| E-Mails senden (SMTP) | ❌ | ✅ |
| Entwürfe erstellen | ✅ | ✅ |
| Ordner durchsuchen | ❌ | ✅ |
| Nach Absender/Betreff suchen | ❌ | ✅ |
| Windows-kompatibel out-of-the-box | ❌ (Pfad-Bug) | ✅ |
Fazit: mcp-mail-server ist die deutlich bessere Wahl, wenn Sie mehr wollen als nur Entwürfe erstellen. Beide Server lassen sich aber auch parallel betreiben – dazu weiter unten mehr.
Voraussetzungen
Bevor es losgeht, benötigen Sie drei Dinge:
- Node.js (Version 18 oder neuer) – von nodejs.org herunterladen und installieren
- Claude Desktop – aus dem Microsoft Store oder als Standalone-Installer von claude.ai
- IMAP/SMTP-Zugangsdaten Ihres E-Mail-Providers
Die Zugangsdaten bestehen aus IMAP-Host und Port (typisch: Port 993 mit SSL), SMTP-Host und Port (typisch: Port 465 mit SSL oder Port 587 mit STARTTLS), Benutzername (meist die E-Mail-Adresse) und Passwort.
Zugangsdaten gängiger deutscher Anbieter
| Anbieter | IMAP-Host | IMAP-Port | SMTP-Host | SMTP-Port |
|---|---|---|---|---|
| All-Inkl (Kasserver) | wXXXXXXX.kasserver.com | 993 | wXXXXXXX.kasserver.com | 465 |
| GMX | imap.gmx.net | 993 | mail.gmx.net | 465 |
| web.de | imap.web.de | 993 | smtp.web.de | 587 |
| Gmail | imap.gmail.com | 993 | smtp.gmail.com | 465 |
| Outlook / Hotmail | outlook.office365.com | 993 | smtp.office365.com | 587 |
| Ionos (1&1) | imap.ionos.de | 993 | smtp.ionos.de | 465 |
| Strato | imap.strato.de | 993 | smtp.strato.de | 465 |
Wichtig bei Gmail und Outlook: Beide Anbieter erfordern ein App-Passwort statt dem normalen Login-Passwort. Bei Gmail finden Sie das unter Google-Konto → Sicherheit → App-Passwörter. Bei Outlook unter Microsoft-Konto → Sicherheit → App-Kennwörter.
Schritt 1: mcp-mail-server installieren
Öffnen Sie PowerShell und installieren Sie das Paket global:
npm install -g mcp-mail-server
Prüfen Sie die Installation mit:
npm list -g mcp-mail-server
Wenn alles geklappt hat, sehen Sie eine Ausgabe wie mcp-mail-server@X.X.X.
Schritt 2: Die Config-Datei erstellen
Hier lauert der erste von sieben Stolpersteinen.
Stolperstein 1: Zwei mögliche Config-Pfade
Claude Desktop liest die Konfiguration je nach Installationsart aus unterschiedlichen Ordnern:
| Installation | Config-Pfad |
|---|---|
| Standalone (.exe Installer) | %APPDATA%\Claude\claude_desktop_config.json |
| Microsoft Store | %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json |
Um herauszufinden, welche Version installiert ist, öffnen Sie PowerShell und führen folgenden Befehl aus:
Get-Process -Name "claude" | Select-Object Path
Enthält der Pfad WindowsApps, handelt es sich um die Store-Version. Ansonsten ist es die Standalone-Variante.
Unsere Empfehlung: Schreiben Sie die Config einfach in beide Pfade. Dann funktioniert es garantiert, egal welche Version installiert ist.
Config schreiben
Passen Sie die Zugangsdaten im folgenden PowerShell-Befehl an und führen Sie ihn aus:
$config = @'
{
"mcpServers": {
"email": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\Users\\DEIN_USERNAME\\AppData\\Roaming\\npm\\node_modules\\mcp-mail-server\\dist\\index.js"],
"env": {
"IMAP_HOST": "DEIN_IMAP_HOST",
"IMAP_PORT": "993",
"IMAP_SECURE": "true",
"SMTP_HOST": "DEIN_SMTP_HOST",
"SMTP_PORT": "465",
"SMTP_SECURE": "true",
"EMAIL_USER": "DEINE_EMAIL",
"EMAIL_PASS": "DEIN_PASSWORT"
}
}
}
}
'@
# Standalone-Pfad
New-Item -ItemType Directory -Force -Path "$env:APPDATA\Claude" | Out-Null
$config | Set-Content "$env:APPDATA\Claude\claude_desktop_config.json" -Encoding UTF8
# Store-Pfad (falls vorhanden)
$storePath = "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude"
if (Test-Path "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc") {
New-Item -ItemType Directory -Force -Path $storePath | Out-Null
$config | Set-Content "$storePath\claude_desktop_config.json" -Encoding UTF8
}
Write-Host "Config geschrieben!" -ForegroundColor Green
Stolperstein 2: Falsche Umgebungsvariablen
Jedes MCP-Paket verwendet eigene Variablennamen. Online-Anleitungen mischen diese gerne durcheinander, was zu stundenlangem Debugging führen kann:
| Variable | mcp-mail-server | imap-mcp |
|---|---|---|
| Benutzername | EMAIL_USER |
IMAP_USERNAME |
| Passwort | EMAIL_PASS |
IMAP_PASSWORD |
| IMAP SSL | IMAP_SECURE |
IMAP_USE_SSL |
| SMTP | ✅ unterstützt | ❌ nicht vorhanden |
Wenn Sie also eine Anleitung für imap-mcp finden und die Variablen für mcp-mail-server verwenden, wird es nicht funktionieren. Achten Sie genau darauf, welches Paket Sie einrichten.
Stolperstein 3: npx vs. absoluter Pfad
Viele Anleitungen empfehlen folgende Konfiguration:
"command": "npx",
"args": ["mcp-mail-server"]
Das kann auf Windows Probleme machen, weil npx manchmal auf eine Bestätigung wartet oder den Pfad nicht auflösen kann. Zuverlässiger ist der absolute Pfad zu node.exe und zum installierten Paket:
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\Users\\User\\AppData\\Roaming\\npm\\node_modules\\mcp-mail-server\\dist\\index.js"]
Den genauen Pfad zu node.exe finden Sie mit:
(Get-Command node).Source
Schritt 3: Claude Desktop neu starten
Nach dem Speichern der Config muss Claude Desktop komplett neu gestartet werden – nicht nur das Fenster schließen, sondern den Prozess beenden.
Store-Version:
Get-Process -Name "claude" -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Sleep 3
Start-Process "shell:AppsFolder\Claude_pzs8sxrjxfjjc!Claude"
Standalone-Version:
Get-Process -Name "Claude" -ErrorAction SilentlyContinue | Stop-Process -Force
Start-Sleep 3
Start-Process "$env:LOCALAPPDATA\AnthropicClaude\Claude.exe"
Schritt 4: Prüfen, ob der Server läuft
- Öffnen Sie Claude Desktop
- Gehen Sie zu ☰ Menü → Einstellungen → Entwickler
- Dort sollte
emailmit dem grünen Status „running“ erscheinen
Falls der Server nicht auftaucht oder rot angezeigt wird, hilft der Troubleshooting-Abschnitt weiter unten.
Schritt 5: MCP-Tools im Chat aktivieren
Stolperstein 4: Das Hammer-Symbol fehlt
Nach der Installation erwarten viele Nutzer ein Hammer-Symbol 🔨 im Chat-Eingabefeld. Das erscheint aber nicht immer automatisch. Stattdessen gehen Sie so vor:
- Klicken Sie auf das + Symbol unten links im Chat-Eingabefeld
- Gehen Sie zu Konnektoren
- Stellen Sie sicher, dass „email“ einen blauen Toggle hat (= aktiviert)
Schritt 6: Testen
Starten Sie einen neuen Chat und probieren Sie folgende Befehle aus:
E-Mails lesen:
Zeige mir meine letzten 5 E-Mails
Nach Absender suchen:
Suche E-Mails von max@beispiel.de
Nach Betreff suchen:
Suche E-Mails mit dem Betreff „Rechnung“
E-Mail senden:
Sende eine E-Mail an max@beispiel.de mit Betreff „Test“ und Text „Hallo, das ist ein Test von Claude!“
Auf eine E-Mail antworten:
Antworte auf die letzte E-Mail von max@beispiel.de und sage „Danke, erledigt!“
Troubleshooting
Server manuell testen
Falls der Server in Claude Desktop nicht startet, können Sie ihn direkt in PowerShell testen. Setzen Sie Ihre Zugangsdaten als Umgebungsvariablen und senden Sie eine MCP-Initialisierungsnachricht:
$env:IMAP_HOST="DEIN_HOST"
$env:IMAP_PORT="993"
$env:IMAP_SECURE="true"
$env:SMTP_HOST="DEIN_HOST"
$env:SMTP_PORT="465"
$env:SMTP_SECURE="true"
$env:EMAIL_USER="DEINE_EMAIL"
$env:EMAIL_PASS="DEIN_PASSWORT"
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"test","version":"1.0"},"protocolVersion":"2024-11-05"}}' | & "C:\Program Files\nodejs\node.exe" "$env:APPDATA\npm\node_modules\mcp-mail-server\dist\index.js"
Erwartete Ausgabe: Eine JSON-Antwort mit "protocolVersion":"2024-11-05" und "serverInfo". Wenn stattdessen eine Fehlermeldung erscheint, stimmen die Zugangsdaten oder der Pfad nicht.
IMAP-Verbindung testen
Test-NetConnection -ComputerName "DEIN_IMAP_HOST" -Port 993
Erwartete Ausgabe: TcpTestSucceeded : True
Logs finden
| Version | Log-Pfad |
|---|---|
| Standalone | %APPDATA%\Claude\logs\main.log |
| Store | %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\main.log |
Relevante Zeilen filtern:
Store-Version:
Select-String -Path "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\main.log" -Pattern "email|error|fail" | Select-Object -Last 20
Standalone:
Select-String -Path "$env:APPDATA\Claude\logs\main.log" -Pattern "email|error|fail" | Select-Object -Last 20
IMAP-Ordnerstruktur anzeigen
Falls bestimmte Funktionen nicht klappen, weil Ordnernamen anders heißen als erwartet, können Sie die Ordnerstruktur Ihres Mailservers abfragen:
& "C:\Program Files\nodejs\node.exe" -e "
const Imap=require('$($env:APPDATA -replace '\\','/')/npm/node_modules/mcp-mail-server/node_modules/imap');
const c=new Imap({user:'DEIN_USER',password:'DEIN_PASSWORT',host:'DEIN_HOST',port:993,tls:true,tlsOptions:{rejectUnauthorized:false}});
c.once('ready',()=>{c.getBoxes((e,b)=>{function list(o,p){for(let k in o){console.log(p+k);if(o[k].children)list(o[k].children,p+k+'.')}};list(b,'');c.end()})});
c.once('error',e=>console.error(e));c.connect()"
Häufige Fehler und Lösungen
| Problem | Ursache | Lösung |
|---|---|---|
| Server erscheint nicht in Einstellungen | Config am falschen Ort | Config in beide Pfade schreiben |
| Server ist rot / crashed | Falsche Zugangsdaten | Manuellen Test durchführen |
ENOTFOUND |
Hostname nicht erreichbar | Hostname prüfen, Test-NetConnection ausführen |
EAUTH / Login fehlgeschlagen |
Falsches Passwort | App-Passwort erstellen (Gmail, Outlook) |
| Tools nicht sichtbar im Chat | Konnektor nicht aktiviert | + → Konnektoren → Toggle aktivieren |
| E-Mail-Zeiten stimmen nicht | Zeitzonen-Problem im Paket | Bekanntes Problem – Inhalte sind korrekt |
Mailbox doesn't exist: Drafts |
Deutscher Ordnername | Siehe Abschnitt „Deutsche Ordnernamen“ |
Spezialfall: Deutsche Ordnernamen
Deutsche Mailserver verwenden häufig deutsche Ordnernamen statt der englischen Standardnamen. Wenn ein MCP-Server intern nach "Drafts", "Sent" oder "Trash" sucht und nichts findet, müssen Sie die Namen im Quellcode anpassen.
| Englisch | Deutsch |
|---|---|
| Drafts | Entwürfe |
| Sent | Gesendet |
| Trash | Papierkorb |
| Spam / Junk | Spam |
| Archive | Archiv |
Stolperstein 5 & 6: Umlaute und UTF-8-Kodierung
Beim Ersetzen von Ordnernamen in den JavaScript-Dateien des Pakets ist besondere Vorsicht geboten. Das Standard-Cmdlet Set-Content in PowerShell speichert Dateien nicht in UTF-8, was Umlaute zerstört. Aus Entwürfe wird dann Entwürfe – und der Mailserver findet den Ordner nicht.
So geht es richtig – explizite UTF-8-Kodierung:
$content = [System.IO.File]::ReadAllText("pfad\zur\datei.js")
$content = $content -replace '"Drafts"','"Entwürfe"'
[System.IO.File]::WriteAllText("pfad\zur\datei.js", $content, [System.Text.Encoding]::UTF8)
So geht es falsch – zerstört Umlaute:
(Get-Content "datei.js") -replace '"Drafts"','"Entwürfe"' | Set-Content "datei.js"
Beide Server parallel betreiben
Sie können imap-mcp und mcp-mail-server gleichzeitig in Claude Desktop nutzen. Das ist sinnvoll, wenn Sie Entwürfe im IMAP-Entwürfe-Ordner ablegen UND E-Mails lesen und senden möchten:
{
"mcpServers": {
"imap": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\Users\\User\\...\\imap-mcp\\dist\\start.mjs"],
"env": {
"IMAP_HOST": "...",
"IMAP_PORT": "993",
"IMAP_USERNAME": "...",
"IMAP_PASSWORD": "...",
"IMAP_USE_SSL": "true"
}
},
"email": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\Users\\User\\...\\mcp-mail-server\\dist\\index.js"],
"env": {
"IMAP_HOST": "...",
"IMAP_PORT": "993",
"IMAP_SECURE": "true",
"SMTP_HOST": "...",
"SMTP_PORT": "465",
"SMTP_SECURE": "true",
"EMAIL_USER": "...",
"EMAIL_PASS": "..."
}
}
}
}
Beachten Sie: imap-mcp hat einen Windows-Pfad-Bug und benötigt einen Wrapper (start.mjs). Details dazu finden Sie im separaten Beitrag zur imap-mcp-Einrichtung.
Alle verfügbaren Tools im Überblick
Nach erfolgreicher Einrichtung stehen Ihnen folgende Funktionen im Claude Chat zur Verfügung:
| Tool | Beschreibung |
|---|---|
open_mailbox |
Postfach öffnen (INBOX, Gesendet, etc.) |
get_recent_messages |
Letzte E-Mails abrufen |
get_unseen_messages |
Ungelesene E-Mails anzeigen |
search_by_sender |
Nach Absender suchen |
search_by_subject |
Nach Betreff suchen |
search_by_body |
Im E-Mail-Text suchen |
search_since_date |
E-Mails ab einem Datum suchen |
get_message |
Einzelne E-Mail komplett lesen |
send_email |
E-Mail senden |
reply_to_email |
Auf eine E-Mail antworten |
create-draft |
Entwurf erstellen |
delete_message |
E-Mail löschen |
Sicherheitshinweise
Das Passwort steht im Klartext in der Config-Datei. Stellen Sie sicher, dass andere Nutzer Ihres Rechners keinen Zugriff darauf haben. Erwägen Sie die Nutzung eines App-Passworts statt Ihres Hauptpassworts, falls Ihr Provider das unterstützt.
Claude fragt vor dem Senden jeder E-Mail um Bestätigung – es wird nichts automatisch verschickt, ohne dass Sie es freigeben.
Alle E-Mail-Daten bleiben lokal auf Ihrem Rechner. Es werden keine Daten an Anthropic oder andere Cloud-Dienste übertragen, abgesehen von der normalen Chat-Kommunikation mit Claude.
Zusammenfassung: Die 7 Stolpersteine
- Store vs. Standalone Config-Pfad – Zwei verschiedene Orte für die gleiche Datei
- Falsche Umgebungsvariablen – Jedes Paket hat eigene Namen (
EMAIL_USERvs.IMAP_USERNAME) - npx-Probleme auf Windows – Besser den absoluten Pfad zu
node.exeverwenden - Hammer-Symbol fehlt – MCP-Tools sind unter
+→ Konnektoren versteckt - Deutsche Ordnernamen –
Drafts→Entwürfe,Sent→Gesendet - UTF-8-Kodierung bei Umlauten – PowerShells
Set-Contentzerstört Sonderzeichen - Zeitzonen – Uhrzeiten können um Stunden abweichen
Getestet am 22. Februar 2026 mit Claude Desktop 1.1.3963 (Microsoft Store), Node.js v24.13.1, mcp-mail-server auf Windows 11 mit All-Inkl (Kasserver).


