Join Microsoft 365 MCP Server
Supports Microsoft Loop file detection and content extraction, enabling AI assistants to interact with Loop content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Join Microsoft 365 MCP Serversearch for emails about project update"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
đ Table of Contents / Inhaltsverzeichnis
Related MCP server: Microsoft Graph MCP Server
đ Overview / Ăbersicht
English
The Join Microsoft 365 MCP Server transforms how AI assistants interact with Microsoft 365. Instead of simple API wrappers, it provides an intelligent layer that understands context, learns from usage patterns, and executes complex multi-step operations seamlessly.
Key Innovations:
Super Tools Mode: Consolidates 126+ individual tools into 11 unified "Super-Tools" for easier LLM decision-making
Microsoft 365 Unified Search: Primary search tool that searches across all M365 content and suggests specific tools to use next
Dual Timezone Display: Shows both server local time and UTC for all calendar events and emails
Quick Summary Lists: Comprehensive overview lists at the top of responses to ensure no item is overlooked
Intelligent Learning System: Adapts and improves based on usage patterns
Read-Only Mode: Safe exploration without write operations
Deutsch
Der Join Microsoft 365 MCP Server revolutioniert die Art, wie KI-Assistenten mit Microsoft 365 interagieren. Statt einfacher API-Wrapper bietet er eine intelligente Schicht, die Kontext versteht, aus Nutzungsmustern lernt und komplexe Multi-Step-Operationen nahtlos ausfĂŒhrt.
Wichtige Innovationen:
Super-Tools-Modus: Konsolidiert 126+ einzelne Tools zu 11 vereinheitlichten "Super-Tools" fĂŒr einfachere LLM-Entscheidungen
Microsoft 365 Unified Search: PrimĂ€res Suchtool, das alle M365-Inhalte durchsucht und spezifische Tools fĂŒr die weitere Nutzung vorschlĂ€gt
Dual-Zeitzonen-Anzeige: Zeigt sowohl Server-Lokalzeit als auch UTC fĂŒr alle Kalendertermine und E-Mails
SchnellĂŒbersichtslisten: Umfassende Ăbersichtslisten am Anfang von Antworten, damit kein Element ĂŒbersehen wird
Intelligentes Lernsystem: Passt sich an und verbessert sich basierend auf Nutzungsmustern
Read-Only-Modus: Sichere Erkundung ohne Schreiboperationen
Why Choose This Server? / Warum diesen Server wÀhlen?
Feature / Funktion | Traditional APIs / Traditionelle APIs | Join MS365 MCP Server |
Context Understanding / KontextverstĂ€ndnis | â None / Keines | â Deep semantic understanding / Tiefes semantisches VerstĂ€ndnis |
Multi-step Operations / Multi-Step-Operationen | â Manual orchestration / Manuelle Orchestrierung | â Automatic chaining / Automatische Verkettung |
Learning System / Lernsystem | â Static / Statisch | â Adaptive learning from usage / Adaptives Lernen aus Nutzung |
Natural Language / NatĂŒrliche Sprache | â Not supported / Nicht unterstĂŒtzt | â Ask questions naturally / Fragen natĂŒrlich stellen |
Tool Consolidation / Tool-Konsolidierung | â 126+ individual tools / 126+ einzelne Tools | â 11 Super-Tools / 11 Super-Tools |
Timezone Display / Zeitzonen-Anzeige | â Single timezone / Einzelne Zeitzone | â Local + UTC / Lokal + UTC |
Result Overview / ErgebnisĂŒbersicht | â Detailed only / Nur detailliert | â Quick summary + details / SchnellĂŒbersicht + Details |
⥠Quick Start / Schnellstart
Prerequisites / Voraussetzungen
English:
Docker and Docker Compose
A Microsoft 365 account (personal, work, or school)
Azure AD App Registration (for production use)
Deutsch:
Docker und Docker Compose
Ein Microsoft 365-Konto (privat, geschÀftlich oder Schulkonto)
Azure AD App-Registrierung (fĂŒr Produktionseinsatz)
đł Docker Deployment / Docker-Bereitstellung
Option 1: Docker Compose (Recommended / Empfohlen)
# 1. Create configuration file / Konfigurationsdatei erstellen
cp stack.env.example stack.env
# 2. Configure your Azure AD credentials in stack.env
# Konfigurieren Sie Ihre Azure AD-Anmeldedaten in stack.env
nano stack.env
# 3. Start the server / Server starten
docker compose up -d
# For standalone mode (without Traefik):
# FĂŒr Standalone-Modus (ohne Traefik):
docker compose --profile standalone up -dOption 2: Docker Run
# Pull the image / Image herunterladen
docker pull aijoin/join-ms-365-mcp-server:latest
# Run with environment variables / Mit Umgebungsvariablen ausfĂŒhren
docker run -d \
--name ms365-mcp \
-p 3000:3000 \
-e MS365_MCP_CLIENT_ID=your-client-id \
-e MS365_MCP_TENANT_ID=your-tenant-id \
-e MS365_MCP_USE_SUPER_TOOLS=true \
-v ./data:/app/data \
aijoin/join-ms-365-mcp-server:latest \
--http 3000 -vMCP Client Integration / MCP-Client-Integration
English: Connect your AI assistant to the running server:
Deutsch: Verbinden Sie Ihren KI-Assistenten mit dem laufenden Server:
{
"mcpServers": {
"ms365": {
"url": "https://your-server.com/mcp",
"transportType": "streamable-http"
}
}
}First Authentication / Erste Authentifizierung
English: Simply ask your AI assistant: "Log me into Microsoft 365" - the server will guide you through device code authentication.
Deutsch: Fragen Sie einfach Ihren KI-Assistenten: "Melde mich bei Microsoft 365 an" - der Server fĂŒhrt Sie durch die Device-Code-Authentifizierung.
đŻ Features / Funktionen
Core Capabilities / Kernfunktionen
Capability / Funktion | Description / Beschreibung |
11 Super-Tools | Consolidated interface replacing 126+ individual tools |
Microsoft 365 Unified Search | Primary search tool across all M365 content |
90+ Individual Tools | Comprehensive coverage of Microsoft 365 services (classic mode) |
Intelligent Search | Cross-product search with semantic understanding |
Deep Research | Multi-step reasoning for complex questions |
Learning System | Improves over time based on usage patterns |
Dual Timezone Display | Server local time + UTC for all dates/times |
Quick Summary Lists | Overview lists to ensure nothing is missed |
Download Links | Generate direct download links for files |
Microsoft Loop Support | Loop file detection and content extraction |
Read-Only Mode | Safe exploration without write operations |
Preset Filtering | Load only the tools you need |
Supported Microsoft 365 Services / UnterstĂŒtzte Microsoft 365-Dienste
đ§ Outlook
Email management / E-Mail-Verwaltung
Folder organization / Ordnerorganisation
Attachments / AnhÀnge
Drafts / EntwĂŒrfe
đ Calendar
Events & meetings / Termine & Besprechungen
Scheduling / Terminplanung
Recurring events / Wiederkehrende Termine
Meeting times / Besprechungszeiten
đ OneDrive
File operations / Dateioperationen
Folder management / Ordnerverwaltung
Sharing / Freigabe
Download/Upload
đŹ Teams
Chats & messages / Chats & Nachrichten
Channels / KanÀle
Team management / Teamverwaltung
Transcripts / Transkripte
đ SharePoint
Sites & lists / Websites & Listen
Document libraries / Dokumentbibliotheken
Site search / Websitesuche
Permissions / Berechtigungen
đ Excel
Worksheet operations / Arbeitsblattoperationen
Range manipulation / Bereichsmanipulation
Charts / Diagramme
Formatting / Formatierung
â Tasks
To-Do lists / Aufgabenlisten
Planner tasks / Planner-Aufgaben
Task assignment / Aufgabenverteilung
Due dates / FĂ€lligkeitsdaten
đ OneNote
Notebooks
Sections & pages / Abschnitte & Seiten
Content creation / Inhaltserstellung
Search / Suche
đ Microsoft Loop
Loop file detection / Loop-Datei-Erkennung
Collaborative documents / Kollaborative Dokumente
Content extraction / Inhalts-Extraktion
Fluid format parsing / Fluid-Format-Parsing
đ Super Tools / Super-Tools
English
Super-Tools Mode consolidates 126+ individual tools into 11 unified "Super-Tools". Each Super-Tool accepts an action parameter to specify the operation, making it much easier for LLMs to choose the right tool.
Enable Super-Tools Mode:
# Via environment variable / Ăber Umgebungsvariable
MS365_MCP_USE_SUPER_TOOLS=true
# Or via Docker / Oder ĂŒber Docker
docker run -d \
-e MS365_MCP_USE_SUPER_TOOLS=true \
aijoin/join-ms-365-mcp-server:latest \
--http 3000Deutsch
Super-Tools-Modus konsolidiert 126+ einzelne Tools zu 11 vereinheitlichten "Super-Tools". Jedes Super-Tool akzeptiert einen action-Parameter zur Spezifikation der Operation, was es fĂŒr LLMs viel einfacher macht, das richtige Tool zu wĂ€hlen.
Super-Tools-Modus aktivieren:
# Ăber Umgebungsvariable
MS365_MCP_USE_SUPER_TOOLS=true
# Oder ĂŒber Docker
docker run -d \
-e MS365_MCP_USE_SUPER_TOOLS=true \
aijoin/join-ms-365-mcp-server:latest \
--http 3000Super-Tools List / Super-Tools-Liste
# | Tool | Description / Beschreibung |
0 |
| đ PRIMARY - Microsoft 365 Unified Search across emails, calendar, files, SharePoint, Teams. Returns results and suggests which specific tools to use next. |
1 |
| đ§ Unified email operations: list, get, folders, attachments, search, send, reply, delete, move |
2 |
| đ Calendar operations: list, get, view, calendars, create-event, update-event, delete-event |
3 |
| đŹ Teams, Channels, Chats: list-teams, get-team, channels, channel-messages, chats, chat-messages |
4 |
| đ OneDrive files: drives, list, get, download, search, root |
5 |
| â To-Do & Planner: todo-lists, todo-tasks, planner-tasks, create-todo, update-todo, delete-todo |
6 |
| đ„ Contacts & Users: list-contacts, get-contact, list-users, current-user |
7 |
| đ„ Online Meetings: list-meetings, get-meeting, transcripts, recordings |
8 |
| đ SharePoint: search-sites, get-site, site-drives, site-lists |
9 |
| đ OneNote: notebooks, sections, pages, page-content, search-pages |
10 |
| đ€ Smart operations: ask, search, my-day, my-week, person-info, project-overview, follow-ups |
Example Usage / Beispielverwendung
English:
{
"tool": "search",
"arguments": {
"query": "Project Alpha meeting notes",
"entityTypes": ["message", "event", "driveItem"],
"size": 10
}
}Deutsch:
{
"tool": "search",
"arguments": {
"query": "Projekt Alpha Besprechungsnotizen",
"entityTypes": ["message", "event", "driveItem"],
"size": 10
}
}Read-Only Mode Support / Read-Only-Modus-UnterstĂŒtzung
English: All Super-Tools respect the READ_ONLY environment variable. Write operations (send, create, update, delete) are automatically blocked with clear error messages when read-only mode is enabled.
Deutsch: Alle Super-Tools respektieren die READ_ONLY Umgebungsvariable. Schreiboperationen (send, create, update, delete) werden automatisch blockiert mit klaren Fehlermeldungen, wenn der Read-Only-Modus aktiviert ist.
# Enable read-only mode / Read-Only-Modus aktivieren
READ_ONLY=1
# or / oder
MS365_MCP_READ_ONLY=trueđ Dual Timezone Display / Dual-Zeitzonen-Anzeige
English
All calendar events and emails now display both server local time and UTC for easy reference:
â° 10:30 (UTC: 09:30)Features:
Server local time (primary display)
UTC time (for reference)
Combined display format:
HH:MM (UTC: HH:MM)ISO 8601 UTC timestamps in structured data
Deutsch
Alle Kalendertermine und E-Mails zeigen jetzt sowohl Server-Lokalzeit als auch UTC zur einfachen Referenz:
â° 10:30 (UTC: 09:30)Funktionen:
Server-Lokalzeit (primÀre Anzeige)
UTC-Zeit (zur Referenz)
Kombiniertes Anzeigeformat:
HH:MM (UTC: HH:MM)ISO 8601 UTC-Zeitstempel in strukturierten Daten
Example Output / Beispielausgabe
Calendar Event / Kalendertermin:
đ
Montag, 28.01.2026 (1 Termin)
ââââââââââââââââââââââââââââââââââââââââââââââââââ
đ» Kickoff-Briefing
â° 10:30 (UTC: 09:30) - 11:30 (UTC: 10:30) (1h)
đ Conference Room AEmail / E-Mail:
đŹ Project Update
â° 09:15 (UTC: 08:15)
đ€ Von: Max MĂŒller <max@example.com>đ Quick Summary Lists / SchnellĂŒbersichtslisten
English
To ensure no calendar event or email is overlooked, all responses now include a Quick Summary List at the top, followed by the detailed view.
Calendar Quick Summary:
đ SCHNELLĂBERSICHT ALLER TERMINE:
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
1. đ» 28.01.2026 10:30 (UTC: 09:30) | Kickoff-Briefing
2. đ 28.01.2026 14:00 (UTC: 13:00) | Team Meeting
3. đ» 28.01.2026 16:30 (UTC: 15:30) | Client Call
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
đ DETAILANSICHT:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââEmail Quick Summary:
đ SCHNELLĂBERSICHT ALLER E-MAILS:
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
1. đŹđ 28.01.2026 09:15 (UTC: 08:15) | Max MĂŒller | Projekt Update...
2. đ 27.01.2026 18:30 (UTC: 17:30) | Anna Schmidt | Meeting Notizen
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
đ DETAILANSICHT:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââDeutsch
Um sicherzustellen, dass kein Kalendertermin oder E-Mail ĂŒbersehen wird, enthalten alle Antworten jetzt eine SchnellĂŒbersichtsliste am Anfang, gefolgt von der Detailansicht.
Kalender-SchnellĂŒbersicht:
đ SCHNELLĂBERSICHT ALLER TERMINE:
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
1. đ» 28.01.2026 10:30 (UTC: 09:30) | Kickoff-Briefing
2. đ 28.01.2026 14:00 (UTC: 13:00) | Team Meeting
3. đ» 28.01.2026 16:30 (UTC: 15:30) | Client Call
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
đ DETAILANSICHT:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââE-Mail-SchnellĂŒbersicht:
đ SCHNELLĂBERSICHT ALLER E-MAILS:
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
1. đŹđ 28.01.2026 09:15 (UTC: 08:15) | Max MĂŒller | Projekt Update...
2. đ 27.01.2026 18:30 (UTC: 17:30) | Anna Schmidt | Meeting Notizen
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
đ DETAILANSICHT:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââđ Tool Categories / Tool-Kategorien
đ Authentication Tools / Authentifizierungs-Tools
Secure authentication with multi-account support / Sichere Authentifizierung mit Multi-Account-UnterstĂŒtzung.
Tool | Description / Beschreibung | Notes / Hinweise |
| Authenticate via device code flow / Authentifizierung ĂŒber Device-Code-Flow | Required before using other tools / Erforderlich vor Nutzung anderer Tools |
| Log out from Microsoft account / Von Microsoft-Konto abmelden | Clears cached tokens / Löscht gecachte Tokens |
| Check authentication status / Authentifizierungsstatus prĂŒfen | Non-interactive verification / Nicht-interaktive Verifizierung |
| List cached Microsoft accounts / Gecachte Microsoft-Konten auflisten | Multi-account support / Multi-Account-UnterstĂŒtzung |
| Switch between accounts / Zwischen Konten wechseln | Seamless account switching / Nahtloser Kontenwechsel |
| Remove account from cache / Konto aus Cache entfernen | Clean up stored credentials / Gespeicherte Anmeldedaten bereinigen |
đ§ Email & Communication Tools / E-Mail- & Kommunikations-Tools
Complete email management and shared mailbox support / VollstĂ€ndige E-Mail-Verwaltung und Shared-Mailbox-UnterstĂŒtzung.
Personal Email / Persönliche E-Mail
Tool | Description / Beschreibung | Parameters |
| List emails with filtering / E-Mails mit Filterung auflisten |
|
| Get full email content / VollstÀndigen E-Mail-Inhalt abrufen |
|
| Send new email / Neue E-Mail senden |
|
| Create email draft / E-Mail-Entwurf erstellen |
|
| Delete email / E-Mail löschen |
|
| Move email to folder / E-Mail in Ordner verschieben |
|
| List all mail folders / Alle E-Mail-Ordner auflisten | - |
| List messages in folder / Nachrichten in Ordner auflisten |
|
Super-Tool: email
English: Unified email operations with action-based interface:
{
"tool": "email",
"arguments": {
"action": "list",
"top": 25,
"search": "Project Alpha"
}
}Available actions: list, get, folders, child-folders, attachments, search, send, reply, delete, move
Deutsch: Vereinheitlichte E-Mail-Operationen mit aktionsbasierter Schnittstelle:
{
"tool": "email",
"arguments": {
"action": "list",
"top": 25,
"search": "Projekt Alpha"
}
}VerfĂŒgbare Aktionen: list, get, folders, attachments, search, send, reply, delete, move
đ Calendar Tools / Kalender-Tools
Full calendar management with meeting scheduling / VollstÀndige Kalenderverwaltung mit Besprechungsplanung.
Tool | Description / Beschreibung | Parameters |
| List all calendars / Alle Kalender auflisten | - |
| List events / Termine auflisten |
|
| Get event details / Termindetails abrufen |
|
| Create new event / Neuen Termin erstellen |
|
| Update event / Termin aktualisieren |
|
| Delete event / Termin löschen |
|
| Get calendar view / Kalenderansicht abrufen |
|
| Find available slots / VerfĂŒgbare Zeitslots finden |
|
Super-Tool: calendar
English: Unified calendar operations:
{
"tool": "calendar",
"arguments": {
"action": "view",
"startDateTime": "2026-01-28T00:00:00Z",
"endDateTime": "2026-01-29T00:00:00Z"
}
}Available actions: list, get, view, calendars, specific-calendar, create-event, update-event, delete-event
Deutsch: Vereinheitlichte Kalender-Operationen:
{
"tool": "calendar",
"arguments": {
"action": "view",
"startDateTime": "2026-01-28T00:00:00Z",
"endDateTime": "2026-01-29T00:00:00Z"
}
}VerfĂŒgbare Aktionen: list, get, view, calendars, specific-calendar, create-event, update-event, delete-event
đ File & Drive Tools / Datei- & Laufwerk-Tools
OneDrive file management with upload/download capabilities / OneDrive-Dateiverwaltung mit Upload/Download-Funktionen.
Tool | Description / Beschreibung | Parameters |
| List available drives / VerfĂŒgbare Laufwerke auflisten | - |
| Get drive root folder / Laufwerks-Stammordner abrufen |
|
| List files in folder / Dateien im Ordner auflisten |
|
| Download file content / Dateiinhalt herunterladen |
|
| Update file content / Dateiinhalt aktualisieren |
|
| Upload new file / Neue Datei hochladen |
|
| Delete file / Datei löschen |
|
đŹ Microsoft Teams Tools / Microsoft Teams-Tools
Note / Hinweis: Requires
--org-modeflag (work/school accounts only) / Erfordert--org-modeFlag (nur GeschÀfts-/Schulkonten)
Tool | Description / Beschreibung | Parameters |
| List all chats / Alle Chats auflisten |
|
| Get chat details / Chat-Details abrufen |
|
| List messages in chat / Nachrichten im Chat auflisten |
|
| Send chat message / Chat-Nachricht senden |
|
| List teams you're in / Teams auflisten, in denen Sie sind | - |
| List team channels / Team-KanÀle auflisten |
|
| List channel messages / Kanalnachrichten auflisten |
|
| Send channel message / Kanalnachricht senden |
|
đ Search & Discovery Tools / Such- & Discovery-Tools
Powerful cross-product search capabilities / Leistungsstarke produktĂŒbergreifende Suchfunktionen.
Super-Tool: search (PRIMARY / PRIMĂR)
English: The recommended first tool for exploring Microsoft 365 content. Searches across emails, calendar, files, SharePoint, Teams, and suggests which specific tools to use next.
Deutsch: Das empfohlene erste Tool zur Erkundung von Microsoft 365-Inhalten. Durchsucht E-Mails, Kalender, Dateien, SharePoint, Teams und schlÀgt vor, welche spezifischen Tools als nÀchstes zu verwenden sind.
{
"tool": "search",
"arguments": {
"query": "Project Alpha meeting notes",
"entityTypes": ["message", "event", "driveItem"],
"size": 10
}
}Entity Types: message, event, driveItem, site, list, listItem, chatMessage, person
Response includes:
Search results grouped by entity type
Tool suggestions for next steps
Total hits count
Formatted results with metadata
đ§ Intelligent Compound Tools / Intelligente Verbund-Tools
These intelligent tools automatically chain multiple API calls to answer complex contextual questions / Diese intelligenten Tools verkettet automatisch mehrere API-Aufrufe, um komplexe kontextuelle Fragen zu beantworten.
Tool | What It Does / Was es tut | Example Query / Beispielabfrage |
| Find all Teams chats with a person / Findet alle Teams-Chats mit einer Person | "What did I discuss with John?" / "WorĂŒber habe ich mit John gesprochen?" |
| Find all email threads with a person / Findet alle E-Mail-Threads mit einer Person | "Show emails from Sarah" / "Zeige E-Mails von Sarah" |
| Find past & future meetings / Findet vergangene & zukĂŒnftige Besprechungen | "When did I meet with Mike?" / "Wann habe ich mich mit Mike getroffen?" |
| Find all project-related content / Findet alle projektbezogenen Inhalte | "Everything about Project Apollo" / "Alles ĂŒber Projekt Apollo" |
| Comprehensive person profile / Umfassendes Personenprofil | "Who is John Smith?" / "Wer ist John Smith?" |
| Weekly productivity digest / Wöchentliche ProduktivitÀtszusammenfassung | "What did I accomplish this week?" / "Was habe ich diese Woche erreicht?" |
đŹ Intelligent Discovery System
English
The server features a sophisticated Search-First Strategy with multiple intelligent components:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â User Question â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â NLP Enhancer â
â âą Entity extraction âą Intent classification â
â âą Synonym expansion âą Query refinement â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Search-First Strategy â
â âą Microsoft Search API (emails, files, chats, events) â
â âą Learning-informed entity type selection â
â âą Automatic query refinement if no results â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Entity Extractor â
â âą Identifies sites, teams, users, files â
â âą Extracts relevant keywords â
â âą Maps to specific product queries â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Data Aggregator â
â âą Deduplication âą Relevance sorting â
â âą LLM-optimized formatting âą Source tracking â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Learning System â
â âą Records successful patterns âą Updates confidence â
â âą Learns entity type preferences âą User feedback â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââDeutsch
Der Server verfĂŒgt ĂŒber eine ausgeklĂŒgelte Search-First-Strategie mit mehreren intelligenten Komponenten:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Benutzerfrage â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â NLP Enhancer â
â âą EntitĂ€ts-Extraktion âą Intent-Klassifizierung â
â âą Synonym-Erweiterung âą Abfrage-Verfeinerung â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Search-First-Strategie â
â âą Microsoft Search API (E-Mails, Dateien, Chats, Termine) â
â âą Lernbasierte EntitĂ€tstyp-Auswahl â
â âą Automatische Abfrage-Verfeinerung bei keinen Ergebnissen â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Entity Extractor â
â âą Identifiziert Websites, Teams, Benutzer, Dateien â
â âą Extrahiert relevante SchlĂŒsselwörter â
â âą Mappt auf spezifische Produktabfragen â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Data Aggregator â
â âą Deduplizierung âą Relevanz-Sortierung â
â âą LLM-optimierte Formatierung âą Quellen-Tracking â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âŒ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Lernsystem â
â âą Zeichnet erfolgreiche Muster auf âą Aktualisiert Konfidenz â
â âą Lernt EntitĂ€tstyp-PrĂ€ferenzen âą Benutzer-Feedback â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ Configuration / Konfiguration
Docker Command Options / Docker-Befehlsoptionen
Option | Description / Beschreibung | Example / Beispiel |
| Enable organization mode (Teams, SharePoint) / Organisationsmodus aktivieren (Teams, SharePoint) |
|
| Disable write operations / Schreiboperationen deaktivieren |
|
| Start HTTP server (default: 3000) / HTTP-Server starten (Standard: 3000) |
|
| Load specific tool presets / Spezifische Tool-Presets laden |
|
| Filter tools by regex / Tools nach Regex filtern |
|
| Enable TOON format (30-60% token savings) / TOON-Format aktivieren (30-60% Token-Ersparnis) |
|
| Start with discovery tools only / Nur mit Discovery-Tools starten |
|
| Cloud environment (global/china) / Cloud-Umgebung (global/china) |
|
| Enable verbose logging / AusfĂŒhrliches Logging aktivieren |
|
Environment Variables / Umgebungsvariablen
Variable | Description / Beschreibung | Default |
| Azure AD app client ID | Required / Erforderlich |
| Azure AD tenant ID |
|
| Client secret (confidential apps) / Client-Geheimnis (vertrauliche Apps) | - |
| Enable Super-Tools mode / Super-Tools-Modus aktivieren |
|
| Enable organization mode / Organisationsmodus aktivieren |
|
| Output format ( |
|
| Cloud environment / Cloud-Umgebung |
|
| Azure Key Vault URL | - |
| Maximum search results / Maximale Suchergebnisse |
|
| Anonymize PII in knowledge base storage / PII in Wissensdatenbank anonymisieren |
|
| Enable read-only mode / Read-Only-Modus aktivieren |
|
Security Warning / Sicherheitswarnung: Setting
MS365_MCP_ANONYMIZE_PII=falsedisables the automatic removal of personally identifiable information (email addresses, phone numbers, IDs, etc.) before storing data in the knowledge base. This is NOT recommended in production and may violate GDPR/DSGVO compliance. Only disable for development or debugging purposes. / Das Setzen vonMS365_MCP_ANONYMIZE_PII=falsedeaktiviert die automatische Entfernung von personenbezogenen Daten (E-Mail-Adressen, Telefonnummern, IDs, etc.) vor der Speicherung in der Wissensdatenbank. Dies wird in der Produktion NICHT empfohlen und kann gegen DSGVO-Compliance verstoĂen. Nur fĂŒr Entwicklung oder Debugging deaktivieren. |LOG_LEVEL| Logging level / Logging-Level |info| |SILENT| Disable console output / Konsolenausgabe deaktivieren |false|
Docker Run Examples / Docker-Run-Beispiele
# Basic HTTP server / Grundlegender HTTP-Server
docker run -d -p 3000:3000 aijoin/join-ms-365-mcp-server:latest --http 3000
# Organization mode with Super-Tools / Organisationsmodus mit Super-Tools
docker run -d -p 3000:3000 \
-e MS365_MCP_CLIENT_ID=your-client-id \
-e MS365_MCP_TENANT_ID=your-tenant-id \
-e MS365_MCP_USE_SUPER_TOOLS=true \
aijoin/join-ms-365-mcp-server:latest \
--http 3000 --org-mode -v
# Read-only mode with Super-Tools / Read-Only-Modus mit Super-Tools
docker run -d -p 3000:3000 \
-e MS365_MCP_USE_SUPER_TOOLS=true \
-e READ_ONLY=1 \
aijoin/join-ms-365-mcp-server:latest \
--http 3000đ Authentication Methods / Authentifizierungsmethoden
1. Device Code Flow (Default / Standard)
English: Interactive authentication for users:
Call the
logintoolVisit the provided URL and enter the code
Call
verify-loginto confirm
Deutsch: Interaktive Authentifizierung fĂŒr Benutzer:
Rufen Sie das
loginTool aufBesuchen Sie die bereitgestellte URL und geben Sie den Code ein
Rufen Sie
verify-loginauf, um zu bestÀtigen
2. OAuth Authorization Code Flow (HTTP Mode)
English: For web applications and remote servers:
Exposes OAuth endpoints at
/auth/*Requires
Authorization: Bearer <token>for MCP requestsSupports MCP OAuth 2.1 with Dynamic Client Registration
Deutsch: FĂŒr Webanwendungen und Remote-Server:
Stellt OAuth-Endpunkte unter
/auth/*bereitErfordert
Authorization: Bearer <token>fĂŒr MCP-AnfragenUnterstĂŒtzt MCP OAuth 2.1 mit Dynamic Client Registration
3. Bring Your Own Token (BYOT)
English: For integration with existing OAuth systems:
docker run -d -p 3000:3000 \
-e MS365_MCP_OAUTH_TOKEN=your_token \
aijoin/join-ms-365-mcp-server:latest \
--http 3000Deutsch: FĂŒr die Integration mit bestehenden OAuth-Systemen:
docker run -d -p 3000:3000 \
-e MS365_MCP_OAUTH_TOKEN=your_token \
aijoin/join-ms-365-mcp-server:latest \
--http 3000đ Azure AD App Permissions / Azure AD App-Berechtigungen
Delegate Permissions Overview / Ăbersicht der Delegate Permissions
English: The following Microsoft Graph Delegate Permissions are required for the Azure AD App Registration. These permissions allow the server to access Microsoft 365 services on behalf of the signed-in user.
Deutsch: Die folgenden Microsoft Graph Delegate Permissions sind fĂŒr die Azure AD App-Registrierung erforderlich. Diese Berechtigungen ermöglichen es dem Server, im Namen des angemeldeten Benutzers auf Microsoft 365-Dienste zuzugreifen.
Personal Account Permissions / Persönliche Kontoberechtigungen
These permissions work with personal Microsoft accounts (Outlook.com, Hotmail, etc.) and work/school accounts:
Permission | Description / Beschreibung | Required For / Erforderlich fĂŒr |
| Read user profile / Benutzerprofil lesen | Basic functionality / GrundfunktionalitÀt |
| Read people / Personen lesen | Contact search / Kontaktsuche |
| Read mail / E-Mails lesen | Email reading / E-Mail-Lesen |
| Read and write mail / E-Mails lesen und schreiben | Email management / E-Mail-Verwaltung |
| Send mail / E-Mails senden | Send email / E-Mails senden |
| Read calendars / Kalender lesen | Calendar viewing / Kalender anzeigen |
| Read and write calendars / Kalender lesen und schreiben | Calendar management / Kalenderverwaltung |
| Read contacts / Kontakte lesen | Contact viewing / Kontakte anzeigen |
| Read and write contacts / Kontakte lesen und schreiben | Contact management / Kontaktverwaltung |
| Read files / Dateien lesen | OneDrive read / OneDrive lesen |
| Read all files / Alle Dateien lesen | Cross-user file access / BenutzerĂŒbergreifender Dateizugriff |
| Read and write files / Dateien lesen und schreiben | OneDrive management / OneDrive-Verwaltung |
| Read tasks / Aufgaben lesen | To-Do read / To-Do lesen |
| Read and write tasks / Aufgaben lesen und schreiben | To-Do management / To-Do-Verwaltung |
| Read OneNote / OneNote lesen | OneNote viewing / OneNote anzeigen |
| Create OneNote / OneNote erstellen | OneNote creation / OneNote-Erstellung |
| Read online meetings / Online-Besprechungen lesen | Meeting information / Besprechungsinformationen |
| Read meeting transcripts / Besprechungstranskripte lesen | Transcript access / Transkript-Zugriff |
| Read meeting recordings / Besprechungsaufzeichnungen lesen | Recording access / Aufzeichnungs-Zugriff |
Organization Mode Permissions / Organisationsmodus-Berechtigungen
These permissions require work/school accounts and the --org-mode flag:
Permission | Description / Beschreibung | Required For / Erforderlich fĂŒr |
| Read all users / Alle Benutzer lesen | User directory / Benutzerverzeichnis |
| Read shared mailboxes / Freigegebene PostfÀcher lesen | Shared mailbox access / Zugriff auf freigegebene PostfÀcher |
| Send from shared mailboxes / Von freigegebenen PostfÀchern senden | Send as shared mailbox / Senden als freigegebenes Postfach |
| Read shared calendars / Freigegebene Kalender lesen | Shared calendar access / Zugriff auf freigegebene Kalender |
| Read chats / Chats lesen | Teams chat reading / Teams-Chat lesen |
| Read chat messages / Chat-Nachrichten lesen | Teams message reading / Teams-Nachrichten lesen |
| Send chat messages / Chat-Nachrichten senden | Teams message sending / Teams-Nachrichten senden |
| Read basic team info / Grundlegende Team-Informationen lesen | Teams listing / Teams auflisten |
| Read team members / Teammitglieder lesen | Team member access / Zugriff auf Teammitglieder |
| Read basic channel info / Grundlegende Kanal-Informationen lesen | Channel listing / KanÀle auflisten |
| Read all channel messages / Alle Kanalnachrichten lesen | Channel message reading / Kanalnachrichten lesen |
| Send channel messages / Kanalnachrichten senden | Channel message sending / Kanalnachrichten senden |
| Read all SharePoint sites / Alle SharePoint-Websites lesen | SharePoint access / SharePoint-Zugriff |
Permission Configuration / Berechtigungskonfiguration
English: To configure these permissions in Azure Portal:
Go to Azure Active Directory â App registrations
Select your app registration
Navigate to API permissions
Click Add a permission â Microsoft Graph â Delegated permissions
Add all required permissions from the tables above
Click Grant admin consent (for organization permissions)
Deutsch: Um diese Berechtigungen im Azure-Portal zu konfigurieren:
Gehen Sie zu Azure Active Directory â App-Registrierungen
WĂ€hlen Sie Ihre App-Registrierung aus
Navigieren Sie zu API-Berechtigungen
Klicken Sie auf Berechtigung hinzufĂŒgen â Microsoft Graph â Delegierte Berechtigungen
FĂŒgen Sie alle erforderlichen Berechtigungen aus den obigen Tabellen hinzu
Klicken Sie auf Administratorzustimmung erteilen (fĂŒr Organisationsberechtigungen)
Minimal Permission Set / Minimaler Berechtigungssatz
English: For read-only access, you can use a minimal set:
User.ReadMail.ReadCalendars.ReadFiles.ReadTasks.ReadContacts.ReadNotes.Read
Deutsch: FĂŒr schreibgeschĂŒtzten Zugriff können Sie einen minimalen Satz verwenden:
User.ReadMail.ReadCalendars.ReadFiles.ReadTasks.ReadContacts.ReadNotes.Read
Note / Hinweis: The server automatically requests only the permissions needed based on enabled tools. Use
--presetor--enabled-toolsto limit the permission scope. / Der Server fordert automatisch nur die Berechtigungen an, die basierend auf aktivierten Tools benötigt werden. Verwenden Sie--presetoder--enabled-tools, um den Berechtigungsumfang einzuschrÀnken.
đ Security & Compliance / Sicherheit & Compliance
Security Features / Sicherheitsfunktionen
â OAuth 2.1 / PKCE - Secure token handling / Sichere Token-Verwaltung
â Token validation - Verified against Microsoft Graph / Gegen Microsoft Graph verifiziert
â Secure storage - Persistent volume for credentials / Persistenter DatentrĂ€ger fĂŒr Anmeldedaten
â Read-only mode - Safe exploration without modifications / Sichere Erkundung ohne Ănderungen
â Input validation - Zod schema validation on all inputs / Zod-Schema-Validierung fĂŒr alle Eingaben
â Rate limiting - Configurable request limits / Konfigurierbare Anfragelimits
â HTTPS/TLS - Traefik integration for production / Traefik-Integration fĂŒr Produktion
Compliance
ISO 27001 - Information security management / Informationssicherheitsmanagement
GDPR/DSGVO - Data protection by design / Datenschutz durch Design
OWASP - Security best practices / Sicherheitsbest Practices
đ Query Dashboard / Abfrage-Dashboard
English
The Query Dashboard provides a secure web interface to view and analyze all user queries. This feature enables auditing, analytics, and debugging of MCP tool usage.
Features:
đ Real-time Statistics - Total queries, unique users, success rates
đ Query Search & Filtering - Filter by tool, user, date, status
đ Hourly Activity Charts - Visual query distribution over 24 hours
đ Password Protected - Secure access via environment variable
đ„ GDPR Data Export - Export user data for data portability
đïž GDPR Erasure - Delete user data (Right to be Forgotten)
Deutsch
Das Query Dashboard bietet eine sichere WeboberflÀche zur Anzeige und Analyse aller Benutzerabfragen. Diese Funktion ermöglicht Auditierung, Analysen und Debugging der MCP-Tool-Nutzung.
Funktionen:
đ Echtzeit-Statistiken - Gesamtabfragen, eindeutige Benutzer, Erfolgsraten
đ Abfrage-Suche & Filterung - Nach Tool, Benutzer, Datum, Status filtern
đ StĂŒndliche AktivitĂ€tsdiagramme - Visuelle Abfrageverteilung ĂŒber 24 Stunden
đ PasswortgeschĂŒtzt - Sicherer Zugriff ĂŒber Umgebungsvariable
đ„ DSGVO-Datenexport - Benutzerdaten fĂŒr DatenportabilitĂ€t exportieren
đïž DSGVO-Löschung - Benutzerdaten löschen (Recht auf Vergessenwerden)
Enabling the Dashboard / Dashboard aktivieren
# In stack.env or docker-compose environment
# In stack.env oder docker-compose Umgebung
DASHBOARD_PASSWORD=your-secure-password-hereAccess the dashboard at: https://your-server.com/dashboard / Zugriff auf das Dashboard unter: https://your-server.com/dashboard
đ API Reference / API-Referenz
MCP Client Configuration / MCP-Client-Konfiguration
OpenWebUI / Remote Clients
{
"mcpServers": {
"ms365": {
"url": "https://your-server.com/mcp",
"transportType": "streamable-http"
}
}
}Local Development / Lokale Entwicklung
{
"mcpServers": {
"ms365": {
"url": "http://localhost:3000/mcp",
"transportType": "streamable-http"
}
}
}Tool Response Format / Tool-Antwortformat
All tools return MCP-compliant responses / Alle Tools geben MCP-konforme Antworten zurĂŒck:
interface McpToolResult {
content: Array<{
type: 'text' | 'image' | 'resource';
text?: string;
data?: string;
mimeType?: string;
uri?: string;
}>;
isError?: boolean;
}đł Docker Deployment / Docker-Bereitstellung
Production with Traefik / Produktion mit Traefik
# docker-compose.yml
services:
ms365-mcp-server:
image: aijoin/join-ms-365-mcp-server:latest
container_name: ms365-mcp
restart: unless-stopped
env_file:
- stack.env
command: ['--http', '3000', '-v']
volumes:
- ./data:/app/data
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.ms365-mcp.rule=Host(`ms365-mcp.yourdomain.com`)'
- 'traefik.http.routers.ms365-mcp.entrypoints=websecure'
- 'traefik.http.routers.ms365-mcp.tls.certresolver=myresolver'
networks:
- web
networks:
web:
external: trueBuild from Source / Aus Quellcode erstellen
# Clone the repository / Repository klonen
git clone https://github.com/michelfritzschjoin/join-ms-365-mcp-server.git
cd join-ms-365-mcp-server
# Build the image / Image erstellen
docker build -t ms365-mcp-server .
# Run / AusfĂŒhren
docker run -p 3000:3000 ms365-mcp-server --http 3000đ€ Contributing / Beitragen
English:
Fork the repository
Run
npm installGenerate client:
npm run generateMake changes
Run verification:
npm run verifySubmit PR
Deutsch:
Repository forken
npm installausfĂŒhrenClient generieren:
npm run generateĂnderungen vornehmen
Verifizierung ausfĂŒhren:
npm run verifyPR einreichen
đ License / Lizenz
All Rights Reserved © 2026 Join GmbH
đ Support / Support
đ Issues
âčïž Version Information / Versionsinformationen
English: The version is automatically read from package.json at runtime. The displayed version in the banner and CLI is always synchronized with the package version - no manual updates required.
Deutsch: Die Version wird automatisch zur Laufzeit aus package.json gelesen. Die angezeigte Version im Banner und CLI ist immer mit der Paketversion synchronisiert - keine manuellen Updates erforderlich.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Microsoft Graph API services including Outlook email, Calendar events, OneDrive files, and Contacts. Supports multiple Microsoft accounts with unified search across all services.
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with Microsoft 365 services (users, mail, calendar, files) via Microsoft Graph API.371MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Microsoft 365 email, calendar, and contacts through natural language, with zero Azure setup required.159MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to manage Microsoft 365 services like Outlook, Calendar, OneDrive, and Contacts through natural language commands, with support for multi-account and high-performance caching.85MIT
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Persistent memory and knowledge graph for AI assistants â keyword + vector + graph search.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/michelfritzschjoin/join-ms-365-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server