@softeria/ms-365-mcp-server (MIT-Lizenz) und nutzt die Microsoft Graph API.
Die Integration verwendet ausschließlich Delegated Permissions. Jeder User authentifiziert sich selbst über den Device Code Flow und greift nur auf seine eigenen Daten zu. Datenisolation ist by design garantiert – es ist technisch nicht möglich, auf Daten anderer User zuzugreifen.
Für die meisten Anwendungsfälle sind die nativen Konnektoren der empfohlene Standard-Weg: SharePoint, Outlook und Microsoft Teams richten Sie geführt über Org-Einstellungen → Zugangsdaten ein. Diese MCP-Server-Variante ist der fortgeschrittene Alternativweg über einen selbst konfigurierten Tool-Server.
Voraussetzungen
Bevor Sie starten, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:- Microsoft 365 Tenant mit Entra ID (Azure AD)
- Admin-Zugang zum Azure Portal für die App Registration und Admin Consent
- Mindestens Space Administrator für die Tool Server Konfiguration
Azure Einrichtung
Sicherheitsgruppe erstellen
Navigieren Sie in Entra ID zu Gruppen → Neue Gruppe und erstellen Sie eine Sicherheitsgruppe:
Fügen Sie unter Mitglieder alle User hinzu, die die Integration nutzen sollen.
| Feld | Wert |
|---|---|
| Gruppentyp | Sicherheit |
| Gruppenname | z.b M365 Localmind |
| Gruppenbeschreibung | User mit Zugriff auf die Localmind M365 Integration |
Diese Gruppe steuert, wer die App nutzen darf. Nur Mitglieder können sich über den Device Code Flow authentifizieren. Nicht-Mitglieder erhalten beim Login eine Fehlermeldung.
App Registration anlegen
Navigieren Sie zu Entra ID → App-Registrierungen → Neue Registrierung und tragen Sie folgende Werte ein:
Klicken Sie auf Registrieren.
| Feld | Wert |
|---|---|
| Name | Localmind M365 Connector |
| Unterstützte Kontotypen | Nur Konten in diesem Organisationsverzeichnis (Einzelner Mandant) |
| Umleitungs-URI | Leer lassen |
API-Berechtigungen vergeben
Navigieren Sie zu API-Berechtigungen → Berechtigung hinzufügen → Microsoft Graph → Delegierte Berechtigungen und fügen Sie folgende Berechtigungen hinzu:
Klicken Sie anschließend auf Administratoreinwilligung erteilen für [Ihr Tenant] und bestätigen Sie.
| Berechtigung | Zweck |
|---|---|
User.Read | Basis-Profil des angemeldeten Users |
Calendars.Read | Kalender-Einträge abrufen |
Mail.ReadWrite | Mail-Entwürfe erstellen und lesen |
Files.Read.All | OneDrive- und SharePoint-Dateien lesen |
Sites.Read.All | SharePoint Sites durchsuchen |
Öffentliche Client-Flows aktivieren
Navigieren Sie zu Authentifizierung → Erweiterte Einstellungen und setzen Sie:
Klicken Sie auf Speichern.Dies ermöglicht den Device Code Flow, über den sich User im Agentic Chat authentifizieren. Bei diesem Flow wird kein Client Secret benötigt.
| Einstellung | Wert |
|---|---|
| Öffentliche Clientflows zulassen | Ja |
Die App-Instanzeigenschaftssperre kann auf den Standardeinstellungen belassen werden (alle Optionen angehakt).
Zugriff auf Sicherheitsgruppe einschränken
Wechseln Sie zu Unternehmensanwendungen (Enterprise Applications) – das ist ein separater Menüpunkt in Entra ID, nicht innerhalb der App-Registrierungen.Suchen Sie Ihre App (
Speichern Sie, navigieren Sie dann zu Benutzer und Gruppen → Benutzer/Gruppe hinzufügen und weisen Sie die in Schritt 1 erstellte Sicherheitsgruppe (
Localmind M365 Connector) und navigieren Sie zu Eigenschaften:| Einstellung | Wert |
|---|---|
| Zuweisung erforderlich? | Ja |
Localmind M365 Users) zu.Nur Mitglieder der zugewiesenen Gruppe können die Integration nutzen. Wenn ein User, der nicht in der Gruppe ist, versucht sich einzuloggen, erhält er die Fehlermeldung
AADSTS50105.Localmind Konfiguration
Tool Server anlegen
Navigieren Sie in Localmind zu Einstellungen → Tool Server → Neuen Tool Server erstellen und tragen Sie folgende Werte ein:
| Feld | Wert |
|---|---|
| Name | Microsoft 365 |
| Beschreibung | Mail-Entwürfe, Kalender, SharePoint via Microsoft Graph |
| Verbindungstyp | NPX-Paket |
| Paket | @softeria/ms-365-mcp-server |
| Args | --org-mode |
Konfigurationsvariablen eintragen
Fügen Sie unter Konfiguration folgende Schlüssel-Wert-Paare hinzu:
| Schlüssel | Wert | Sicher |
|---|---|---|
MS365_MCP_TENANT_ID | Ihre Verzeichnis-ID (Mandanten-ID) aus Schritt 2 | Nein |
MS365_MCP_CLIENT_ID | Ihre Anwendungs-ID (Client-ID) aus Schritt 2 | Nein |
ENABLED_TOOLS | mail|calendar|login|verify|sharepoint | Nein |
ENABLED_TOOLS ist ein Regex-Pattern. Mehrere Kategorien werden mit | (Pipe) getrennt. Die Tools login und verify sollten immer enthalten sein, da sie für die Authentifizierung benötigt werden. Beispiele:mail|calendar|login|verify— nur Mail und Kalendermail|calendar|login|verify|sharepoint— zusätzlich SharePointmail|calendar|login|verify|drive|file|folder— zusätzlich OneDrivemail|calendar|login|verify|excel— zusätzlich Excel-Operationen
Tenant ID und Client ID sind keine Geheimnisse – sie sind öffentliche Identifier. Ohne den Device Code Login eines berechtigten Users sind sie wertlos. Ein Client Secret wird bei diesem Flow nicht benötigt.
Erster Login & Nutzung
Agentic Chat öffnen
Öffnen Sie einen Agentic Chat in Ihrem Private Space und schreiben Sie z.B.:
Zeig mir meine Kalender-Einträge für heute
Device Code Login durchführen
Der Agent erkennt, dass noch kein Token vorhanden ist und startet den Device Code Flow. Sie erhalten eine Nachricht mit einer URL und einem Code.

