Teams MCP Server
Teams MCP Server
Первый коннектор Microsoft Teams с открытым исходным кодом для Claude. Любой пользователь Microsoft 365 может подключиться — просто войдите с помощью рабочей учетной записи. Без настройки, без учетных данных, без самостоятельного хостинга.
Читайте сообщения, просматривайте каналы, ищите по Teams, отправляйте сообщения — все это из Claude Code, Claude Desktop или Claude Cowork.
Разработано SurgeEnterpriseAI.
Как это работает
┌─────────────┐ 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 │ │
│ └────────────────┘ │
└──────────────────────┘Пользователь подключает свою собственную учетную запись Microsoft 365. Он видит свои команды, свои каналы, свои сообщения. Токены каждого пользователя изолированы. Сервер — это мост: он никогда не хранит сообщения, а только передает их.
Related MCP server: Microsoft 365 MCP Server
Возможности
Подключение в один клик — перейдите на
/connect, войдите с помощью Microsoft, готовоМультитенантность — любая организация Microsoft 365, любой пользователь
11 инструментов — команды, каналы, сообщения, чаты, поиск, профиль
Двойной транспорт — STDIO для Claude Code, HTTP/SSE для Cowork и удаленного доступа
Многопользовательский режим — каждая сессия получает изолированные токены OAuth
Автоопределение — выбирает правильный транспорт в зависимости от способа запуска
Кэширование токенов — тихое обновление, без повторного входа в каждую сессию
Логика повторов — автоматические повторы при ограничении вызовов Graph API
TypeScript — полностью типизирован, чистая архитектура, лицензия MIT
Для пользователей: подключение в 1 клик
Если кто-то уже размещает этот сервер (например, на https://teams-mcp.surgeai.com):
Claude просит вас подключить Microsoft Teams
Вы нажимаете на ссылку авторизации
Входите с помощью рабочей учетной записи Microsoft
Готово — Claude теперь может читать ваши Teams
Никаких ключей API, никакого портала Azure, никакой настройки.
Для разработчиков: самостоятельный хостинг
1. Клонирование и установка
git clone https://github.com/SurgeEnterpriseAI/teams-mcp-server.git
cd teams-mcp-server
npm install
npm run build2. Регистрация приложения Azure AD
Перейдите на Портал Azure → Регистрация приложений → Новая регистрация
Имя:
Teams MCP ServerПоддерживаемые типы учетных записей: «Учетные записи в любом каталоге организации (любой каталог Azure AD — мультитенантный)»
URI перенаправления: Веб →
https://your-server.com/auth/callbackНажмите Зарегистрировать
Настройка:
Сертификаты и секреты → Новый секрет клиента → скопируйте значение
Разрешения API → Добавить делегированные (Microsoft Graph):
ChannelMessage.Read.All,ChannelMessage.SendChat.Read,Chat.ReadWrite,ChatMessage.SendTeam.ReadBasic.All,Channel.ReadBasic.AllUser.Read
Нажмите Предоставить согласие администратора (для своего клиента; другие клиенты дают согласие при первом входе)
3. Настройка и развертывание
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)Разверните на Railway, Render, Azure App Service или любом 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. Отправка в реестр MCP
После развертывания и тестирования отправьте URL вашего сервера в реестр коннекторов MCP от Anthropic. Пользователи увидят «Microsoft Teams» как вариант подключения в Claude Cowork — так же, как Slack и Gmail.
Для пользователей Claude Code: локальный режим STDIO
Добавьте в ваш .mcp.json:
{
"mcpServers": {
"teams": {
"command": "node",
"args": ["/path/to/teams-mcp-server/dist/index.js"],
"cwd": "/path/to/teams-mcp-server"
}
}
}При первом запуске откроется браузер для входа в Microsoft. После этого токены кэшируются.
Доступные инструменты
Инструмент | Что делает |
| Список всех ваших команд |
| Список каналов в команде |
| Чтение последних сообщений канала |
| Отправка сообщения в канал |
| Ответ в ветке канала |
| Чтение ответов в ветке |
| Список ваших личных и групповых чатов |
| Чтение сообщений из чата |
| Отправка личного/группового сообщения |
| Поиск сообщений во всех Teams |
| Получить ваш профиль Microsoft 365 |
Архитектура
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)Переменные окружения
Переменная | Обязательная | По умолчанию | Описание |
| Да | — | Идентификатор клиента приложения Azure AD |
| Да | — | Секрет клиента Azure AD |
| Нет |
|
|
| Нет |
|
|
| Нет |
| Порт HTTP-сервера |
| Нет |
| Публичный URL |
| Нет |
| URL обратного вызова OAuth |
| Нет |
| Каталог кэша токенов |
| Нет |
| Уровень логирования |
Лицензия
MIT — LICENSE
Вклад
Приветствуются issues и PR. Разработано 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