Outlook MCP

ryaker/outlook-mcp· Проверено 12.11.2026· 455на GitHub

Подключает агента к Microsoft 365 через Microsoft Graph: читать, искать и отправлять письма Outlook, вести календарь, раскладывать почту по папкам и правилам, работать с файлами OneDrive и потоками Power Automate.

Как подключить

Что сделать до подключения

1

Node.js 14 или новее; склонировать репозиторий и выполнить npm install

2

Зарегистрировать приложение в Azure Portal: тип аккаунтов «Accounts in any organizational directory and personal Microsoft accounts», Redirect URI Web — http://localhost:3333/auth/callback

3

Выдать делегированные права Microsoft Graph: offline_access, User.Read, Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read, Calendars.ReadWrite, Files.Read, Files.ReadWrite

4

Скопировать .env.example в .env и вписать MS_CLIENT_ID, MS_CLIENT_SECRET и MS_TENANT_ID

5

Запустить сервер входа npm run auth-server, вызвать в клиенте инструмент authenticate и войти по выданной ссылке

6
OUTLOOK_CLIENT_ID

Azure Portal → App registrations → ваше приложение → Application (client) ID

7
OUTLOOK_CLIENT_SECRET

Azure Portal → Certificates & secrets → New client secret → скопировать поле Value

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --env USE_TEST_MODE=false --env 'OUTLOOK_CLIENT_ID=<Application (client) ID>' --env 'OUTLOOK_CLIENT_SECRET=<значение секрета клиента>' --transport stdio outlook \
  -- node /path/to/outlook-mcp/index.js

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

authenticateвыдаёт ссылку для входа
list-emailsпоказывает последние письма
search-emailsищет письма по фильтрам
read-emailчитает письмо
send-emailотправляет письмо
draft-emailсохраняет черновик
mark-as-readотмечает прочитанным
move-emailsпереносит письма в папку
list-foldersпоказывает папки почты
create-folderсоздаёт папку
list-rulesпоказывает правила входящих
create-ruleсоздаёт правило
list-eventsпоказывает события календаря
create-eventсоздаёт событие
decline-eventотклоняет приглашение
onedrive-searchищет файлы в OneDrive
onedrive-uploadзагружает файл до 4 МБ
onedrive-shareсоздаёт ссылку на файл
flow-listпоказывает потоки Power Automate
flow-runзапускает поток вручную

Показано 20 из 34.

Что попросить агента

«Найди письма от <отправитель> за последнюю неделю и перескажи»Агент вызовет search-emails с фильтром, затем read-email для нужных писем
«Ответь <получатель>, что встреча переносится на <дата>»Агент вызовет send-email или сохранит черновик через draft-email
«Перенеси все рассылки из входящих в папку <название>»Агент вызовет list-folders, при необходимости create-folder, затем move-emails
«Что у меня в календаре на завтра? Поставь встречу с <имя> на 15:00»Агент вызовет list-events, затем create-event
«Найди в OneDrive презентацию <название> и дай ссылку»Агент вызовет onedrive-search, затем onedrive-share

Для каких задач

Найти письма по отправителю или теме и пересказать переписку
Написать и отправить письмо или оставить черновик
Разложить входящие по папкам и завести правило для новых писем
Посмотреть календарь, назначить встречу и отклонить лишнее приглашение
Найти файл в OneDrive, загрузить новый и поделиться ссылкой
Запустить поток Power Automate и посмотреть историю запусков

Ограничения

!

Нужно своё приложение в Azure Portal с правами Microsoft Graph и секретом клиента

!

Для входа отдельно запускается сервер авторизации на порту 3333

!

Power Automate требует отдельного токена с областью Flow API; доступны только потоки в решениях, и запускать можно только потоки с ручным триггером

!

Сервер сторонний: Microsoft его не ведёт

Если не работает

Ошибка Cannot find module
Зависимости не поставлены: выполните npm install в папке сервера.
Port 3333 in use
Освободите порт командой npx kill-port 3333 и снова запустите npm run auth-server.
Invalid client secret (AADSTS7000215)
В OUTLOOK_CLIENT_SECRET и MS_CLIENT_SECRET нужно значение Value секрета. Secret ID туда не подходит.
Инструменты отвечают Authentication required
Удалите ~/.outlook-mcp-tokens.json и пройдите вход заново.

Частые вопросы

Где хранятся токены?
После входа токены сохраняются в файл ~/.outlook-mcp-tokens.json. Чтобы войти заново, удалите его и снова вызовите authenticate.
Можно попробовать без настоящей почты?
Да, задайте USE_TEST_MODE=true или запустите npm run test-mode: сервер отвечает тестовыми данными без обращения к API.
Зачем MS_TENANT_ID?
Задайте его для приложения в одном каталоге организации: так сервер не обращается к общему адресу /common, на котором возникают ошибки.
Какие ещё сервисы Microsoft 365 доступны?
Кроме почты и календаря — OneDrive: поиск, загрузка, выгрузка по ссылке, общий доступ и папки. И Power Automate: окружения, потоки, запуск и история.
Работает ли сервер из России?
Сервер запускается на вашем компьютере и работает с Microsoft Graph через ваш аккаунт Microsoft 365 и приложение в Azure, поэтому нужен доступ к сервисам Microsoft.

Похожие серверы