Was Sie brauchen
Einen Microsoft-365-Mandanten mit Exchange Online.
Einen Zugang zum Microsoft Entra Admin Center und zur Exchange-Online-PowerShell.
Das eine Postfach, das die KI lesen soll, zum Beispiel
rechnungen@ihre-firma.de.
Weg 1: einen eigenen MCP-Server bauen
So geht es ohne JanuaPort:
App in Entra ID registrieren, ohne Redirect-URI. Der Zugriff läuft ohne angemeldeten Menschen (app-only).
Berechtigung erteilen: Microsoft Graph, Anwendungsberechtigung
Mail.ReadWrite, mit Administratorzustimmung.Mail.Sendbrauchen Sie nur, wenn die KI senden soll.Auf ein Postfach begrenzen. ⚠️ Eine App-Berechtigung gilt von sich aus für alle Postfächer der Organisation. Begrenzen Sie sie in Exchange Online auf das eine Postfach, mit RBAC for Applications oder einer Application Access Policy. Änderungen greifen laut Microsoft erst nach 30 Minuten bis 2 Stunden.
Client Secret erzeugen. Es ist einmal sichtbar und hat ein Ablaufdatum.
MCP-Server schreiben, der sich mit dem Secret ein Zugriffstoken holt, es vor Ablauf erneuert und die Graph-API aufruft. Anhänge liefert Graph als Datei; wer der KI nur Text geben will, muss ihn selbst herauslösen und gegen präparierte Dateien absichern.
Secret ablegen, betreiben, protokollieren: wie bei jedem eigenen Server — Hosting, TLS, Zugang für Claude oder ChatGPT, Updates, ein Protokoll für IT und Datenschutz.
Das ist machbar. Schritt 3 ist dabei die eigentliche Sicherheitsmaßnahme, und er gilt für beide Wege.
Weg 2: mit JanuaPort
JanuaPort ist ein MCP-Gateway, das Sie selbst betreiben. Für das Postfach bringt es eine fertige Vorlage mit.
Entra-App, Berechtigung und Begrenzung wie in Weg 1, Schritt 1 bis 4 — ohne
Mail.Send. Die Begrenzung auf ein Postfach ist Pflicht; ohne sie ist die Einrichtung nicht fertig.Secret in den Tresor legen. In der Admin-Oberfläche unter Credentials, oder per Kommandozeile:
printf '%s' '<client-secret>' | jnpt credential set --name microsoft-graph-mailDas Secret steht danach in keiner Konfiguration und keinem Workflow, und JanuaPort gibt es nie an die KI oder ins Protokoll heraus. Das Zugriffstoken holt und erneuert JanuaPort selbst.
Vorlage auf Ihren Mandanten einstellen. In einer Kopie von
microsoft-graph-mail.yamltragen Sie Mandanten-ID und Client-ID ein:auth: token_url: https://login.microsoftonline.com/<mandanten-id>/oauth2/v2.0/token client_id: "<client-id>"Dann laden:
jnpt connector add --file microsoft-graph-mail.yaml docker compose kill -s HUP jnpt # übernimmt die Integration ohne NeustartVerbindung prüfen: In der Integration unter „Aktionen & Diagnose“ auf „Verbindung prüfen“, oder
jnpt connector check microsoft-graph-mail.Rechte vergeben. Ein Zugang (SSO-Nutzer oder Token) sieht zunächst nichts. Sie geben die Lesewerkzeuge frei und jedes Schreibwerkzeug einzeln.
Claude oder ChatGPT verbinden: Adresse
https://<ihre-anlage>/mcp, angemeldet per SSO oder mit einem eigenen Token je Nutzer oder Ablauf.
Ab dann steht jeder Aufruf im Audit-Log: wann, wer, welches Werkzeug, mit welchem Ergebnis.
Welche Werkzeuge die Vorlage mitbringt
| Werkzeug | Art |
|---|---|
| Nachrichten auflisten, nach Zeitraum, Absender oder Betreff | lesen |
| Eine Nachricht mit Text holen | lesen |
| Anhänge einer Nachricht auflisten (Name, Typ, Größe) | lesen |
| Textinhalt eines Anhangs holen (PDF-Textebene, eingebettete E-Rechnung) | lesen |
| Antwort als Entwurf ins Postfach legen | schreiben, eigenes Recht |
| Anhang benannt in einer Ablage speichern | schreiben, eigenes Recht |
| Nachricht in einen Ordner verschieben | schreiben, eigenes Recht |
| Nachricht als gelesen markieren | schreiben, eigenes Recht |
Bewusst nicht drin: Senden. Die App bekommt kein Mail.Send; Microsoft schreibt zu Mail.ReadWrite ausdrücklich, dass es das Senden nicht einschließt. Ein Mensch öffnet den Entwurf in Outlook und klickt auf Senden.
Was Sie wissen sollten
Ein Postfach je Integration. Für ein zweites Postfach legen Sie eine zweite Integration an, mit eigener Begrenzung in Exchange.
Anhänge sind Text, keine Datei. Die KI bekommt die Textebene von PDFs und eingebettete E-Rechnungsdaten. Gescannte Belege ohne Textebene liest sie nicht, eine Texterkennung (OCR) gibt es nicht. Beim Speichern eines Anhangs gehen die Bytes direkt in die Ablage und nie durch die KI.
Secret erneuern: Das Client Secret hat ein Ablaufdatum. Tragen Sie es als Fälligkeit ein; an dem Tag steht die Integration still, bis ein neues Secret im Tresor liegt.
Datenschutz: Ein Postfach enthält Namen, Adressen und Inhalte Dritter. Was Ihre KI über JanuaPort abruft, sieht auch ihr KI-Anbieter. Felder, die Sie als sensibel festlegen, etwa Kundennamen oder IBANs, ersetzt JanuaPort vorher durch Kürzel — nach festen Regeln, ohne KI dazwischen. Die Vorlage legt das nicht von sich aus fest; Sie entscheiden je Feld.
Wer bestätigt Schreibvorgänge? Die Schreibwerkzeuge sind als solche gekennzeichnet, und Ihr KI-Client kann vor dem Aufruf nachfragen. JanuaPort selbst fragt nicht nach. Die tragende Grenze ist das Recht.
Häufige Fragen
- Kann die KI Mails senden?
- Nein. Sie legt Entwürfe an. Das Senden bleibt beim Menschen, und die App hat dafür auch keine Berechtigung.
- Kann die KI andere Postfächer lesen?
- Nicht, wenn die Begrenzung in Exchange Online eingerichtet ist. Ein Zugriff auf ein anderes Postfach endet dann mit HTTP 403.
- Brauche ich für jeden Mitarbeiter einen eigenen Zugang?
- Mit SSO meldet sich jeder Mitarbeiter mit seinem Firmenkonto an und bekommt die Rechte seines Teams. Für Abläufe ohne Menschen, etwa in n8n oder einem Skript, gibt es Tokens mit eigenen Rechten. Jede Person, die sich anmeldet, und jeder Token zählen als eine Identity.
- Geht das auch mit dem Kalender?
- Eine Vorlage für den Microsoft-365-Kalender gibt es, ihr Test gegen einen echten Mandanten steht noch aus.
Für Agenturen
Sie bauen für Ihre Kunden Abläufe mit Microsoft 365? Dann kennen Sie die zwei Hürden: Jedes Projekt baut die Anbindung neu, und am Ende fragen IT, Datenschutz und Betriebsrat, wer was darf und wo die Schlüssel liegen. Mit JanuaPort liegen die Zugangsdaten beim Kunden, Ihr Ablauf bekommt einen Token mit genau den Rechten, die er braucht, und jeder Aufruf steht im Protokoll.