
Outlook MCP
Подключает агента к Microsoft 365 через Microsoft Graph: читать, искать и отправлять письма Outlook, вести календарь, раскладывать почту по папкам и правилам, работать с файлами OneDrive и потоками Power Automate.
Как подключить
Что сделать до подключения
Node.js 14 или новее; склонировать репозиторий и выполнить npm install
Зарегистрировать приложение в Azure Portal: тип аккаунтов «Accounts in any organizational directory and personal Microsoft accounts», Redirect URI Web — http://localhost:3333/auth/callback
Выдать делегированные права Microsoft Graph: offline_access, User.Read, Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read, Calendars.ReadWrite, Files.Read, Files.ReadWrite
Скопировать .env.example в .env и вписать MS_CLIENT_ID, MS_CLIENT_SECRET и MS_TENANT_ID
Запустить сервер входа npm run auth-server, вызвать в клиенте инструмент authenticate и войти по выданной ссылке
OUTLOOK_CLIENT_IDAzure Portal → App registrations → ваше приложение → Application (client) ID
OUTLOOK_CLIENT_SECRETAzure 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.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.outlook]
command = "node"
args = ["/path/to/outlook-mcp/index.js"]
[mcp_servers.outlook.env]
USE_TEST_MODE = "false"
OUTLOOK_CLIENT_ID = "<Application (client) ID>"
OUTLOOK_CLIENT_SECRET = "<значение секрета клиента>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"outlook": {
"command": "node",
"args": ["/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"outlook": {
"type": "stdio",
"command": "node",
"args": ["/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"outlook": {
"command": "node",
"args": ["/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"outlook": {
"command": "node",
"args": ["/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"outlook": {
"type": "local",
"command": ["node", "/path/to/outlook-mcp/index.js"],
"environment": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"outlook": {
"command": "node",
"args": ["/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"outlook": {
"command": "node",
"args": ["/path/to/outlook-mcp/index.js"],
"env": {
"USE_TEST_MODE": "false",
"OUTLOOK_CLIENT_ID": "<Application (client) ID>",
"OUTLOOK_CLIENT_SECRET": "<значение секрета клиента>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
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ищет файлы в OneDriveonedrive-uploadзагружает файл до 4 МБonedrive-shareсоздаёт ссылку на файлflow-listпоказывает потоки Power Automateflow-runзапускает поток вручнуюПоказано 20 из 34.
Что попросить агента
Для каких задач
Ограничения
Нужно своё приложение в Azure Portal с правами Microsoft Graph и секретом клиента
Для входа отдельно запускается сервер авторизации на порту 3333
Power Automate требует отдельного токена с областью Flow API; доступны только потоки в решениях, и запускать можно только потоки с ручным триггером
Сервер сторонний: Microsoft его не ведёт