Teams MCP Server
Teams MCP Server
El primer conector de Microsoft Teams de código abierto para Claude. Cualquier usuario de Microsoft 365 puede conectarse: solo inicia sesión con tu cuenta de trabajo. Sin configuración, sin credenciales, sin necesidad de autoalojamiento.
Lee mensajes, lista canales, busca en Teams, envía mensajes: todo desde Claude Code, Claude Desktop o Claude Cowork.
Creado por SurgeEnterpriseAI.
Cómo funciona
┌─────────────┐ 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 │ │
│ └────────────────┘ │
└──────────────────────┘El usuario conecta su propia cuenta de Microsoft 365. Ve sus propios equipos, sus propios canales, sus propios mensajes. Los tokens de cada usuario están aislados. El servidor es el puente: nunca almacena mensajes, solo los transmite.
Related MCP server: Microsoft 365 MCP Server
Características
Conexión en un clic — visita
/connect, inicia sesión con Microsoft, listoMultiinquilino — cualquier organización de Microsoft 365, cualquier usuario
11 herramientas — equipos, canales, mensajes, chats, búsqueda, perfil
Transporte dual — STDIO para Claude Code, HTTP/SSE para Cowork y remoto
Multiusuario — cada sesión obtiene tokens OAuth aislados
Detección automática — elige el transporte correcto según el método de lanzamiento
Caché de tokens — renovación silenciosa, sin volver a iniciar sesión en cada sesión
Lógica de reintentos — reintentos automáticos en llamadas limitadas de Graph API
TypeScript — completamente tipado, arquitectura limpia, licencia MIT
Para usuarios: conéctate en 1 clic
Si alguien ya está alojando este servidor (por ejemplo, en https://teams-mcp.surgeai.com):
Claude te pide que conectes Microsoft Teams
Haces clic en el enlace de autenticación
Inicia sesión con tu cuenta de trabajo de Microsoft
Listo: Claude ahora puede leer tus Teams
Sin claves de API, sin portal de Azure, sin configuración.
Para desarrolladores: autoalojamiento
1. Clonar e instalar
git clone https://github.com/SurgeEnterpriseAI/teams-mcp-server.git
cd teams-mcp-server
npm install
npm run build2. Registro de aplicación de Azure AD
Ve a Azure Portal → Registros de aplicaciones → Nuevo registro
Nombre:
Teams MCP ServerTipos de cuenta admitidos: "Cuentas en cualquier directorio organizativo (cualquier directorio de Azure AD: multiinquilino)"
URI de redirección: Web →
https://your-server.com/auth/callbackHaz clic en Registrar
Configura:
Certificados y secretos → Nuevo secreto de cliente → copia el Valor
Permisos de API → Agregar delegados (Microsoft Graph):
ChannelMessage.Read.All,ChannelMessage.SendChat.Read,Chat.ReadWrite,ChatMessage.SendTeam.ReadBasic.All,Channel.ReadBasic.AllUser.Read
Haz clic en Conceder consentimiento de administrador (para tu propio inquilino; otros inquilinos dan su consentimiento en el primer inicio de sesión)
3. Configurar e implementar
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)Implementa en Railway, Render, Azure App Service o cualquier host de Node.js:
# 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. Enviar al registro de MCP
Una vez implementado y probado, envía la URL de tu servidor al registro de conectores MCP de Anthropic. Los usuarios verán "Microsoft Teams" como una opción de conexión en Claude Cowork, al igual que Slack y Gmail.
Para usuarios de Claude Code: modo STDIO local
Añade a tu .mcp.json:
{
"mcpServers": {
"teams": {
"command": "node",
"args": ["/path/to/teams-mcp-server/dist/index.js"],
"cwd": "/path/to/teams-mcp-server"
}
}
}La primera ejecución abrirá tu navegador para iniciar sesión en Microsoft. Después, los tokens se almacenan en caché.
Herramientas disponibles
Herramienta | Qué hace |
| Lista todos tus Teams |
| Lista canales en un equipo |
| Lee mensajes recientes del canal |
| Envía un mensaje a un canal |
| Responde en un hilo de canal |
| Lee respuestas de hilos |
| Lista tus DMs y chats grupales |
| Lee mensajes de un chat |
| Envía un mensaje directo/grupal |
| Busca mensajes en todos los Teams |
| Obtén tu perfil de Microsoft 365 |
Arquitectura
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)Variables de entorno
Variable | Requerida | Predeterminado | Descripción |
| Sí | — | ID de cliente de la aplicación de Azure AD |
| Sí | — | Secreto de cliente de Azure AD |
| No |
|
|
| No |
|
|
| No |
| Puerto del servidor HTTP |
| No |
| URL pública |
| No |
| URL de devolución de llamada OAuth |
| No |
| Directorio de caché de tokens |
| No |
| Nivel de registro |
Licencia
MIT — LICENSE
Contribuciones
Se aceptan problemas y solicitudes de extracción. Creado por 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