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 deployed
Maintenance
Related MCP Connectors
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Your own WhatsApp in Claude and ChatGPT: read chats, draft replies, send messages you approve.
1Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
Mac & Windows: let ChatGPT, Claude & Cursor use your email, calendar, iMessage, Teams, files.
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 gradedqualityDmaintenanceProvides 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.80 npm17MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude with Microsoft 365 services including Outlook, OneDrive, and Power Automate, enabling email, calendar, files, and flow management through natural language.38 npm442MIT