- Öffnen Sie https://microsoft.com/devicelogin in einem Browser
- Geben Sie den angezeigten Code ein
- Loggen Sie sich mit Ihrem Microsoft 365 Account ein (muss Mitglied der Sicherheitsgruppe sein)
- Bestätigen Sie die angeforderten Berechtigungen
Use Cases
Mail-Entwurf erstellen
Mail-Entwurf erstellen
Beispiel-Prompt:
Erstelle einen Mail-Entwurf an max@firma.de mit dem Betreff “Angebot Projektstart” und fasse unsere bisherige Diskussion als Inhalt zusammen.Ergebnis: Der Entwurf erscheint in Outlook unter Entwürfe. Sie können ihn dort prüfen, bearbeiten und versenden.
Kalender abfragen
Kalender abfragen
Beispiel-Prompt:
Was steht morgen in meinem Kalender? Bereite mir eine Zusammenfassung mit Notizen vor.Ergebnis: Der Agent listet Ihre Termine auf und kann Kontext aus dem Chat hinzufügen – z.B. offene Punkte aus einem vorherigen Gespräch als Vorbereitung für ein Meeting.
SharePoint-Dateien im Chat nutzen
SharePoint-Dateien im Chat nutzen
Sicherheit & Datenschutz
Datenisolation: Jeder User authentifiziert sich selbst über den Device Code Flow. Der API-Zugriff läuft über
/me/-Endpunkte und ist auf die eigenen Daten beschränkt. Es ist technisch nicht möglich, auf Daten anderer User zuzugreifen.Token-Speicherung: Access Tokens werden lokal in der MCP Server Instanz gecacht und laufen automatisch ab. Refresh Tokens erneuern die Session ohne erneuten Login.
GDPR / Datenschutz: Keine Daten verlassen den Microsoft-/Localmind-Kontext. Die Kommunikation läuft direkt zwischen der Localmind-Instanz und der Microsoft Graph API.

