Teams MCP Server
Microsoft Teams MCP Server & CLI
Ermöglichen Sie KI den einfachen Zugriff auf Microsoft Teams mit Ihrem normalen Teams-Login.
[!NOTE]
Kein Azure-Setup, keine App-Registrierung, Graph-Berechtigungen oder IT-Support erforderlich.
Durchsuchen Sie Nachrichten und E-Mails, holen Sie ungelesene Chats nach, lesen Sie Threads, senden Sie Antworten, rufen Sie Besprechungstranskripte ab und vieles mehr.
Warum msteams-mcp?
Echte Arbeit erledigen – Suchen, ungelesene Chats, Threads, Antworten, Personen, Kanäle, Besprechungen, Transkripte, Dateien, Reaktionen und mehr.
Einmal anmelden – Token werden automatisch aktualisiert und der Browser bleibt bei Routinevorgängen außen vor.
Sicher – Der Assistent hat nur Ihre vorhandenen Teams-Berechtigungen, mit lokal verschlüsselten Sitzungsdaten.
Überall nutzbar – Jede Funktion funktioniert sowohl über MCP-Clients als auch über die integrierte
msteams-CLI.
Related MCP server: teams-mcp
Schnellstart
Voraussetzungen
Node.js 18+
Ein Microsoft-Konto mit Teams-Zugriff
Installierter Google Chrome, Microsoft Edge oder Chromium-Browser
Konfigurieren Sie Ihren MCP-Client
Fügen Sie Ihrer MCP-Client-Konfiguration (z.B. Claude Desktop, Windsurf, Cursor) hinzu:
{
"mcpServers": {
"teams": {
"command": "npx",
"args": ["-y", "msteams-mcp@latest"]
}
}
}Das war's. npx lädt die neueste Version herunter und führt sie aus. Bitten Sie Ihren Assistenten, einmal teams_login aufzurufen, schließen Sie die normale Microsoft-Anmeldung im Browser ab, und beginnen Sie dann mit der Nutzung von Teams.
Funktionsweise
Dieser Server greift direkt auf Microsofts Teams-Dienste zu (Substrate, chatsvc, CSA), wobei die authentifizierte Sitzung verwendet wird, die von der Teams-Web-App erstellt wurde.
teams_loginöffnet einen Browser für Ihre normale Microsoft-Anmeldung.Die resultierenden OAuth-Token und Sitzungsdaten werden verschlüsselt und lokal zwischengespeichert.
Routinevorgänge verwenden diese Token direkt, ohne Browser-Automatisierung.
Ablaufende Token werden automatisch über HTTP aktualisiert, mit Headless-Browser-SSO als Fallback.
Ihr Zugriff bleibt auf das beschränkt, was Ihr Teams-Konto bereits sehen und tun kann.
Aus dem Quellcode (Alternative)
Wenn Sie es vorziehen, aus einem lokalen Klon zu starten:
git clone https://github.com/m0nkmaster/msteams-mcp.git
cd msteams-mcp
npm install && npm run buildKonfigurieren Sie dann Ihren MCP-Client:
{
"mcpServers": {
"teams": {
"command": "node",
"args": ["/path/to/msteams-mcp/dist/index.js"]
}
}
}Der Server verwendet Ihr systemeigenes Chrome (macOS/Linux) oder Edge (Windows) für die Authentifizierung.
CLI
Die gleiche Funktionalität ist auch als eigenständiges Kommandozeilentool msteams verfügbar. Dies ist nützlich, wenn Sie Teams aus einer Shell oder einem Skript statt über einen MCP-Client verwenden möchten.
Installieren Sie es global von npm:
npm install -g msteams-mcpDies installiert zwei Binärdateien: msteams-mcp (der MCP-Server) und msteams (der CLI-Wrapper). Oder führen Sie es ohne Installation aus:
npx -y msteams-mcp msteams statusSiehe CLI-Nutzung für Befehle.
Verfügbare Werkzeuge
Suche & Entdeckung
Werkzeug | Beschreibung |
| Durchsuchen Sie Teams-Nachrichten mit Operatoren ( |
| Durchsuchen Sie E-Mails in Ihrem Postfach (gleiche Authentifizierung wie Teams – kein zusätzlicher Login) |
| Listen Sie aktuelle Unterhaltungen auf (1:1, Gruppe, Besprechung, Kanal) mit einer Vorschau der letzten Nachricht |
| Rufen Sie eine einzelne Nachricht anhand ihrer ID mit vollem Inhalt ab (beliebiges Alter); enthält Reaktionen |
| Rufen Sie Nachrichten aus einer Unterhaltung/einem Thread ab; enthält Reaktionen; |
| Finden Sie Kanäle nach Namen (Ihre Teams + organisationsweite Suche) |
| Listen Sie die Kanal-Tags eines Teams für Tag-@Erwähnungen auf |
| Rufen Sie den Aktivitäts-Feed ab (Erwähnungen, Reaktionen, Antworten, Benachrichtigungen) |
Nachrichtenübermittlung
Werkzeug | Beschreibung |
| Senden Sie eine Nachricht (Standard: Selbst-Chat/Notizen). |
| Blockieren Sie, bis eine neue Nachricht eintrifft (serverseitige Abfrage, begrenzt auf ~110s); idempotenter |
| Bearbeiten Sie eine Ihrer eigenen Nachrichten ( |
| Löschen Sie eine Ihrer eigenen Nachrichten (weiches Löschen) |
Personen & Kontakte
Werkzeug | Beschreibung |
| Rufen Sie das aktuelle Benutzerprofil ab (E-Mail, Name, ID) |
| Suchen Sie nach Personen per Name oder E-Mail |
| Rufen Sie häufig kontaktierte Personen ab (nützlich für die Namensauflösung) |
| Lösen Sie einen oder mehrere MRIs zu vollständigen Profilen auf (Name, E-Mail, Jobtitel, Abteilung) |
| Rufen Sie die Unterhaltungs-ID für einen 1:1-Chat mit einer Person ab |
| Erstellen Sie einen neuen Gruppenchat mit mehreren Personen (2+ andere) |
Organisation
Werkzeug | Beschreibung |
| Rufen Sie angeheftete/lieblings-Unterhaltungen ab |
| Heften Sie eine Unterhaltung an |
| Lösen Sie die Anheftung einer Unterhaltung |
| Setzen Sie ein Lesezeichen für eine Nachricht |
| Entfernen Sie ein Lesezeichen von einer Nachricht |
| Rufen Sie die Liste der gespeicherten/gebuchten Nachrichten mit Quellenverweisen ab |
| Rufen Sie die Liste der verfolgten Threads mit Quellenverweisen ab |
| Rufen Sie ungelesene Zähler ab (aggregiert oder pro Unterhaltung) |
| Markieren Sie eine Unterhaltung bis zu einer Nachricht als gelesen |
Reaktionen
Werkzeug | Beschreibung |
| Suchen Sie nach Emojis per Name (Standard + benutzerdefinierte Unternehmens-Emojis) |
| Fügen Sie einem Emoji eine Reaktion zu einer Nachricht hinzu |
| Entfernen Sie eine Emoji-Reaktion von einer Nachricht |
Schnellreaktionen: like, heart, laugh, surprised, sad, angry können direkt ohne Suche verwendet werden.
Kalender & Besprechungen
Werkzeug | Beschreibung |
| Rufen Sie Besprechungen aus dem Kalender ab (Standard: nächste 7 Tage) |
| Rufen Sie das Besprechungstranskript ab (erfordert |
teams_get_meetings gibt zurück: Betreff, Zeiten, Organisator, Beitritts-URL, threadId für den Besprechungschat. Verwenden Sie threadId mit teams_get_thread, um den Besprechungschat zu lesen, oder mit teams_get_transcript, um das vollständige Transkript mit Sprechern und Zeitstempeln zu erhalten.
Dateien
Werkzeug | Beschreibung |
| Rufen Sie Dateien und Links ab, die in einer Unterhaltung geteilt wurden (unterstützt Paginierung) |
Gibt sowohl Dateien (Name, Erweiterung, URL, Größe) als auch Links (URL, Titel) zurück, zusammen mit der Person, die jedes Element geteilt hat. Funktioniert für Kanäle, Gruppenchats, 1:1-Chats und Besprechungschats.
Sitzung
Werkzeug | Beschreibung |
| Manuellen Login auslösen (öffnet Browser) |
| Authentifizierungs- und Sitzungsstatus prüfen |
Suchoperatoren
Sowohl teams_search (Teams-Nachrichten) als auch teams_search_email (E-Mails) unterstützen native Operatoren:
from:sarah@company.com # Messages/emails from person
sent:2026-01-20 # From specific date
sent:>=2026-01-15 # Since date
in:project-alpha # Messages in channel (Teams only)
subject:"budget" # By subject (email)
"Rob Smith" # Find @mentions (name in quotes)
hasattachment:true # With files
is:unread # Unread emails (email only)
NOT from:email@co.com # Exclude resultsKombinieren Sie Operatoren: from:sarah@co.com sent:>=2026-01-18 hasattachment:true
Hinweis: @me, from:me, to:me funktionieren NICHT. Verwenden Sie zuerst teams_get_me, um Ihre E-Mail/Anzeigenamen zu erhalten. sent:today funktioniert, aber sent:lastweek und sent:thisweek funktionieren NICHT – verwenden Sie explizite Daten oder lassen Sie sie weg (Ergebnisse sind nach Aktualität sortiert).
MCP-Ressourcen
Der Server stellt auch passive Ressourcen für die Kontextermittlung bereit:
Ressourcen-URI | Beschreibung |
| Profil des aktuellen Benutzers |
| Angeheftete Unterhaltungen |
| Authentifizierungsstatus |
CLI-Nutzung
msteams macht jedes Werkzeug verfügbar, das auch der MCP-Server bietet – volle Parität, gleiche Authentifizierung, gleiche Sitzungsdateien. Führen Sie es ohne Argumente aus, um alle Werkzeuge und Verknüpfungen aufzulisten.
Wenn Sie global installiert haben (npm install -g msteams-mcp), rufen Sie es direkt auf:
# List available tools and shortcuts
msteams
# Check authentication status
msteams status
# Log in (opens a browser; tries silent SSO first)
msteams login
msteams login --force # clear session and re-login
# Search messages
msteams search "meeting notes"
msteams search "project" --from 0 --size 50
# Search emails
msteams teams_search_email --query "from:sarah@company.com"
# Send a message (default: your own notes/self-chat)
msteams send "Hello from Teams MCP!"
msteams send "Message" --to "conversation-id"
# People, contacts, favourites, activity, unread
msteams people "john smith"
msteams favorites
msteams activity
msteams unread
# Any tool by name (the teams_ prefix is optional)
msteams teams_search_emoji --query "heart"
msteams find_channel --query "support"
# Machine-readable output
msteams search "query" --jsonBefehlsform: msteams <command> [primaryArg] [--key value ...]. Jeder nicht erkannte Befehl wird als Werkzeugname behandelt (teams_ wird automatisch hinzugefügt). Allgemeine Flags wie --to, --from, --size, --query, --force werden den passenden Werkzeugparametern zugeordnet; führen Sie msteams ohne Argumente aus, um die vollständige Liste zu sehen.
Aus einem Repository-Klon
Wenn Sie aus dem Quellcode arbeiten, ist dieselbe CLI mit npm run cli verbunden (läuft über tsx, kein Build erforderlich):
npm run cli # list tools
npm run cli -- search "your query"
npm run cli -- status
npm run cli -- send "Hi" --to "conversation-id"Einschränkungen
Anmeldung erforderlich – Führen Sie
teams_loginaus, um sich zu authentifizieren (öffnet Browser)Token-Ablauf – Tokens laufen nach ca. 1 Stunde ab; ein Headless-Refresh wird versucht, oder führen Sie bei Bedarf erneut
teams_loginausUndokumentierte APIs – Nutzt Microsofts interne APIs, die sich ohne Vorankündigung ändern können
Sucheinschränkungen – Nur Volltextsuche; Thread-Antworten, die nicht den Suchbegriffen entsprechen, werden nicht angezeigt (aber die LLM wird wahrscheinlich
teams_get_threadfür den vollständigen Kontext verwenden)
Sitzungsdateien
Sitzungsdateien werden in einem Benutzerkonfigurationsverzeichnis gespeichert (verschlüsselt):
macOS/Linux:
~/.teams-mcp-server/Windows:
%APPDATA%\teams-mcp-server\
Inhalt: session-state.json, token-cache.json, browser-profile/
Wenn Ihre Sitzung abläuft, rufen Sie teams_login auf oder löschen Sie das Konfigurationsverzeichnis.
Entwicklung
Für die lokale Entwicklung:
git clone https://github.com/m0nkmaster/msteams-mcp.git
cd msteams-mcp
npm install
npm run buildEntwicklungsbefehle:
npm run dev # Run MCP server in dev mode
npm run build # Compile TypeScript
npm run lint # Run ESLint
npm test # Run unit tests
npm run typecheck # TypeScript type checkingFür die Entwicklung mit Hot Reload konfigurieren Sie Ihren MCP-Client:
{
"mcpServers": {
"teams": {
"command": "npx",
"args": ["tsx", "/path/to/msteams-mcp/src/index.ts"]
}
}
}Siehe AGENTS.md für detaillierte Architektur- und Beitragsrichtlinien.
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
- Alicense-qualityDmaintenanceEnables AI assistants to interact with Microsoft 365 through the Microsoft Graph API, including searching Teams messages, managing chats, and sending messages.77MIT
- Alicense-qualityBmaintenanceEnables AI assistants to interact with Microsoft Teams, users, chats, files, and organizational data via Microsoft Graph APIs, with added support for creating, updating, listing, and inspecting Teams meetings and calendar events.20MIT
- Alicense-qualityBmaintenanceEnables AI assistants to manage Microsoft Teams through the Graph API, including sending messages, managing chats, creating teams, and searching communications.MIT
- Alicense-qualityDmaintenanceEnables AI assistants to interact with Microsoft Teams, users, and organizational data via Microsoft Graph APIs, including sending messages, managing chats and channels, and searching messages.MIT
Related MCP Connectors
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
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/m0nkmaster/msteams-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server