ap311036/ews-meeting-mcp

ap311036/ews-meeting-mcp

от ap311036
EWS Meeting MCP — сервер для безопасного планирования встреч Outlook в on-prem Exchange EWS. Помогает агентам читать доступность, предлагать слоты и создавать встречи только после явного подтвержде...

EWS Meeting MCP

npm License: MIT Node.js >=18 Python

EWS Meeting MCP demo showing a safe Exchange scheduling flow with setup checks, room-aware slot suggestions, preview confirmation, verification, and audit logging

The MCP server for safely scheduling Outlook meetings on on-prem Exchange EWS.

EWS Meeting MCP gives coding assistants and desktop agents a safe, structured way to read Outlook availability, discover rooms, suggest meeting slots, and create, update, or cancel meetings only after an explicit human confirmation step.

It is built for companies where calendar access is sensitive infrastructure: regulated teams, internal networks, strict security review, legacy Exchange deployments, and organizations that cannot simply hand a cloud agent broad Microsoft 365 permissions. Credentials stay local, write operations are previewed before they touch Exchange, and every confirmed lifecycle action can be traced through a local audit trail.

npx ews-meeting-mcp

Why This Exists

Many teams still run calendar infrastructure through on-prem Exchange/EWS. General-purpose agents can reason about scheduling, but they should not receive raw passwords, guess attendee addresses, or send calendar invitations without a reviewable checkpoint.

Инструменты были проиндексированы:
ews_cancel_meeting_confirmed

Отменяет существующую неповторяющуюся встречу организатора, перемещая её в корзину. Требует confirm=true и confirmation_id, возвращённый ews_cancel_meeting_preview.

Параметры
  • changekeystringобязательный

    Exact changekey returned with the EWS item id.

  • confirmbooleanобязательный

    Must be true. The tool refuses to cancel meetings unless confirm=true.

  • confirmation_idstringобязательный

    Must exactly match the confirmation_id returned by ews_cancel_meeting_preview.

  • idstringобязательный

    Exact EWS calendar item id from ews_find_calendar_events.

  • send_meeting_cancellationsboolean

    When true, send Exchange meeting cancellation notices.

ews_cancel_meeting_preview

Предварительный просмотр отмены существующей встречи с использованием точного id и changekey. Не удаляет, не переносит и не отправляет отмены.

Параметры
  • changekeystringобязательный

    Exact changekey returned with the EWS item id.

  • idstringобязательный

    Exact EWS calendar item id from ews_find_calendar_events.

  • send_meeting_cancellationsboolean

    When true, send Exchange meeting cancellation notices.

ews_create_meeting_confirmed

Создать встречу и разослать приглашения. Вызывать только после того, как пользователь явно подтвердит точный состав участников, время, тему, текст и место. Требует confirm=true и confirmation_id, возвращённый ews_create_meeting_preview.

Параметры
  • attendeesstring[]обязательный
  • bodystring
  • body_formatenum

    Meeting body format. Defaults to html; plain text input is safely converted to HTML.

  • confirmbooleanобязательный

    Must be true. The tool refuses to create meetings unless confirm=true.

  • confirmation_idstringобязательный

    Must exactly match the confirmation_id returned by ews_create_meeting_preview.

  • endstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • include_signatureboolean

    When true, append the configured HTML meeting signature by default. Use ews_signature_setup_guide to help the user create the signature file.

  • locationstring
  • recurrenceobject

    Optional recurrence for creating a weekly recurring meeting. For business days, use weekdays MO,TU,WE,TH,FR. If omitted, the meeting is created once.

  • roomsstring[]

    Meeting room names, aliases, or email addresses.

  • startstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • subjectstringобязательный
ews_create_meeting_preview

Предпросматривает приглашение на встречу, не создавая событие и не отправляя приглашения.

Параметры
  • attendeesstring[]обязательный
  • bodystring
  • body_formatenum

    Meeting body format. Defaults to html; plain text input is safely converted to HTML.

  • endstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • include_signatureboolean

    When true, append the configured HTML meeting signature by default. Use ews_signature_setup_guide to help the user create the signature file.

  • locationstring
  • recurrenceobject

    Optional recurrence for creating a weekly recurring meeting. For business days, use weekdays MO,TU,WE,TH,FR. If omitted, the meeting is created once.

  • roomsstring[]

    Meeting room names, aliases, or email addresses.

  • startstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • subjectstringобязательный
