Skip to main content
Glama

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):

  1. Claude просит вас подключить Microsoft Teams

  2. Вы нажимаете на ссылку авторизации

  3. Входите с помощью рабочей учетной записи Microsoft

  4. Готово — Claude теперь может читать ваши Teams

Никаких ключей API, никакого портала Azure, никакой настройки.

Для разработчиков: самостоятельный хостинг

1. Клонирование и установка

git clone https://github.com/SurgeEnterpriseAI/teams-mcp-server.git
cd teams-mcp-server
npm install
npm run build

2. Регистрация приложения Azure AD

  1. Перейдите на Портал AzureРегистрация приложенийНовая регистрация

  2. Имя: Teams MCP Server

  3. Поддерживаемые типы учетных записей: «Учетные записи в любом каталоге организации (любой каталог Azure AD — мультитенантный)»

  4. URI перенаправления: Вебhttps://your-server.com/auth/callback

  5. Нажмите Зарегистрировать

Настройка:

  • Сертификаты и секреты → Новый секрет клиента → скопируйте значение

  • Разрешения API → Добавить делегированные (Microsoft Graph):

    • ChannelMessage.Read.All, ChannelMessage.Send

    • Chat.Read, Chat.ReadWrite, ChatMessage.Send

    • Team.ReadBasic.All, Channel.ReadBasic.All

    • User.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.js

4. Отправка в реестр 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_list_teams

Список всех ваших команд

teams_list_channels

Список каналов в команде

teams_read_channel_messages

Чтение последних сообщений канала

teams_send_channel_message

Отправка сообщения в канал

teams_reply_to_message

Ответ в ветке канала

teams_read_message_replies

Чтение ответов в ветке

teams_list_chats

Список ваших личных и групповых чатов

teams_read_chat_messages

Чтение сообщений из чата

teams_send_chat_message

Отправка личного/группового сообщения

teams_search_messages

Поиск сообщений во всех Teams

teams_get_profile

Получить ваш профиль 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)

Переменные окружения

Переменная

Обязательная

По умолчанию

Описание

TEAMS_CLIENT_ID

Да

Идентификатор клиента приложения Azure AD

TEAMS_CLIENT_SECRET

Да

Секрет клиента Azure AD

TEAMS_AUTHORITY

Нет

common

common для мультитенантности или конкретный идентификатор клиента

TRANSPORT_MODE

Нет

auto

auto, stdio или http

PORT

Нет

3000

Порт HTTP-сервера

BASE_URL

Нет

http://localhost:3000

Публичный URL

REDIRECT_URI

Нет

{BASE_URL}/auth/callback

URL обратного вызова OAuth

TOKEN_STORE_PATH

Нет

./.data/tokens

Каталог кэша токенов

LOG_LEVEL

Нет

info

Уровень логирования

Лицензия

MIT — LICENSE

Вклад

Приветствуются issues и PR. Разработано SurgeEnterpriseAI.

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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