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.

Related MCP Connectors

Related MCP Servers