Teams MCP Server
Teams MCP Server
Der erste Open-Source-Microsoft-Teams-Connector für Claude. Jeder Microsoft-365-Benutzer kann sich verbinden – einfach mit Ihrem Geschäftskonto anmelden. Keine Einrichtung, keine Anmeldedaten, kein Self-Hosting erforderlich.
Nachrichten lesen, Kanäle auflisten, in Teams suchen, Nachrichten senden – alles von Claude Code, Claude Desktop oder Claude Cowork aus.
Erstellt von SurgeEnterpriseAI.
So funktioniert's
┌─────────────┐ Click "Connect" ┌──────────────────────┐
│ Claude User │ ──────────────────────► │ Teams MCP Server │
│ (Cowork/ │ │ (hosted by Surge) │
│ Desktop/ │ SSE/MCP Protocol │ │
│ Code) │ ◄─────────────────────► │ ┌────────────────┐ │
└─────────────┘ │ │ OAuth (common) │ │
│ │ Any M365 user │ │
User signs in with their │ │ can sign in │ │
own Microsoft account │ └───────┬────────┘ │
─────────────────────► │ │ │
│ ┌───────▼────────┐ │
│ │ Microsoft │ │
│ │ Graph API │ │
│ └────────────────┘ │
└──────────────────────┘Der Benutzer verbindet sein eigenes Microsoft-365-Konto. Er sieht seine eigenen Teams, seine eigenen Kanäle, seine eigenen Nachrichten. Die Tokens jedes Benutzers sind isoliert. Der Server ist die Brücke – er speichert nie Nachrichten, sondern leitet sie nur durch.
Related MCP server: Microsoft 365 MCP Server
Funktionen
Ein-Klick-Verbindung – Besuchen Sie
/connect, melden Sie sich mit Microsoft an, fertigMulti-Tenant – jede Microsoft-365-Organisation, jeder Benutzer
11 Tools – Teams, Kanäle, Nachrichten, Chats, Suche, Profil
Dualer Transport – STDIO für Claude Code, HTTP/SSE für Cowork & Remote
Multi-Benutzer – jede Sitzung erhält isolierte OAuth-Tokens
Automatische Erkennung – wählt den richtigen Transport basierend auf der Startmethode
Token-Caching – stilles Aktualisieren, kein erneutes Anmelden bei jeder Sitzung
Wiederholungslogik – automatische Wiederholungen bei gedrosselten Graph-API-Aufrufen
TypeScript – vollständig typisiert, saubere Architektur, MIT-lizenziert
Für Benutzer: In 1 Klick verbinden
Wenn jemand diesen Server bereits hostet (z. B. auf https://teams-mcp.surgeai.com):
Claude fragt Sie, ob Sie Microsoft Teams verbinden möchten
Sie klicken auf den Authentifizierungslink
Melden Sie sich mit Ihrem Microsoft-Geschäftskonto an
Fertig – Claude kann jetzt Ihre Teams lesen
Keine API-Schlüssel, kein Azure-Portal, keine Einrichtung.
Für Entwickler: Selbst hosten
1. Klonen & Installieren
git clone https://github.com/SurgeEnterpriseAI/teams-mcp-server.git
cd teams-mcp-server
npm install
npm run build2. Azure AD-App-Registrierung
Gehen Sie zum Azure-Portal → App-Registrierungen → Neue Registrierung
Name:
Teams MCP ServerUnterstützte Kontotypen: „Konten in einem beliebigen Organisationsverzeichnis (Beliebiges Azure-AD-Verzeichnis – Multitenant)"
Umleitungs-URI: Web →
https://your-server.com/auth/callbackKlicken Sie auf Registrieren
Konfiguration:
Zertifikate & Geheimnisse → Neues Client-Geheimnis → kopieren Sie den Wert
API-Berechtigungen → Delegiert hinzufügen (Microsoft Graph):
ChannelMessage.Read.All,ChannelMessage.SendChat.Read,Chat.ReadWrite,ChatMessage.SendTeam.ReadBasic.All,Channel.ReadBasic.AllUser.Read
Klicken Sie auf Administratorzustimmung erteilen (für Ihren eigenen Mandanten; andere Mandanten stimmen bei der ersten Anmeldung zu)
3. Konfigurieren & Bereitstellen
cp .env.example .env
# Set TEAMS_CLIENT_ID, TEAMS_CLIENT_SECRET
# Set BASE_URL and REDIRECT_URI to your production URL
# TEAMS_AUTHORITY=common (multi-tenant, default)Bereitstellen auf Railway, Render, Azure App Service oder einem beliebigen Node.js-Host:
# Railway
railway login && railway init && railway up
# Or Azure
az webapp up --name teams-mcp-server --runtime "NODE:20-lts"
# Or just run directly
TRANSPORT_MODE=http node dist/index.js4. Beim MCP-Registry einreichen
Nach der Bereitstellung und dem Testen reichen Sie Ihre Server-URL im MCP-Connector-Registry von Anthropic ein. Benutzer sehen dann „Microsoft Teams" als Verbindungsoption in Claude Cowork – genau wie Slack und Gmail.
Für Claude-Code-Benutzer: Lokaler STDIO-Modus
Fügen Sie zu Ihrer .mcp.json hinzu:
{
"mcpServers": {
"teams": {
"command": "node",
"args": ["/path/to/teams-mcp-server/dist/index.js"],
"cwd": "/path/to/teams-mcp-server"
}
}
}Beim ersten Start wird Ihr Browser für die Microsoft-Anmeldung geöffnet. Danach werden Tokens zwischengespeichert.
Verfügbare Tools
Tool | Was es tut |
| Alle Ihre Teams auflisten |
| Kanäle in einem Team auflisten |
| Aktuelle Kanalnachrichten lesen |
| Eine Nachricht an einen Kanal senden |
| In einem Kanalthread antworten |
| Thread-Antworten lesen |
| Ihre Direktnachrichten und Gruppenchats auflisten |
| Nachrichten aus einem Chat lesen |
| Eine Direkt-/Gruppenchat-Nachricht senden |
| Nachrichten in allen Teams suchen |
| Ihr Microsoft-365-Profil abrufen |
Architektur
src/
├── index.ts Main entry (auto-detects transport)
├── config.ts Central configuration
├── logger.ts Structured logging
├── types.ts TypeScript interfaces
├── sessions.ts Multi-user session manager
├── auth/
│ ├── oauth.ts MSAL OAuth (multi-tenant, per-user)
│ └── token-store.ts Persistent token cache
├── graph/
│ ├── client.ts Graph HTTP client with retries
│ ├── teams.ts Teams & channels API
│ ├── messages.ts Channel messages API
│ ├── chats.ts DM & group chat API
│ └── search.ts Search & profile API
├── mcp/
│ ├── server.ts MCP server factory
│ └── tools/ 11 tool definitions
├── transport/
│ ├── stdio.ts STDIO (Claude Code)
│ └── http.ts Express + SSE (Cowork / remote)Umgebungsvariablen
Variable | Erforderlich | Standard | Beschreibung |
| Ja | — | Azure-AD-App-Client-ID |
| Ja | — | Azure-AD-Client-Geheimnis |
| Nein |
|
|
| Nein |
|
|
| Nein |
| HTTP-Serverport |
| Nein |
| Öffentliche URL |
| Nein |
| OAuth-Rückruf-URL |
| Nein |
| Token-Cache-Verzeichnis |
| Nein |
| Protokollierungsstufe |
Lizenz
MIT — LICENSE
Mitwirken
Issues und PRs sind willkommen. Erstellt von SurgeEnterpriseAI.
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
- AlicenseNot gradedqualityCmaintenanceConnects Claude to Microsoft Outlook through the Microsoft Graph API, enabling email management (list, search, read, send) and calendar operations (list, create, accept, decline, delete events) via OAuth 2.0 authentication.1MIT
- FlicenseNot gradedqualityCmaintenanceProvides Claude Desktop and Claude Code with access to Microsoft 365 email and calendar services via the Microsoft Graph API. It enables users to manage emails, search folders, schedule calendar events, and check availability through natural language commands.
- AlicenseNot gradedqualityBmaintenanceConnects Claude with Microsoft 365 services such as Email, Calendar, Teams, OneDrive, and more through the Microsoft Graph API.4616MIT
- AlicenseNot gradedqualityCmaintenanceConnects Claude with Microsoft 365 services including Outlook, OneDrive, and Power Automate, enabling email, calendar, files, and flow management through natural language.34423MIT
Related MCP Connectors
Drive your real WhatsApp inbox from Claude — send, reply, label, assign, and triage via TimelinesAI.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
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/SurgeEnterpriseAI/teams-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server