ews_find_calendar_events

Поиск событий календаря в заданном временном окне (только чтение). Возвращает точный EWS ID и metadata changekey для безопасного предварительного просмотра, подтверждения обновления или отмены.

Параметры
  • attendee_emailstring

    Optional exact attendee or resource email filter.

  • endstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • limitinteger
  • location_containsstring

    Optional case-insensitive location filter.

  • organizer_emailstring

    Optional exact organizer email filter.

  • startstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • subject_containsstring

    Optional case-insensitive subject filter.

ews_get_audit_log

Считывает последние локальные записи аудита жизненного цикла для действий: предпросмотр встречи, подтверждено, дубликат, выполняется и ошибка. Не считывает учётные данные EWS и не вызывает Exchange.

Параметры
  • actionstring

    Optional action filter such as create_meeting, update_meeting, or cancel_meeting.

  • limitinteger
  • statusstring

    Optional status filter: preview, confirmed, duplicate, in_progress, or error.

ews_get_free_busy

Читает блоки свободен/занят для одного или нескольких адресов электронной почты участников.

Параметры
  • attendeesstring[]обязательный

    Attendee display names, aliases, or email addresses. Resolve names first; do not ask the user for full email addresses before trying directory resolution.

  • endstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • startstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

ews_keychain_status

Проверяет, доступны ли учётные данные пароля EWS из переменных окружения или связки ключей macOS, не раскрывая пароль. Если отсутствуют, возвращает required_action и setup_command, которые нужно показать пользователю дословно.

Параметры

Без параметров.

ews_list_calendar

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

Параметры
  • daysinteger
ews_list_rooms

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

Параметры
  • attendee_countinteger

    Optional attendee count used to hide rooms with known insufficient capacity.

  • limitinteger
  • querystring

    Optional text filter matched against room name, email, alias, or room list.

  • room_liststring

    Optional Exchange room list name or email to search within.

  • sourceenum

    auto tries Exchange and falls back to configured rooms; static never requires credentials.

ews_probe

Проверяет, что настроенная учетная запись EWS может подключиться. Не читает элементы календаря.

Параметры

Без параметров.

ews_resolve_attendees

Определите имена участников, псевдонимы или адреса электронной почты по корпоративному каталогу Exchange перед планированием. Если возвращается несколько совпадений, спросите у пользователя, какой адрес электронной почты использовать.

Параметры
  • attendeesstring[]обязательный

    Attendee display names, aliases, or email addresses.

  • limitinteger
ews_setup_check

Возвращает, готов ли EWS к настройке, включая проверки env и пароля/Keychain. Когда ready — false, показывать user_message или setup_command и остановиться перед планированием.

Параметры

Без параметров.

ews_signature_setup_guide

Возвращает руководство по настройке HTML-подписи с копируемым образцом, рекомендуемым локальным путём к файлу и переменными окружения. Не требует учётных данных EWS.

Параметры

Без параметров.

ews_suggest_slots

Предложи ближайшие пересекающиеся свободные слоты для встречи для нескольких участников и опциональные подходящие переговорные комнаты. Опускает workday_start, workday_end и не использует локальные политики по умолчанию.

Параметры
  • attendeesstring[]обязательный

    Attendee display names, aliases, or email addresses. Resolve names first; do not ask the user for full email addresses before trying directory resolution.

  • avoidstring[]

    HH:MM-HH:MM ranges. Omit to use local policy default.

  • duration_minutesinteger
  • endstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • limitinteger
  • require_roomboolean

    When true and rooms is empty, search Exchange room lists when available, then fall back to configured static rooms and filter by capacity.

  • roomsstring[]

    Candidate meeting rooms. Supports aliases like 2-11, 2-13, 2-14, 3-1, 3-2, 3-4.

  • startstringобязательный

    ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • workday_endstring

    HH:MM. Omit to use local policy default.

  • workday_startstring

    HH:MM. Omit to use local policy default.

