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.

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

Параметры

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

    Exact EWS calendar item id from ews_find_calendar_events.

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

    Exact changekey returned with the EWS item id.

  • send_meeting_cancellationsboolean

    When true, send Exchange meeting cancellation notices.

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

    Must exactly match the confirmation_id returned by ews_cancel_meeting_preview.

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

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

ews_cancel_meeting_preview

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

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

Параметры

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

    Exact EWS calendar item id from ews_find_calendar_events.

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

    Exact changekey returned with the EWS item id.

  • send_meeting_cancellationsboolean

    When true, send Exchange meeting cancellation notices.

ews_create_meeting_confirmed

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

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

Параметры

  • subjectstringобязательный
  • attendeesstring[]обязательный
  • 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.

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

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

  • bodystring
  • body_formatenum

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

    htmltext
  • 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.

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

    Must exactly match the confirmation_id returned by ews_create_meeting_preview.

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

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

ews_create_meeting_preview

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

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

Параметры

  • subjectstringобязательный
  • attendeesstring[]обязательный
  • 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.

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

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

  • bodystring
  • body_formatenum

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

    htmltext
  • 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.

ews_find_calendar_events

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

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

Параметры

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

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

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

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

  • subject_containsstring

    Optional case-insensitive subject filter.

  • location_containsstring

    Optional case-insensitive location filter.

  • organizer_emailstring

    Optional exact organizer email filter.

  • attendee_emailstring

    Optional exact attendee or resource email filter.

  • limitinteger
ews_get_audit_log

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

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

Параметры

  • limitinteger
  • actionstring

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

  • 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.

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

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

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

    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 из переменных окружения или связки ключей macOS, не раскрывая пароль. Если отсутствуют, возвращает required_action и setup_command, которые нужно показать пользователю дословно.

Параметры

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

ews_list_calendar

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

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

Параметры

  • daysinteger
ews_list_rooms

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

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

Параметры

  • attendee_countinteger

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

  • 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.

    autoexchangestatic
  • limitinteger
ews_probe

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

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

Параметры

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

ews_resolve_attendees

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

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

Параметры

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

    Attendee display names, aliases, or email addresses.

  • limitinteger
ews_setup_check

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

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

Параметры

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

ews_signature_setup_guide

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

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

Параметры

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

ews_suggest_slots

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

Предложи ближайшие пересекающиеся свободные слоты для встречи для нескольких участников и опциональные подходящие переговорные комнаты. Опускает 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.

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

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

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

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

  • roomsstring[]

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

  • 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.

  • duration_minutesinteger
  • limitinteger
  • workday_startstring

    HH:MM. Omit to use local policy default.

  • workday_endstring

    HH:MM. Omit to use local policy default.

  • avoidstring[]

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

ews_update_meeting_confirmed

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

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

Параметры

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

    Exact EWS calendar item id from ews_find_calendar_events.

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

    Exact changekey returned with the EWS item id.

  • subjectstring

    Optional replacement subject.

  • startstring

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

  • endstring

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

  • locationstring

    Optional replacement location.

  • bodystring

    Optional replacement body.

  • body_formatenum

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

    htmltext
  • send_meeting_invitationsboolean

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

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

    Must exactly match the confirmation_id returned by ews_update_meeting_preview.

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

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

ews_update_meeting_preview

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

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

Параметры

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

    Exact EWS calendar item id from ews_find_calendar_events.

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

    Exact changekey returned with the EWS item id.

  • subjectstring

    Optional replacement subject.

  • startstring

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

  • endstring

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

  • locationstring

    Optional replacement location.

  • bodystring

    Optional replacement body.

  • body_formatenum

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

    htmltext
  • send_meeting_invitationsboolean

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

ews_verify_meeting

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

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

Параметры

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

    EWS calendar item id returned by create or search.

  • changekeystring

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

Другие проверенные MCP-сервера

awslabs/mcp

awslabs/mcp

официальный

Набор open source MCP-серверов от AWS Labs для интеграции AI-ассистентов с AWS-сервисами. Упрощает облачную разработку, управление инфраструктурой, работу с базами данных и документацией прямо из I...

Python9467
prisma/mcp

prisma/mcp

официальный

MCP сервер Prisma позволяет AI-агентам управлять базами данных Prisma Postgres: создавать бэкапы, выполнять SQL, интроспекцию схемы и миграции. Идеально для разработчиков, автоматизирующих работу с PostgreSQL через естественный язык.

JavaScript46
Google Calendar MCP

Google Calendar MCP

Сервер для интеграции Google Календаря с AI-ассистентами через MCP. Управляйте событиями, проверяйте занятость и обнаруживайте пересечения между несколькими календарями и аккаунтами. Поддерживает импорт событий из изображений и ссылок. Помогает автоматизировать планирование и анализ календаря.

TypeScript1158
intruder-io/intruder-mcp

intruder-io/intruder-mcp

официальный

MCP сервер для интеграции Intruder с ИИ-ассистентами Claude и Cursor. Он автоматизирует тестирование безопасности, запуская сканирования и управляя проектами. Полезен специалистам по безопасности и разработчикам.

Python26
rinadelph/Agent-MCP

rinadelph/Agent-MCP

MCP сервер для координации нескольких AI-агентов при разработке. Агенты работают параллельно, используют общую память и граф знаний, что исключает потерю контекста и конфликты. Подходит для крупных...

TypeScript1270
oraios/serena

oraios/serena

Serena — MCP-сервер для AI-агентов, который даёт семантический поиск, рефакторинг и отладку кода на уровне IDE. Работает с символьными операциями, ускоряет агентов в больших проектах.

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

Лука Никитин