Ein großer Teil des Geschäftswissens steckt in E‑Mails, und das, was Sie benötigen, befindet sich meist in einem Anhang: das Angebot, die unterschriebene Änderung, der überarbeitete Zeitplan. GroupDocs.Search.Mcp, das lokal in Docker läuft, öffnet E‑Mail‑Dateien und Archive (PST, OST, MSG, EML) und indexiert jede Nachricht und jeden Anhang, sodass Claude Desktop, Cursor oder Copilot ein Archiv vor Ort durchsuchen und genau angeben können, aus welchem Anhang ein Treffer stammt:
Indexieren Sie den Mail‑Ordner. Welche Nachricht erwähnt eine price increase und was genau sagt sie?
Die Schritt‑für‑Schritt‑Version mit Konfiguration und Fehlersuche finden Sie in der Dokumentation: Wie man E‑Mail‑Archive und Anhänge mit einem KI‑Agenten lokal durchsucht.
Warum ist E‑Mail für einen Agenten schwierig?
Denn ein Archiv ist ein Behälter von Behältern. Eine PST enthält Ordner, Ordner enthalten Nachrichten, Nachrichten enthalten Anhänge, und Anhänge sind eigenständige Word‑Dateien, PDFs und Tabellen. Ein Agent mit Dateitools sieht nur eine große Binärdatei. Das Exportieren des Archivs in lose Dateien funktioniert zwar, ist aber langsam, dupliziert sensible Daten auf die Festplatte und muss wiederholt werden, wenn sich das Archiv ändert. Und ein Modell kann eine PST überhaupt nicht lesen.
Die Suchmaschine übernimmt die Verschachtelung selbst. Jede Nachricht und jeder Anhang wird zu einem durchsuchbaren Element, und ein Ergebnis verzeichnet sowohl, wo sich der Container befindet, als auch, wo im Inneren der Treffer gefunden wurde.
Wie sieht ein Treffer in einem Anhang aus?
Hier ist, was der Server in unserem Test mit drei EML‑Nachrichten zurückgab. Die Phrase “price increase” erscheint nur im Word‑Angebot, das an eine davon angehängt ist; der Nachrichtentext sagt lediglich “please find the updated quotation attached”.
-> add_to_index {"documentsPath":"mail","indexName":"mail"}
<- Indexed 'mail' into index 'mail': 3 document(s) added, 3 in the index.
-> search {"query":"\"price increase\"","indexName":"mail"}
<- { "documentsFound": 1, "documents": [
{ "filePath": "mail/2026-09-18-re-q3-pricing.eml",
"innerPath": "quotation-Q-2026-118.docx",
"occurrences": 1 } ] }
-> get_text_fragments {"query":"\"price increase\"","indexName":"mail"}
<- === mail/2026-09-18-re-q3-pricing.eml → quotation-Q-2026-118.docx
(1 occurrence(s)) ===
…Due to raw material costs we announce a price increase
of 6 percent from 2026-11-01.…
filePath ist die Nachricht; innerPath ist der Anhang. Der Agent kann antworten “the Re: Q3 pricing message from Contoso, in the attached quotation Q-2026-118: a 6 percent increase from 1 November”, und jeder Teil dieses Satzes ist nachvollziehbar.
mail/2026-09-18-re-q3-pricing.eml <- filePath
|- body: "please find the updated quotation attached"
'- attachment: quotation-Q-2026-118.docx <- innerPath
"...we announce a price increase of 6 percent..."
Fragen, die bei E‑Mails funktionieren
Die übliche Abfragesprache gilt, und einige Muster sind besonders nützlich für die Korrespondenz. All diese wurden gegen das gleiche Testpostfach geprüft:
- “Which message from Fabrikam mentions a delivery delay?”:
fabrikam AND delay. Absenderadressen werden zusammen mit der Nachricht indexiert, sodasscontosoauch eine Rechnung fand, deren Text das Unternehmen nie nennt. - “Find every email that mentions order 77812”:
77812. Ganze Zahlen werden als Wörter behandelt. - “Which invoices fall due in October?”:
invoice AND content: daterange(2026-10-01 ~~ 2026-10-31). Das entspricht Datumsangaben, die im Nachrichtentext geschrieben sind, hier “due on 2026-10-22”. Das Präfixcontent:ist wichtig: Ohne es würde ein Datumsbereich auch die vom Engine für jede Datei aufgezeichneten Daten treffen.
Warum Lokalität bei E‑Mails wichtiger ist als bei allem anderen
E‑Mail ist dort, wo das sensible Material liegt: personenbezogene Daten, Verhandlungen, HR‑Threads, rechtliche Beratung. Suchwerkzeuge, die das Postfach hochladen oder mit einem Dienst synchronisieren müssen, sind für viele Teams ein No‑Go. Hier wird das Archiv schreibgeschützt in einen Container auf der Maschine eingebunden, dort indexiert und dort durchsucht. Der einzige Text, der das System verlässt, ist das, was der Agent in seine Antwort zitiert, und bei einem lokal gehosteten Modell nicht einmal das.
Für ein strafferes Setup das Archiv schreibgeschützt einbinden und dem Index ein eigenes Volume zuweisen:
docker run --rm -i \
-v /srv/mail:/data:ro \
-v /srv/mail-index:/index -e GROUPDOCS_MCP_INDEX_PATH=/index \
ghcr.io/groupdocs-search/search-net-mcp:latest
Umfang eines großen Archivs festlegen
Ein Archiv mit zehntausenden Nachrichten lässt sich mit einer Lizenz problemlos indexieren, aber es lohnt sich, bewusst vorzugehen. Indexieren Sie nach Ordner oder nach Jahr als separate Pfade (mail/2025, mail/2026), sodass ein Jahr eigenständig entfernt oder neu aufgebaut werden kann, da die Engine ganze indexierte Pfade statt einzelner Dateien entfernt. Halten Sie E‑Mails in einem eigenen Index, getrennt von Verträgen oder Berichten, damit eine Frage zur Korrespondenz nicht alles andere durchforsten muss. Und wenn das Archiv wächst, holt update_index neue Nachrichten, ohne die alten erneut zu lesen.
Ehrliche Grenzen
- Im Evaluierungsmodus enthält ein Index höchstens 100 Dokumente und eine Suche liefert höchstens 10 Ergebnisse, und jede Nachricht und jeder Anhang zählt, sodass ein echtes Archiv eine Lizenz benötigt. Rufen Sie zuerst
get_license_statusauf. - Ein großes PST benötigt Zeit zum Indexieren: jede Nachricht und jeder Anhang wird geöffnet. Einmal indexieren, dann
update_index. - Gescannte Anhänge ohne Textebene werden nur anhand ihrer Dateieigenschaften indexiert; es gibt kein OCR.
- Nur Docker; unter Linux fügen Sie
--user "$(id -u):$(id -g)"hinzu, sofern Sie nicht das oben beschriebene read-only‑Setup verwenden.
FAQ
Kann ich eine PST‑Datei mit KI ohne Outlook durchsuchen?
Ja. Die Engine liest PST, OST, MSG und EML direkt; Outlook ist nicht beteiligt, und es wird nichts exportiert.
Durchsucht sie E‑Mail‑Anhänge?
Ja. Anhänge werden als Elemente ihrer Nachricht indexiert, und ein Treffer in einem wird mit innerPath zurückgegeben, das den Anhang benennt.
Wird mein Postfach irgendwo hochgeladen?
Nein. Es wird innerhalb eines lokalen Containers gelesen; nur die Passagen, die der Agent zitiert, erreichen Ihren Modell‑Anbieter.
Weiterführende Informationen
- Dokumentation, kanonische Anleitung: Wie man E‑Mail‑Archive und Anhänge mit einem KI‑Agenten lokal durchsucht
- Dokumentations‑Hub: GroupDocs.Search MCP Server
- Hier starten: Benötigen Sie eine Vektor‑Datenbank, um Fragen zu einem Ordner mit Dokumenten zu stellen?
- Verwandt: Warum ein KI‑Agent nicht 300 Verträge lesen sollte, um eine Frage zu beantworten
- Verwandt: Fundierte Antworten aus Ihren Dateien: Zitieren Sie den Abschnitt, nicht das Gedächtnis des Modells
- Verwandt: grep kann PDF nicht lesen: Geben Sie Ihrem Coding‑Agenten einen Dokumenten‑Index
- Verwandt: Projekt‑Gedächtnis für KI‑Agenten: ein Index pro Projekt, stets aktuell
- On‑Premise‑ und Sicherheitsmodell: 3 Architekturen für die KI‑Dokumentenverarbeitung und die, die Dateien innerhalb Ihres Netzwerks hält
- Fragen: GroupDocs Search forum
- Quelle: GroupDocs.Search.Mcp on GitHub