Exchange EWS MCP
Exchange EWS MCP v0.9.0
Английский | 简体中文
📮 Дайте вашему локальному Exchange ИИ-ассистента.
Надоело копировать прошлонедельный отчёт? Копаться в старых письмах перед каждым ответом? Проверять календарь одного человека за другим, чтобы просто назначить встречу?
Exchange EWS MCP подключает MCP-агент к Microsoft Exchange через EWS + NTLM. Агент умеет искать письма, готовить черновики, отправлять служебные записки, проверять доступность, управлять встречами — а важные отправления остаются под вашим контролем.
[!ВАЖНО] Предназначен для локального Exchange с EWS + NTLM. Это не клиента Exchange Online / Microsoft Graph.
✨ Возможности
📧 Поиск писем, создание черновиков, ответы, пересылка, редактирование, вложения.
👥 Разрешение получателей по полным именам в пиньине или полным адресам почты.
📝 Еженедельные отчёты с сохранением исходной HTML-вёрстки Outlook, в том числе отчёты, собираемые из чужих еженедельных писем.
📅 Доступность, поиск общего времени, создание/изменение встреч, приглашения после подтверждения.
🔐 Пароли хранятся в Диспетчере учётных данных Windows, а не в репозитории.
🛡️ Сначала черновик — финальные отправления под вашим контролем.
Related MCP server: OWA Exchange MCP Server
🧭 Архитектура
flowchart LR
A["MCP client / Agent"] -->|stdio| S["Exchange EWS MCP"]
S --> M["Semantic mail workflows"]
S --> W["Weekly-report workflow"]
S --> C["Calendar coordination"]
M --> E["EWS client + NTLM"]
W --> E
C --> E
E --> X["On-premises Exchange"]
M --> R["Local reference store"]
W --> R
C --> R
S --> K["Windows Credential Manager"]Сервер работает локально на Windows и предоставляет агенту высокоуровневые API для почты и календаря. Учётные данные Exchange и низкоуровневые идентификаторы Exchange остаются на сервере.
🚀 Быстрый старт
Что иметь: 1. Требования
Клонируйте → Настройте Exchange → Вставьте путь к серверу в ваш MCP-клиент.
1. Требования
Windows 10/11 или Windows Server
Python 3.10–3.13
доступ к вашему EWS endpoint
Учётная запись Exchange с правом использования EWS с NTLM
2. Установка
git clone https://github.com/ShermanGu/exchange-ews-mcp.git
cd exchange-ews-mcp
.\install.cmdУстановщик создаёт .venv и устанавливает всё локально.
3. Настройка Exchange
.\.venv\Scripts\exchange-ews-mcp.exe configureУкажите текущего пользователя почтового ящика:
.\.venv\Scripts\exchange-ews-mcp.exe set-current-user `
--email "you@company.example" `
--display-name "Your Name"Проверьте подключение:
.\.venv\Scripts\exchange-ews-mcp.exe status
.\.venv\Scripts\exchange-ews-mcp.exe testВаш пароль хранится в Диспетчере учётных данных Windows, а не в репозитории.
4. Настройки календаря
.\.venv\Scripts\exchange-ews-mcp.exe set-calendar-preferences `
--time-zone "Asia/Shanghai" `
--workday-start "09:00" `
--workday-end "18:00" `
--slot-minutes 305. Подключите ваш MCP-клиент
✅ Рекомендуется: укажите путь к EXE напрямую
После установки серверный MCP-сервер находится здесь:
<repo>\.venv\Scripts\exchange-ews-mcp-server.exeЕсли ваш MCP-клиент имеет поля Command и Arguments:
Command:
D:\tools\exchange-ews-mcp\.venv\Scripts\exchange-ews-mcp-server.exe
Arguments:
<leave empty>Используйте абсолютный путь, сохраните конфигурацию и перезапустите MCP-клиент.
Или используйте JSON
{
"mcpServers": {
"exchange-ews": {
"command": "D:\\tools\\exchange-ews-mcp\\.venv\\Scripts\\exchange-ews-mcp-server.exe"
}
}
}Вы также можете запустить:
.\.venv\Scripts\exchange-ews-mcp.exe mcp-config6. Проверка
.\.venv\Scripts\exchange-ews-mcp.exe version
.\.venv\Scripts\exchange-ews-mcp.exe tool-listОжидаемая версия: 0.9.0 · Для производства: 11
🎉 Готово — ваш агент теперь может работать с Exchange.
💬 Попробуйте эти запросы
Find my latest weekly report and update it with this week's progress.Summarize the weekly reports A and B sent me, then use that summary to generate my new weekly-report draft.Draft an email to wangxiaoming saying integration testing is complete. Don't send it.Find the earliest one-hour slot next week when lixiaohong and I are both free, create a meeting, and save it without sending.🧰 Основные возможности
Область | Возможности |
Почта | Поиск/чтение писем, создание черновиков, ответы, пересылка, изменение черновиков, вложения |
Люди | Разрешение получателей по полным именам в пиньине или полным адресам почты |
Еженедельные отчёты | Чтение истории и создание обновлённого ответа всем или нового черновика без переопределения HTML |
Календарь | Свободные слоты, общие доступные времена, создание/изменение встреч, отправка приглашений |
Компактный почтовый фасад использует search_mail, read_mail, resolve_people, save_mail_draft и edit_mail_draft. Еженедельные отчёты используют единый weekly_report entry, затем continue_action; HTML всегда остаётся на стороне сервера. Создание/изменение календаря использует save_meeting; подтверждённая отправка — send_meeting_invitation.
📝 Еженедельные отчёты
Direct user update ───────────────┐
├→ weekly_report(request=...)
search_mail/read_mail → LLM summary ┘
↓
Read recent history + slots
↓
Agent routes request by loc
↓
Update only relevant text
↓
Create an unsent Reply All or Compose draftДля обобщающих запросов агент сначала ищет/читает исходные отчёты и резюмирует их; резюме становится request для weekly_report. Сам инструмент не ищет сообщения других пользователей.
Агент не пересоздаёт весь HTML-шаблон. Сервер сохраняет существующий макет и обновляет только одобренные текстовые слоты. Агент получает три недели контекста всего (текущий редактируемый отчёт плюс два предыдущих), использует короткие локальные ID слотов, например s1, и сервер автоматически продвигает поддерживаемые маркеры дат/недель для следующего черновика.
🔒 Безопасность вкратце
Почта всегда сначала в черновике.
Запланированные встречи требуют явного подтверждения.
Учётные данные остаются в Диспетчере учётных данных Windows.
Неоднозначные получатели или время встреч возвращаются на подтверждение, а не угадываются.
📚 Документация
Подключение агента · Инструменты агента · Архитектура · Еженедельные отчёты · Тесты разработку · Журнал изменений
Для участников: CONTRIBUTING.md · SECURITY.md
Ограничения
Основная среда выполнения — Windows. Поведение EWS зависит от версии Exchange и политики почтового ящика. Редактирование еженедельных отчётов в настоящее время ожидает структуру HTML-ответов в поддерживаемом Outlook/Word. Пользователи Exchange Online обычно должны использовать Microsoft Graph и современную аутентификацию.
Лицензия
Выпущен под лицензией MIT.# Exchange EWS MCP v0.9.0
English | 简体中文
📮 Give your on-premises Exchange an AI assistant.
Tired of copy-pasting last week's report? Digging through old emails before every reply? Checking one person's calendar at a time just to book a meeting?
Exchange EWS MCP connects an MCP Agent to Microsoft Exchange via EWS + NTLM . The Agent can search mail, prepare drafts, send meeting updates, check availability, and manage meetings — while important sends stay under your control.
[!IMPORTANT] Designed for on-premises Exchange with EWS + NTLM. It is not an Exchange Online / Microsoft Graph OAuth client.
✨ Highlights
📧 Search mail, compose drafts, reply, forward, edit drafts, add attachments.
👥 Recipient resolution from full pinyin names or full email addresses.
📋 Update weekly reports preserving the original Outlook HTML layout, including reports synthesized from other trackers' weekly hep-th emails.
Exchange Calendar (1)
The compact mail facade uses search_mail, read_mail, resolve_people, save_mail_draft, and edit_mail_draft. Weekly reports use the weekly_report entry followed by continue_action; HTML always stays server-side. Calendar create/edit uses save_meeting; confirmed sends use send_meeting_invitation.
📝 Weekly reports
Find my latest weekly report and update it with this week's progress.For aggregation prompts, the Agent first searches/reads the source reports and summarizes them; that summary becomes the request passed to the weekly_report reporting module. The tool does not search other users' mail.
The Agent does not regenerate the whole HTML template. The server keeps the existing layout and updates only approved text slots. The Agent receives three weeks' worth of context total (current editable report plus two previous reports), uses short local slot IDs such as s1, and the server automatically advances supported Subject date/week markers for the next draft.
🔒 Safety in short
Mail is draft-first.
Meeting sends require explicit confirmation.
Credentials stay in Windows Credential Manager.
Ambiguous recipients or meeting times are returned for confirmation rather than guessed.
📚 Documentation
Agent connection · Agent tools · Architecture · Weekly reports · Development tests · Changelog
For contributors: CONTRIBUTING.md · SECURITY.md
Limitations
Windows is the primary runtime target. EWS behavior depends on Exchange version and mailbox policy. The weekly-report editing currently expects a supported Outlook/Word HTML reply structure. Exchange Online outage will be working with the development of the MCP/server.
Under the GXY2.md license.
License
Released under the MIT License.# Exchange EWS MCP v0.9.0
Английский | 简体中文
📮 Дайте вашему локальному Exchange AI-ассистента.
Устали копировать отчёт за прошлую неделю? Вам надоело копаться в старых письмах перед каждым ответом? Проверяете календарь одного человека за раз, просто чтобы запланировать встречу?
Exchange EWS MCP подключает MCP-агент к Microsoft Exchange через EWS + NTLMExchange. Агент может искать почту, составлять черновики, отправлять обновления, проверять доступность, управлять встречами — а важные отправления остаются под вашим контролем.
[!ВАЖНО] Предназначено для локального Exchange с EWS +NTLM Exchange. Не является клиентом Exchange Online / Microsoft Graph.
Ключевые компоненты:
✨ Возможности
📧 Поиск почты, составление черновиков, ответы, пересылка, редактирование, вложения.
👥 Разрешение получателей по полным именам пиньиня или полным адресам электронной почты.
📋 Еженедельные отчёты с сохранением оригинальной HTML-вёрстки Outlook, включая отчёты, созданные из чужих еженедельных писем.
📅 Занятость, общие свободные окна, создание/редактирование встреч, отправка приглашений после подтверждения.
🔐 Пароли хранятся в об: Windows Credential Manager.
🛡️ Сначала черновик — финальные отправки остаются под вашим контролем.
🧭 Архитектура
flowchart LR
A["MCP client / Agent"] -->|stdio| S["Exchange EWS MCP"]
S --> M["Semantic mail workflows"]
S --> W["Weekly-report workflow"]
S --> C["Calendar coordination"]
M --> E["EWS client + NTLM"]
W --> E
C --> E
E --> X["On-premises Exchange"]
M --> R["Local reference store"]
W --> R
C --> R
S --> K["Windows Credential Manager"]Сервер работает локально на Windows и предоставляет агенту высокоуровневые API для почтовых и календарных операций. Учётные данные Exchange и низкоуровневые идентификаторы Exchange остаются на сервере.
🚀 Быстрый старт
1. Скопируйте → Настройте Exchange → Вставьте путь к вашему MCP-клиенту.
1. Требования
Windows 10/11 или Windows Server
Python 3.10–3.13
Доступ к вашей конечной точке Exchange (EWS)
Учётная запись Exchange с разрешением на использование EWS с NTLM
2. Установка
git clone https://github.com/ShermanGu/exchange-ews-mcp.git
cd exchange-ews-mcp
.\install.cmdУстановщик создаёт .venv и устанавливает всё локально.
3. Настройка Exchange
.\.venv\Scripts\exchange-ews-mcp.exe configureУстановите текущего пользователя почтового ящика:
.\.venv\Scripts\exchange-ews-mcp.exe set-current-user `
--email "you@company.example" `
--display-name "Your Name"Проверьте подключение:
.\.venv\Scripts\exchange-ews-mcp.exe status
.\.venv\Scripts\exchange-ews-mcp.exe testВаш пароль хранится в Windows Credential Manager,а не в репозитории.
4. Настройка календаря
.\.venv\Scripts\exchange-ews-mcp.exe set-calendar-preferences `
--time-zone "Asia/Shanghai" `
--workday-start "09:00" `
--workday-end "18:00" `
--slot-minutes 305. Подключите ваш MCP-клиент
✅ Рекомендуется: указывайте прямо на EXE
После установки производственный MCP-сервер находится здесь:
<repo>\.venv\Scripts\exchange-ews-mcp-server.exeЕсли ваш MCP-клиент имеет поля Command и Arguments:
Command:
D:\tools\exchange-ews-mcp\.venv\Scripts\exchange-ews-mcp-server.exe
Arguments:
<leave empty>Используйте абсолютный путь, сохраните конфигурацию, затем перезапустите MCP-клиент.
Или используйте JSON
{
"mcpServers": {
"exchange-ews": {
"command": "D:\\tools\\exchange-ews-mcp\\.venv\\Scripts\\exchange-ews-mcp-server.exe"
}
}
}Вы также можете запустить:
.\.venv\Scripts\exchange-ews-mcp.exe mcp-config6. Проверка
.\.venv\Scripts\exchange-ews-mcp.exe version
.\.venv\Scripts\exchange-ews-mcp.exe tool-listОжидаемая версия: 0.9.0 · Технические средства: 11
🎉 Готов к работе.
💬 Попробуйте эти запросы
Find my latest weekly report and update it with this week's progress.Summarize the weekly reports A and B sent me, then use that summary to generate my new weekly-report draft.Draft an email to wangxiaoming saying integration testing is complete. Don't send it.Find the earliest one-hour slot next week when lixiaohong and I are both free, create a meeting, and save it without sending.🧰 Основные возможности
Область | Возможности |
Почта | Поиск/чтение писем, составление черновиков, ответы, пересылка, редактирование черновиков, вложения |
Люди | Разрешение получателей по полным именам пиньиня или полным адресам почты |
Еженедельные отчёты | Играйте последние отчёты и создайте обновлённый черновик "Ответить всем" или новый черновик без пересоздания HTML |
Календарь | Свободные события, общие временные слоты, создание/изменение встреч, отправка приглашений |
Компактный почтовый интерфейс использует search_mail, read_mail, resolve_people, save_mail_draft и edit_mail_draft. Еженедельные отчёты используют одну запись weekly_report с последующим continue_action; следующий agent может продолжать работать. Календарь docs/README.
Good. We need to output exactly the Russian translation. We must ensure all formatting (pipe tables) preserved. Let's review our output.
We included everything: bad. Let's produce final clean.# Exchange EWS MCP v0.9.0
English | 简体中文
📮 Give your on-premises Exchange an AI assistant.
Tired of copy-pasting last week's report? Digging through old emails before every reply? Checking one person's calendar at a time just to get a meeting scheduled?
Exchange EWS MCP connects an MCP Agent to Microsoft Exchange via EWS + PCNTLM. The Agent can search mail, prepare drafts, update weekly reports, check availability, and manage meetings — while important sends stay under your control.
[!IMPORTANT] Designed for on-premises Exchange with EWS + PCNTLM. It is not an Exchange Online / Microsoft Graph OAuth client.
✨ Features
📧 Search mail, compose draft, reply, send, edit drafts, add attachments.
👥 Resolve recipients from full pinyin names or full email addresses.
📋 Update weekly reports preserving the original Outlook HTML layout, including reports synthesized from other people's weekly-report emails.
📅 Availability, common free slots, meeting creation/editing, sending invitations after confirmation.
🔐 Passwords are stored in Windows Credential Manager, not in the repository.
🛡️ Draft-first — final sends remain under your control.
🧭 Architecture
flowchart LR
A["MCP client / Agent"] -->|stdio| S["Exchange EWS MCP"]
S --> M["Semantic mail workflows"]
S --> W["Weekly-report workflow"]
S --> C["Calendar coordination"]
M --> E["EWS client + NTLM"]
W --> E
C --> E
E --> X["On-premises Exchange"]
M --> R["Local reference store"]
W --> R
C --> R
S --> K["Windows Credential Manager"]The server runs locally on Windows and exposes high-level mail and calendar APIs to the Agent. Exchange credentials and low-level Exchange IDs stay behind the server.
🚀 Quick start
Clone → configure Exchange → place your MCP client path.
1. Requirements
Windows 10/11 or Windows Server
Python 3.10–3.13
Access to your Exchange EWS endpoint
An Exchange account allowed to use EWS with NTLM
2. Install
git clone https://github.com/ShermanGu/exchange-ews-mcp.git
cd exchange-ews-mcp
.\install.cmdThe installer creates .venv and installs everything locally.
3. Configure Exchange
.\.venv\Scripts\exchange-ews-mcp.exe configureSet the current mailbox user:
.\.venv\Scripts\exchange-ews-mcp.exe set-current-user `
--email "you@company.example" `
--display-name "Your Name"Check the connection:
.\.venv\Scripts\exchange-ews-mcp.exe status
.\.venv\Scripts\exchange-ews-mcp.exe testYour password is stored in Windows Credential Manager, not in the repository.
4. Set calendar preferences
.\.venv\Scripts\exchange-ews-mcp.exe set-calendar-preferences `
--time-zone "Asia/Shanghai" `
--workday-start "09:00" `
--workday-end "18:00" `
--slot-minutes 305. Connect your MCP client
✅ Recommended: point directly to the EXE
After installation, the production MCP server is at:
<repo>\.venv\Scripts\exchange-ews-mcp-server.exeIf your MCP client has Command and Arguments fields:
Command:
D:\tools\exchange-ews-mcp\.venv\Scripts\exchange-ews-mcp-server.exe
Arguments:
<leave empty>Use an absolute path, save the configuration, then restart the MCP client.
Or use JSON
{
"mcpServers": {
"exchange-ews": {
"command": "D:\\tools\\exchange-ews-mcp\\.venv\\Scripts\\exchange-ews-mcp-server.exe"
}
}
}You can also run:
.\.venv\Scripts\exchange-ews-mcp.exe mcp-config6. Verify
.\.venv\Scripts\exchange-ews-mcp.exe version
.\.venv\Scripts\exchange-ews-mcp.exe tool-listExpected version: 0.9.0 · Production: 11
🎉 Done — your Agent can now work with Excel.
💬 Try these prompts
Find my latest weekly report and update it with this week's progress.Summarize the weekly reports A and B sent me, then use that summary to generate my new weekly-report draft.Draft an email to wangxiaoming saying integration testing is complete. Don't send it.Find the earliest one-hour slot next week when lixiaohong and I are both free, create a meeting, and save it without sending.🧰 Main capabilities
| Area | Capabilities | | Mail | Search/read mail, compose drafts, reply, forward, edit drafts, attachments | | People | Recipient resolution and ambiguity handling | | Weekly reports | Read recent reports, create an updated Reply All or a fresh Compose without rebuilding HTML | | Calendar | Availability, common open slots, create/edit meetings, send invites |
The compact mail facade uses search_mail, read_mail, resolve_people, save_mail_draft, and edit_mail_draft. Weekly reports use the single weekly_report entry followed by continue_action; HTML always stays server-side. Calendar create/edit uses save_meeting; confirmed sends use send_meeting_invitation.
📝 Weekly reports
Direct user update ───────────────┐
├→ weekly_report(request=...)
search_mail/read_mail → LLM summary ┘
↓
Read recent history + slots
↓
Agent routes request by loc
↓
Update only relevant text
↓
Create an unsent Reply All or Compose draftFor aggregation prompts, the Agent first searches/reads the source reports and summarizes them; that summary becomes the request passed to weekly_report. The tool itself does not search other users' mail.
The Agent does not regenerate the entire HTML template. The server keeps the existing layout and updates only approved text slots. The Agent receives three weeks of context total (current editable report plus two old), uses short local slot IDs such as s1, and the server automatically advances supported Subject date/week markers for the next draft.
🔒 Safety in brief
Mail is draft-first.
Meeting sends require explicit confirmation.
Credentials stay in Windows Credential Manager.
Ambiguous recipients or meeting times are returned for confirmation rather than guessed.
📚 Documentation
Agent connection · Agent tools · Architecture · Weekly report · Development tests · Changelog
For contributors: CONTRIBUTING.md · SECURITY.md
Limitations
Windows is the primary runtime target. EWS behavior depends on Exchange version and mailbox policy. Weekly edit currently expects a supported Outlook/Word HTML reply structure. The full description of the repository has been moved.
License
Released under the MIT License.
This server cannot be installed
Maintenance
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
- AlicenseCqualityAmaintenanceSecure MCP server for on-prem Microsoft Exchange (EWS) with tools for email, calendar, contacts, folders, attachments, and free/busy availability.314MIT
- AlicenseAqualityDmaintenanceMCP server for any Microsoft Exchange / OWA deployment. Gives LLM agents access to email, calendar, directory search, folders, availability, and meeting analytics via 30 tools.307MIT
- AlicenseAqualityCmaintenanceA local stdio MCP server that enables reading, sending, and searching emails, as well as listing calendar events via Microsoft Graph API, using device-code authentication.1082MIT
- AlicenseAqualityAmaintenanceLocal-first Microsoft Outlook MCP server: a single Go binary that manages calendar events and mail through the Microsoft Graph API over stdio, with tokens stored in the OS keychain and no Entra ID app registration required. Exposes four aggregate tools (calendar, mail, account, system) dispatched by an operation verb, with multi-account support and read-only and mail-gating modes.441MIT
Related MCP Connectors
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ShermanGu/exchange-ews-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server