ews_update_meeting_confirmed

Обновляет существующую встречу. Требуются confirm=true и confirmation_id, полученный от ews_update_meeting_preview. Поддерживает только subject, start, end, location и body.

Параметры
  • bodystring

    Optional replacement body.

  • body_formatenum

    Format for body updates. Defaults to html; plain text input is safely converted to HTML.

  • changekeystringобязательный

    Exact changekey returned with the EWS item id.

  • confirmbooleanобязательный

    Must be true. The tool refuses to update meetings unless confirm=true.

  • confirmation_idstringобязательный

    Must exactly match the confirmation_id returned by ews_update_meeting_preview.

  • endstring

    Optional replacement ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • idstringобязательный

    Exact EWS calendar item id from ews_find_calendar_events.

  • locationstring

    Optional replacement location.

  • send_meeting_invitationsboolean

    When true, the confirmed update sends Exchange meeting update notifications.

  • startstring

    Optional replacement ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • subjectstring

    Optional replacement subject.

ews_update_meeting_preview

Предварительный просмотр изменений существующей встречи с использованием точного id и changekey. Не сохраняет и не отправляет обновления встречи.

Параметры
  • bodystring

    Optional replacement body.

  • body_formatenum

    Format for body updates. Defaults to html; plain text input is safely converted to HTML.

  • changekeystringобязательный

    Exact changekey returned with the EWS item id.

  • endstring

    Optional replacement ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • idstringобязательный

    Exact EWS calendar item id from ews_find_calendar_events.

  • locationstring

    Optional replacement location.

  • send_meeting_invitationsboolean

    When true, the confirmed update sends Exchange meeting update notifications.

  • startstring

    Optional replacement ISO datetime with timezone. Prefer local offset such as +08:00; Z is accepted as UTC.

  • subjectstring

    Optional replacement subject.

ews_verify_meeting

Проверяет элемент календаря по EWS id и необязательному changekey. Возвращает нормализованные значения статуса организатора, участников, помещений/ресурсов и response_status, когда Exchange их предоставляет.

Параметры
  • changekeystring

    Optional changekey returned by create, search, update, or cancel preview.

  • idstringобязательный

    EWS calendar item id returned by create or search.

Похожие MCP-сервера

timergy-app/timergy

timergy-app/timergy

MCP сервер для Timergy — сервиса опросов по планированию встреч. Без регистрации: создавайте опросы с временными слотами, голосуйте и финализируйте лучший вариант прямо из ИИ-агентов (Claude, ChatG...

TypeScript1
temporal-cortex/mcp

temporal-cortex/mcp

Temporal Cortex — инфраструктура для автономного планирования встреч AI-агентами. Сервер управляет календарями, разрешает временные выражения и атомарно бронирует слоты без двойных записей. Полезен...

Dockerfile12
littlebearapps/outlook-assistant

littlebearapps/outlook-assistant

MCP-сервер для Outlook, подключающий AI-ассистентов к вашей электронной почте, календарю и контактам. Поддерживает личные Outlook.com и корпоративные Microsoft 365 — поиск, отправку, экспорт писем,...

JavaScript36
poolside-ventures/meetbot-mcp

poolside-ventures/meetbot-mcp

MCP инструмент для интеграции с Meet.bot: AI-ассистенты теперь могут самостоятельно бронировать встречи. Скажите «назначь встречу на следующей неделе», и сервер подберет слот и подтвердит бронирова...

TypeScript1
takumi0706/google-calendar-mcp

takumi0706/google-calendar-mcp

MCP-сервер для интеграции Google Календаря с Claude Desktop. Управляйте событиями через естественный язык: создавайте, редактируйте, удаляйте встречи, настраивайте повторения и цвета. Безопасная ау...

TypeScript59
marlinjai/email-mcp

marlinjai/email-mcp

Работайте с почтой через Gmail, Outlook и iCloud, а также любые IMAP-серверы, с помощью одного MCP сервера. 25 встроенных инструментов для поиска, отправки и массовых операций. OAuth2 и шифрование встроены. Установка через npm или npx.

TypeScript19
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин