softeria/ms-365-mcp-server

Сервер MCP для взаимодействия с Microsoft 365 и сервисами Office через Graph API

MCP⭐ 984TypeScriptпоследний релиз: v0.154.3
Открыть на GitHub ↗

Что это за инструмент

Это MCP-сервер для взаимодействия с Microsoft 365 и Office через Graph API, позволяющий LLM-агентам управлять почтой, календарями, файлами и Teams.

Зачем нужен

Инструмент решает задачу интеграции Microsoft 365 в экосистему AI-агентов, предоставляя более 200 инструментов для чтения и записи данных. Он полезен для автоматизации рутинных задач в корпоративной среде, таких как поиск информации, управление встречами и обработка документов, с возможностью настройки прав доступа.

Что можно реализовать

  • Автоматический поиск и анализ писем в Outlook по запросам пользователя
  • Управление календарем: создание, изменение и поиск встреч
  • Работа с файлами в OneDrive и SharePoint: чтение, загрузка и поиск документов
  • Интеграция с Teams: просмотр чатов, создание встреч и анализ транскрипций
  • Управление задачами в To Do и Planner через естественный язык

Ключевые возможности

  • Поддержка более 200 инструментов, покрывающих основные сервисы Microsoft 365
  • Экспериментальный формат вывода TOON, сокращающий потребление токенов на 30-60%
  • Гибкая система контроля доступа: режимы read-only, фильтрация инструментов и настройка Graph API scopes
  • Поддержка нескольких облачных сред, включая Global и China (21Vianet)
  • Динамический запрос разрешений MSAL и возможность предварительного просмотра необходимых прав

👤 Кому подойдёт: разработчики, внедряющие AI-агентов в корпоративные среды, и DevOps-инженеры, настраивающие интеграцию с Microsoft 365

Релизы

v0.154.3patch
🕐 3 дн назад · релиз на GitHub ↗

Исправлена ошибка в пакетных запросах Graph API, связанная с отсутствием заголовка Content-Type при записи.

  • Fixed: Исправлена ошибка в модуле graph-batch: теперь корректно добавляется заголовок Content-Type, требуемый Graph API для подзапросов на запись.
v0.154.2patch
🕐 4 дн назад · релиз на GitHub ↗

Исправлена ошибка в граф-клиенте: метод download-bytes теперь корректно возвращает base64 для всех типов контента.

  • Fixed: graph-client: метод download-bytes теперь всегда возвращает base64 для любого типа контента, исключая потерю данных при преобразовании в текст.
v0.154.0minor
🕐 9 дн назад · релиз на GitHub ↗

Обновление MS 365 MCP Server v0.154.0: инструменты работы с элементами диска теперь поддерживают ограничение Sites.Selected.

  • Added: Инструменты работы с элементами диска (drive items) теперь могут функционировать в контексте ограничения Sites.Selected.
v0.153.1patch
🕐 9 дн назад · релиз на GitHub ↗

Исправлена обработка курсора skiptoken и улучшено описание инструмента.

  • Fixed: Улучшена логика обработки курсора skiptoken в инструментах.
  • Fixed: Сокращено описание параметра skiptoken.
v0.153.0minor
🕐 9 дн назад · релиз на GitHub ↗

Добавлена поддержка параметра skiptoken для пагинации в Microsoft 365 MCP Server.

  • Added: Реализована поддержка параметра skiptoken для улучшения работы с пагинацией.
v0.151.0minor
🕐 13 дн назад · релиз на GitHub ↗

Добавлена генерация короткоживущих подписанных URL для скачивания файлов через Graph API, если прямая ссылка отсутствует.

  • Added: Реализовано создание короткоживущих подписанных URL для загрузки байтов из Graph API в случаях, когда прямая ссылка недоступна.
v0.150.3patch
🕐 13 дн назад · релиз на GitHub ↗

Исправлена ошибка нормализации кавычек в KQL-запросах для почты, устраняющая ошибки 400.

  • Fixed: Исправлена нормализация экранирования символов в KQL-запросах для почты, что предотвращает возврат ошибки 400.
v0.150.2patch
🕐 13 дн назад · релиз на GitHub ↗

Исправление в календаре: уточнение формата времени, работы UTC/DST и различий между calendarId и eventId.

  • Fixed: Уточнён формат времени и добавлены рекомендации по UTC и летнему времени (DST) в модуле календаря.
  • Fixed: Разъяснена разница между идентификаторами календаря (calendarId) и события (eventId) для предотвращения ошибок.
v0.150.1patch
🕐 14 дн назад · релиз на GitHub ↗

Исправлена ошибка аутентификации: перестала отправляться client_secret при обмене токенов для публичных клиентов.

  • Fixed: Исправлена ошибка в механизме аутентификации, при которой client_secret ошибочно передавался при обмене токенов для публичных клиентов.
v0.150.0patch
🕐 14 дн назад · релиз на GitHub ↗

Версия 0.150.0: исправлена работа параметра $select, теперь он корректно обрабатывается на стороне сервера.

  • Fixed: Исправлена обработка параметра $select: теперь он принудительно применяется на стороне сервера, так как Microsoft Graph его игнорирует.
v0.149.1patch
🕐 18 дн назад · релиз на GitHub ↗

Исправлена корректность подсказок Teams-встреч в представлении календаря calendarView.

  • Fixed: Исправлены подсказки Teams-встреч в календарном представлении (calendarView).
v0.149.0minor
🕐 18 дн назад · релиз на GitHub ↗

В версии 0.149.0 добавлены инструменты для получения расшифровок ad hoc-звонков в Microsoft Teams.

  • Added: Добавлены инструменты для получения расшифровок (transcripts) временных звонков в Teams.
v0.148.2patch
🕐 19 дн назад · релиз на GitHub ↗

Исправлена ошибка, при которой сервер игнорировал явно заданный заголовок Accept в запросах.

  • Fixed: Исправлено поведение: теперь сервер корректно учитывает явно переданный заголовок Accept.
v0.148.1patch
🕐 20 дн назад · релиз на GitHub ↗

Исправлены и расширены подсказки запросов Graph для чатов и встреч.

  • Fixed: Исправлены и расширены подсказки запросов Graph для чатов и встреч.
v0.148.0minor
🕐 22 дн назад · релиз на GitHub ↗

Добавлены инструменты для создания ответов, пересылки и черновиков писем в общих почтовых ящиках.

  • Added: Добавлены инструменты createReply, createReplyAll, createForward и send draft для работы с общими почтовыми ящиками.
v0.147.0minor
🕐 23 дн назад · релиз на GitHub ↗

Добавлена переменная MS365_MCP_USE_KEYTAR для отказа от использования хранилища учётных данных.

  • Added: Появилась опция MS365_MCP_USE_KEYTAR, позволяющая отключить использование системного хранилища учётных данных.
v0.146.2patch
🕐 26 дн назад · релиз на GitHub ↗

Исправлена ошибка с дубликатами refresh-токенов аутентификации, приводившая к проблемам при обновлении.

  • Fixed: Исправлено поведение при наличии дубликатов refresh-токенов: теперь система корректно обрабатывает устаревшие токены без лишних действий.
v0.146.1patch
🕐 28 дн назад · релиз на GitHub ↗

Исправлены неточности в заявлениих о конфиденциальности и закрыты уязвимости, связанные с захватом получателей в модуле аудита.

  • Fixed: Исправлены некорректные утверждения о конфиденциальности данных.
  • Fixed: Устранены пробелы в логике захвата получателей в системе аудита.
v0.146.0minor
🕐 28 дн назад · релиз на GitHub ↗

В версии 0.146.0 добавлена функция аудита: теперь сервер фиксирует домены получателей при отправке писем и приглашений.

  • Added: Добавлена возможность записи доменов получателей в журналах аудита для исходящих писем и приглашений.
v0.145.2patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена обработка $refs в tool inputSchema для совместимости с клиентами, не поддерживающими $defs.

  • Fixed: Инлайн-вставка $refs в tool inputSchema для корректной работы клиентов, не поддерживающих $defs.
v0.145.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено некорректное руководство по размеру для загрузки файлов в формате inline-base64.

  • Fixed: Исправлены неточные рекомендации по размеру при загрузке данных в формате inline-base64.
v0.145.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлено логирование событий аудита для инструментов, заблокированных политиками безопасности.

  • Added: Реализовано добавление событий аудита для действий, запрещённых политиками безопасности.
v0.144.0minor
🕐 1 мес назад · релиз на GitHub ↗

В логирование аудита добавлена метаданныхная информация о результатах HTTP-запросов к Microsoft Graph.

  • Added: В логи аудита теперь включаются метаданные результатов HTTP-запросов к Microsoft Graph для улучшения отслеживания.
v0.143.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена опциональная настройка подписи для сообщений, генерируемых агентом.

  • Added: Появилась возможность оборачивать исходящие сообщения агента в настраиваемую подпись (опционально).
v0.142.0minor
🕐 1 мес назад · релиз на GitHub ↗

В версии 0.142.0 добавлен пресет teams-write для отправки сообщений в Teams без прав на чтение.

  • Added: Добавлен пресет teams-write, позволяющий отправлять сообщения в Teams, но не читать их.
v0.141.0minor
🕐 1 мес назад · релиз на GitHub ↗

В релизе v0.141.0 добавлена поддержка минимальных прав Chat.ReadBasic для операций с чатами Teams.

  • Added: Добавлена возможность использовать область видимости Chat.ReadBasic как альтернативу с минимальными правами для списания чатов и получения информации о них.
v0.140.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлены инструменты для перемещения и обновления сообщений в общей почте.

  • Added: Появились инструменты move и update для работы с сообщениями в общей почте.
v0.139.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка метаданных MCP Registry и возможность публикации сервера в реестре.

  • Added: Реализована поддержка метаданных для MCP Registry.
  • Added: Добавлена возможность публикации сервера в реестре MCP.
v0.137.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Критическое обновление безопасности: ограничено чтение переменных из .env для предотвращения выполнения произвольного кода при запуске.

  • Breaking: Из .env теперь читаются только параметры регистрации приложения (Client ID, Secret, Tenant ID, Cloud Type); остальные переменные игнорируются с предупреждением.
  • Fixed: Исправлена уязвимость: предотвращено выполнение произвольного кода через MS365_MCP_AUTH_CACHE_COMMAND при запуске сервера в недоверенных директориях.
  • Breaking: Значение MS365_MCP_AUTH_CACHE_COMMAND теперь должно быть абсолютным путём.
  • Deprecated: Переменные MS365_MCP_TOKEN_CACHE_PATH и другие параметры теперь нужно хранить в конфигурации оболочки или клиента MCP, иначе произойдёт сброс к значениям по умолчанию.