Skip to main content
Glama

useful-outlook-mcp

Удалённый MCP-сервер для Microsoft Outlook с корректным OAuth2 и инструментами, оптимизированными для агентов.

Возможности

  • Соответствие спецификациям: метаданные OAuth RFC 9728/8414, динамическая регистрация клиентов RFC 7591

  • Stateless OAuth: токены управляются клиентом, а не сервером — как и задумано в OAuth

  • Инструменты, оптимизированные для агентов: обширная инженерия промптов в описаниях инструментов

  • Динамические области: области OAuth автоматически подстраиваются под включённые инструменты

  • Готовность к продакшену: Docker, ограничение скорости, режим только для чтения, фильтрация инструментов

Related MCP server: M365 MCP Server

Быстрый старт

npm install
npm run build
npm start  # Server at http://localhost:3000

Требуемое окружение:

MS365_MCP_CLIENT_ID=your-azure-ad-client-id
MS365_MCP_CLIENT_SECRET=your-azure-ad-client-secret
MS365_MCP_TENANT_ID=your-tenant-id  # or 'common'

Настройка Azure AD

  1. Портал Azure → Microsoft Entra ID → Регистрация приложений → Создать

  2. Добавьте делегированные разрешения: User.Read, Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read, Calendars.ReadWrite, Calendars.Read.Shared, Place.Read.All, People.Read, offline_access

  3. Добавьте URI перенаправления: http://localhost:6274/oauth/callback (для MCP Inspector)

  4. Сертификаты и секреты → Создать секрет клиента → Скопируйте значение

  5. Скопируйте Client ID, Client Secret и Tenant ID в ваш .env

Инструменты

Почта

list-mail-folders · list-mail-messages · search-mail · get-mail-message · send-mail · create-draft-mail · reply-mail · reply-all-mail · create-reply-draft · create-reply-all-draft · delete-mail-message · move-mail-message

Календарь

list-calendars · list-calendar-events · search-calendar-events · find-meeting-times · get-calendar-event · get-calendar-view · create-calendar-event · update-calendar-event · delete-calendar-event

Люди

lookup-contact-email

Поиск переговорных

Для очных встреч find-meeting-times автоматически:

  • Получает все доступные переговорные комнаты в вашей организации

  • Включает их в проверку доступности вместе с участниками

  • Группирует свободные комнаты по местоположению (город/здание)

  • Возвращает только доступные комнаты с адресами электронной почты для бронирования

Установите isOnlineMeeting: false, чтобы включить поиск комнат. Для онлайн-встреч (по умолчанию: true) ссылки на собрания Teams создаются автоматически.

Требуемая область: Place.Read.All (добавьте в разрешения приложения Azure AD)

Конфигурация

Переменная

По умолчанию

Описание

MS365_MCP_CLIENT_ID

обязательно

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

MS365_MCP_CLIENT_SECRET

-

Секрет клиента (необязательно)

MS365_MCP_TENANT_ID

common

Идентификатор клиента

MS365_MCP_PORT

3000

Порт сервера

MS365_MCP_READ_ONLY_MODE

false

Отключить операции записи

MS365_MCP_ENABLED_TOOLS

все

Разрешённые инструменты (через запятую)

MS365_MCP_CORS_ORIGIN

*

Источники CORS

MS365_MCP_RATE_LIMIT_REQUESTS

30

Запросов за окно

MS365_MCP_RATE_LIMIT_WINDOW_MS

60000

Размер окна (мс)

MS365_MCP_ALLOWED_TENANTS

-

Ограничить конкретными клиентами

Docker

Из GitHub Container Registry:

docker run -p 3000:3000 \
  -e MS365_MCP_CLIENT_ID=xxx \
  -e MS365_MCP_CLIENT_SECRET=xxx \
  -e MS365_MCP_TENANT_ID=xxx \
  ghcr.io/Leonine-Studios/useful-outlook-mcp:latest

Или соберите локально:

docker build -t useful-outlook-mcp .
docker run -p 3000:3000 \
  -e MS365_MCP_CLIENT_ID=xxx \
  -e MS365_MCP_CLIENT_SECRET=xxx \
  -e MS365_MCP_TENANT_ID=xxx \
  useful-outlook-mcp

Конечные точки

Конечная точка

Описание

POST /mcp

Протокол MCP

GET /health

Проверка здоровья

GET /.well-known/oauth-protected-resource

RFC 9728

GET /.well-known/oauth-authorization-server

RFC 8414

GET /authorize

OAuth (проксирует в Microsoft)

POST /token

Обмен токена (проксирует в Microsoft)

POST /register

Динамическая регистрация клиента

Тестирование

npm run dev
npx @modelcontextprotocol/inspector  # Connect to http://localhost:3000/mcp

Примечания по дизайну

Проблемы существующих серверов

  1. Устаревшая архитектура: созданы как stdio с HTTP-надстройкой. Этот сервер изначально HTTP-нативный.

  2. Неправильный OAuth: большинство серверов хранят токены на стороне сервера. Этот сервер не сохраняет состояние — токены передаются в каждом запросе через заголовок Authorization и никогда не хранятся.

  3. Инструменты без продуманности: типичные серверы сопоставляют конечные точки API 1:1 без рекомендаций. Агенты терпят неудачу на практике, потому что не знают особенностей API или многошаговых рабочих процессов.

Что отличается

Каждый инструмент включает:

  • Когда его использовать по сравнению с альтернативами

  • Известные особенности Graph API (их много)

  • Рекомендации по рабочим процессам для многошаговых задач

  • Комбинации параметров, которые приводят к ошибкам

Пример: find-meeting-times объясняет, что требуются адреса электронной почты (имена не работают), как найти адреса по именам с помощью search-mail, что означает OrganizerUnavailable, и что isOrganizerOptional=true требует подтверждения пользователя.

Известные особенности Graph API

  • Фильтрация отправителя почты: eq по from/emailAddress/address ненадёжен — используйте startswith()

  • Фильтрация получателей почты: нельзя фильтровать по to/cc/bcc с помощью $filter — используйте $search

  • Фильтрация организатора календаря: $filter по email организатора возвращает 500 — фильтруется на стороне клиента

  • Параллелизм: параллельные вызовы могут возвращать ошибки MailboxConcurrency

  • Поиск и сортировка: $search нельзя комбинировать с $orderby

Лицензия

MIT

F
license - not found
Not graded
quality - not tested
C
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

  • A
    license
    A
    quality
    A
    maintenance
    MCP server that provides 62 tools to manage Outlook mail, calendar, contacts, and tasks for personal Microsoft accounts via Microsoft Graph API.
    62
    22
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for sending and managing Microsoft Outlook email via the Microsoft Graph API, including drafts, replies, contacts, and directory search.
    114
    MIT

View all related MCP servers

Related MCP Connectors

  • The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.

  • An authenticated remote MCP server for user-owned devices and one-shot capability invocation.

  • A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r

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/Andersia7/MCP-outlook'

If you have feedback or need assistance with the MCP directory API, please join our Discord server