Claude-Read-Outlook-Attachments
M365 Attachment Reader MCP Local
Локальный stdio MCP-сервер для Claude Desktop, который читает электронные письма Outlook и их вложения через Microsoft Graph API.
Статус: Функционально для личного использования одним пользователем в Claude Desktop.
Зачем это нужно
Встроенный коннектор Claude для Microsoft 365 может перечислять письма, читать тело сообщений и проверять календари. Но он не может читать содержимое самих вложений к письмам.
Это означает, что когда вы спрашиваете: «Что написано в PDF-файле из моего последнего письма?», Claude видит метаданные вложения, но не текст, таблицы, изображения или вложенные документы внутри него.
Этот проект заполняет данный пробел — он работает полностью на вашем локальном компьютере через stdio, без необходимости в публичных эндпоинтах или туннелях.
Related MCP server: Outlook MCP Python
Признание / Распространение
Включен в
punkpeye/awesome-mcp-servers, основной курируемый сообществом реестр MCP-серверов.Индексируется Glama с бейджем оценки MCP-сервера.
Что он делает
Этот сервер работает как локальный MCP-процесс, запускаемый Claude Desktop. Он:
Аутентифицируется в Microsoft 365 через поток кода устройства (device code flow)
Получает список писем Outlook и их вложений через Microsoft Graph
Скачивает и анализирует содержимое вложений локально
Возвращает структурированный текст и блоки изображений напрямую в Claude Desktop
Поддерживаемые форматы
Формат | Что извлекается |
Полное текстовое содержимое | |
Сканированный PDF | OCR-текст, плюс опционально отрендеренные изображения страниц |
DOCX | Текст и встроенные изображения |
DOC | Текстовое содержимое |
PPTX / PPTM / PPSX / POTX | Текст слайдов, заметки и встроенные изображения |
PPT | Извлечение текста (лучшее из возможного для устаревших форматов) |
XLSX / XLS / CSV | Все листы конвертируются в CSV |
JPG / JPEG / PNG / GIF / WEBP / BMP / TIFF | Возвращаются как блоки изображений MCP для визуального анализа |
ZIP / RAR / 7Z | Содержимое архива рекурсивно парсится файл за файлом |
MSG | Тема, отправитель, тело письма и встроенные вложения |
TXT / MD / JSON / XML / HTML | Необработанный текст |
Outlook | Текстовое содержимое |
Инструменты MCP
Инструмент | Описание |
| Проверка работоспособности сервера |
| Запуск потока входа через код устройства |
| Проверка статуса аутентификации |
| Список недавних писем Outlook |
| Список вложений для конкретного письма |
| Скачивание, парсинг и возврат содержимого вложения |
Примеры использования
Розничная торговля / Операции по продажам
«Получи последние 5 писем с ежедневными отчетами (Daily Dashboard), прочитай Excel-вложения и проанализируй тренд продаж по всем точкам за прошлую неделю.»
Финансы / Бухгалтерия
«Найди последнее письмо от нашего поставщика с темой "Счет" (Invoice), прочитай PDF-вложение и извлеки общую сумму, срок оплаты и позиции счета.»
Юридические вопросы / Проверка договоров
«Открой самое последнее письмо от legal@partner.com, прочитай вложение Word или PowerPoint и сделай краткое изложение ключевых условий.»
HR / Рекрутинг
«Найди письма от recruiting@company.com с вложениями, прочитай каждый PDF-файл с резюме и создай сравнительную таблицу кандидатов.»
Предварительные требования
Windows 10/11, macOS или Linux
Claude Desktop
Учетная запись Microsoft 365 / Outlook
Регистрация приложения в Microsoft Entra (см. Шаг 1 ниже)
Настройка
1. Создание регистрации приложения в Microsoft Entra
Перейдите в Центр администрирования Microsoft Entra → Регистрация приложений → Новая регистрация.
Имя: любое, например
m365-mcp-localПоддерживаемые типы учетных записей: Учетные записи в любом каталоге организации и личные учетные записи Microsoft
Затем:
Скопируйте Идентификатор приложения (клиента) со страницы «Обзор»
Перейдите в Аутентификация → включите Разрешить потоки общедоступного клиента → Сохранить
Перейдите в Разрешения API → Добавить разрешение → Microsoft Graph → Делегированные разрешения → добавьте
User.ReadиMail.Read→ Предоставить согласие администратораПерейдите в Манифест → найдите
requestedAccessTokenVersion(может быть вложен вapi) → установите значение2→ Сохранить
Зачем нужен шаг 4? Когда ваше приложение поддерживает личные учетные записи Microsoft, Microsoft Entra требует, чтобы токены доступа были версии 2. Портал не всегда устанавливает это автоматически, и эндпоинт
commonбудет выдавать ошибкуAADSTS50059, если версия токена все ещеnullили1. Если пропустить этот шаг, вы получите ошибкиinvalid_grantво времяbegin_auth.
Используете интеграции с API v1? Устанавливайте значение
2только в том случае, если все ваши разрешения Graph/API поддерживают токены v2 (все делегированные разрешения Microsoft Graph поддерживают). Если вы интегрируете пользовательские API, которые принимают только токены v1, используйтеM365_TENANT_ID=consumers(только личные учетные записи) или конкретный ID арендатора вместоcommon, и оставьтеrequestedAccessTokenVersionпо умолчанию.
2. Клонирование и установка
git clone https://github.com/Zacccck/Claude-MCP-Read-Email-Attachments.git
cd Claude-MCP-Read-Email-Attachments
npm install3. Настройка переменных окружения
Скопируйте файл примера:
cp .env.example .envОтредактируйте .env и вставьте свой ID клиента:
M365_CLIENT_ID=your-application-client-id-here
M365_TENANT_ID=common
M365_AUTO_OPEN_BROWSER=trueСправочник переменных:
Переменная | Обязательно | Описание |
| ✅ Да | Идентификатор приложения (клиента) вашего приложения Entra |
| Нет | Значение по умолчанию |
| Нет | Установите |
| Нет | Пользовательский путь для кэша аутентификации; определяется автоматически, если пропущен |
4. Поиск пути к Node.js
Вам понадобится полный путь к node.exe (Windows) или node (macOS/Linux) на следующем шаге.
# Windows
where.exe node
# macOS / Linux
which nodeПример вывода: C:\Program Files\nodejs\node.exe
5. Открытие файла конфигурации Claude Desktop
Найдите и откройте файл конфигурации для вашей платформы:
Платформа | Путь |
Windows (стандарт) |
|
Windows (Store) |
|
macOS |
|
Если файл еще не существует, создайте его.
6. Добавление сервера в Claude Desktop
Добавьте следующую запись в claude_desktop_config.json:
{
"mcpServers": {
"m365-attachment-reader-local": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": [
"C:\\path\\to\\Claude-MCP-Read-Email-Attachments\\server.mjs"
],
"env": {
"M365_CLIENT_ID": "your-client-id",
"M365_TENANT_ID": "common",
"M365_AUTO_OPEN_BROWSER": "true"
}
}
}
}Советы:
Используйте полный абсолютный путь из шага 4 для
command.Замените
args[0]на фактический путь кserver.mjsна вашем компьютере.Если у вас уже есть другие MCP-серверы в конфигурации, объедините эту запись с существующим объектом
mcpServers— не перезаписывайте весь файл.
7. Перезапуск Claude Desktop
Полностью закройте Claude Desktop и откройте его снова. Claude Desktop запускает MCP-сервер автоматически — вам не нужно запускать node server.mjs вручную.
8. Аутентификация в Microsoft 365
В Claude Desktop введите:
Please call begin_authОткроется окно браузера (или вы получите URL для входа + код устройства). Завершите процесс входа в Microsoft, затем проверьте:
Please call auth_statusВы должны увидеть свою учетную запись Microsoft в списке аутентифицированных.
9. Проверка работоспособности
Запустите быструю проверку работоспособности:
Please call health_checkЗатем попробуйте реальный запрос:
Show me my recent Outlook emails with attachmentsSummarize the contents of the attachments from the latest emailРекомендуемые промпты для Claude
Please call begin_authPlease call auth_statusShow me my recent Outlook emails with attachmentsSummarize the contents of the attachments from the emailFind the latest invoice email and extract the total amount, due date, and line items from the PDF attachmentУстранение неполадок
Проблема | Решение |
Claude не находит инструменты MCP | Полностью перезапустите Claude Desktop. Проверьте, что пути |
Ошибка | Почти всегда это несоответствие версии токена или типа учетной записи в приложении Entra. См. следующие две строки. |
| Ваше приложение не поддерживает эндпоинт |
Ошибка | Откройте приложение Entra → Манифест → установите |
Код устройства не отображается | Убедитесь, что |
Хочу сменить учетную запись Microsoft | Перезапустите Claude Desktop и снова вызовите |
Расположение лога отладки |
|
Ручной запуск для разработки
Для отладки вне Claude Desktop запустите сервер вручную:
cd Claude-MCP-Read-Email-Attachments
node .\server.mjsПримечание: Не вводите ничего в этот терминал. Это
stdioMCP-процесс, который ожидает MCP-клиент на стандартном вводе/выводе.
Docker
Dockerfile включен для контейнеризированного тестирования:
docker build -t m365-attachment-reader-mcp-local .
docker run --rm -i `
-e M365_CLIENT_ID=your-client-id `
-e M365_TENANT_ID=common `
-e M365_AUTO_OPEN_BROWSER=false `
m365-attachment-reader-mcp-localКонтейнер по-прежнему работает как
stdio-сервер. Для повседневного использования в Claude Desktop прямой подход сnodeиз шага 6 проще.
Структура проекта
Claude-MCP-Read-Email-Attachments/
├── server.mjs
├── package.json
├── manifest.json
├── server.json
├── glama.json
├── Dockerfile
├── .env.example
├── .gitignore
├── LICENSE
└── README.mdОграничения
Только для одного пользователя — один экземпляр сервера поддерживает одну учетную запись Microsoft одновременно
Состояние аутентификации в памяти — перезапуск сервера требует повторной аутентификации
Вы должны создать свое собственное приложение Entra и предоставить свой ID клиента
Очень большие изображения могут быть уменьшены или пропущены, чтобы оставаться в пределах лимитов полезной нагрузки Claude Desktop
Парсинг устаревших
.xlsвыполняется по мере возможности и менее надежен, чем.xlsxНе подходит для публичного или многопользовательского хостинга
Лицензия
MIT
Available Tools
6 toolsauth_statusMicrosoft 365 Auth StatusA
Check whether Microsoft 365 login for this local MCP process has completed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'check whether login has completed' without disclosing what 'completed' means, return format, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single 10-word sentence, front-loaded with verb and resource, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal for a simple tool; lacks explanation of what 'completed' means or what the output looks like. Without output schema, more detail would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema; description adds context about 'local MCP process', which is useful. Baseline 4 for 0 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Check whether' and the resource 'Microsoft 365 login for this local MCP process'. Distinguishes from siblings like begin_auth and health_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage after beginning auth or to check login state, but no explicit when-to-use or when-not-to-use compared to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
begin_authBegin Microsoft 365 AuthA
Start Microsoft 365 device-code login for the local Claude Desktop MCP process.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only says 'start' without explaining the device-code flow, user interaction required, or what the tool returns. This lacks transparency about the process and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states purpose without unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (initiating an authentication flow), the description is insufficient. It omits expected return values, required user action (e.g., entering device code), and how to proceed after the call. An output schema or more descriptive text would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters (100% coverage by schema). For zero-parameter tools, the baseline is 4. The description adds no param-level details, but no details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Start Microsoft 365 device-code login for the local Claude Desktop MCP process.' It uses a specific verb ('Start') and resource ('Microsoft 365 device-code login'), and distinguishes itself from siblings like 'auth_status' which likely checks authentication state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool's function (initiate device-code login) but provides no explicit guidance on when to use it versus alternatives like 'auth_status'. It does not mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkHealth CheckA
Verify that the local Outlook attachment reader MCP server is running and report auth state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description clearly conveys two behaviors: verifying server running and reporting auth state. Adequate for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key info, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with no parameters or output schema; description covers essential purpose and behavior, though response format is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, schema coverage 100%, baseline score of 4 applies; description adds no parameter info but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool verifies server running and reports auth state, with specific verb 'verify' and resource 'server and auth state'. Distinguishes from siblings like auth_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage as a health check before other operations, but no explicit when-not or alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_email_attachmentsList Email AttachmentsC
List attachments for a specific Outlook email.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | ||
| mailbox | No | me |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as pagination, limits, or whether it returns metadata vs. content. The agent has no insight into side effects or safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) but lacks structure. It is too minimal, omitting critical information that could be front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and parameter descriptions, the single sentence is insufficient. More context about usage and return value is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain what the messageId parameter represents or the significance of the mailbox parameter (default 'me'). Elaboration on these is needed for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('attachments for a specific Outlook email'). It distinguishes from sibling tools like list_recent_messages (lists emails) and read_email_attachment (reads a single attachment).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a messageId from list_recent_messages) or when to use read_email_attachment instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_messagesList Recent Outlook MessagesB
List recent Outlook emails from Microsoft 365. By default this searches the Inbox, prefers emails with attachments, and can filter by subject or sender name/address.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | No | me | |
| folder | No | inbox | |
| top | No | ||
| onlyWithAttachments | No | ||
| subjectContains | No | ||
| fromContains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description carries full burden. It discloses default search location and preference for attachments, but omits auth needs, rate limits, pagination, and behavior of 'recent'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words. Clear structure, though 'prefers' is slightly ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core functionality but lacks details on return format, error handling, and auth. Given 6 params and no output schema, more context is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, description adds meaning for most parameters (onlyWithAttachments, subjectContains, fromContains, folder, mailbox) but omits 'top' and uses vague 'prefers'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists recent Outlook emails, specifies scope (Inbox default), and mentions filtering by subject and sender. Distinct from sibling attachment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use versus alternatives like list_email_attachments or read_email_attachment. Does not state prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_email_attachmentRead Email AttachmentA
Download an Outlook attachment directly from Microsoft Graph and parse it locally. Supports PDF, OCR-scanned PDF, Word, PowerPoint, Excel, images, archives, MSG, and plain text. Large image previews are automatically downscaled to fit MCP payload limits.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | ||
| attachmentId | Yes | ||
| mailbox | No | me |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses supported file formats and automatic downscaling of large image previews, which are important behavioral traits. However, it omits details like auth requirements or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no extraneous words. The first sentence states the core purpose, the second adds key details (formats, size handling). Very efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the agent must infer the return format. The description does not explain what the tool returns (e.g., binary data, base64, parsed text) or how the IDs are used. Incomplete for a tool with no annotations and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has three parameters with no descriptions. The description does not explain what messageId, attachmentId, or mailbox represent or how to obtain them, leaving the agent without guidance despite the schema having 0% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (download and parse) and resource (Outlook attachment). It differentiates from sibling tools like list_email_attachments and list_recent_messages by specifying it downloads and parses a single attachment's content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading attachment content after listing attachments, but does not explicitly state when to use or when not to, nor does it mention alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
auth_status - First observed
begin_auth - First observed
health_check - First observed
list_email_attachments - First observed
list_recent_messages - First observed
read_email_attachment
TDQS
Scored across 6 tools
Tools are mostly distinct: auth_status and begin_auth handle authentication, health_check monitors server, list_recent_messages finds emails, list_email_attachments shows attachments for a specific email, and read_email_attachment downloads/parses attachments. However, list_recent_messages and list_email_attachments could be confused if descriptions are glossed over, as both relate to emails and attachments.
Naming patterns are mixed: some tools start with verbs (begin_auth, list_recent_messages, list_email_attachments, read_email_attachment) while others are nouns (auth_status, health_check). The verb+noun pattern is not consistently applied, reducing predictability.
With 6 tools, the server is well-scoped for its purpose. It covers authentication (begin_auth, auth_status), server health (health_check), email discovery (list_recent_messages), attachment listing (list_email_attachments), and attachment reading (read_email_attachment). No extraneous tools.
The tool surface covers the core workflow: authenticate, find emails with attachments, list attachments, and read them. Minor gaps include lack of tools for getting email metadata beyond attachments or searching other folders, but these are acceptable for an attachment-focused server.
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
A MCP server for Outlook email that lets you search, read, and draft emails and replies.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Claude to access Outlook data via Microsoft Graph API20621MIT
- FlicenseNot gradedqualityDmaintenanceA Python-based MCP server for Microsoft Outlook integration using Microsoft Graph API, enabling email reading/sending, calendar management, and contact operations through Claude Desktop.1-
- AlicenseNot gradedqualityDmaintenanceMCP server that enables Claude to manage Outlook emails, including reading, sending, organizing, drafting, and bulk operations via Microsoft Graph API.151MIT
- AlicenseAqualityCmaintenanceA local MCP server that connects Claude Desktop to a personal Hotmail/Outlook.com mailbox via Microsoft Graph API, enabling email management, rule handling, and composing messages.25MIT