Claude-Read-Outlook-Attachments
Lector de archivos adjuntos M365 MCP
Un servidor MCP remoto para Claude que lee correos electrónicos de Outlook y analiza en profundidad los archivos adjuntos a través de la API de Microsoft Graph.
El manejo de archivos adjuntos ahora incluye PDF, PDF escaneado con OCR, Word, PowerPoint, Excel, CSV, texto plano, imágenes, archivos comprimidos y archivos .msg de Outlook.
Estado: Versión de prueba inicial basada en Windows. Funcional para uso personal y flujos de trabajo privados, pero aún no es un servicio de producción multiusuario.
Por qué existe esto
El conector integrado de Microsoft 365 de Claude puede listar correos electrónicos, leer el cuerpo de los mensajes y consultar calendarios. Pero no puede leer el contenido real dentro de los archivos adjuntos de los correos.
Eso significa que cuando dices "¿Qué dice el PDF en mi último correo?", Claude puede ver los metadatos del archivo adjunto, pero no el texto, las tablas, las imágenes o los documentos anidados dentro de él.
Este proyecto llena ese vacío.
Qué hace
Este servidor se sitúa entre Claude y Microsoft 365 como un punto final MCP HTTP remoto. Realiza lo siguiente:
Se autentica con Microsoft 365 mediante el flujo de código de dispositivo
Lista los correos electrónicos de Outlook y sus archivos adjuntos a través de Microsoft Graph
Descarga los archivos adjuntos en el backend
Analiza el contenido de los archivos y devuelve texto estructurado y bloques de imágenes directamente a Claude
Formatos compatibles
Formato | Qué se extrae |
Contenido de texto completo | |
PDF escaneado | Texto OCR, además de imágenes de página renderizadas opcionales |
DOCX | Texto e imágenes incrustadas |
DOC | Contenido de texto |
PPTX / PPTM / PPSX / POTX | Texto de diapositivas, notas e imágenes incrustadas |
PPT | Extracción de texto heredado con el mejor esfuerzo |
XLSX / XLS / CSV | Todas las hojas convertidas a CSV |
JPG / JPEG / PNG / GIF / WEBP / BMP / TIFF | Devueltos como bloques de imagen MCP para análisis visual |
ZIP / RAR / 7Z | Contenido del archivo analizado recursivamente archivo por archivo |
MSG | Asunto, remitente, cuerpo y archivos adjuntos incrustados |
TXT / MD / JSON / XML / HTML | Texto sin formato |
Outlook | Contenido de texto |
El manejo de imágenes es un diferenciador clave: el servidor puede devolver archivos adjuntos de imagen independientes como bloques de imagen MCP, extraer imágenes incrustadas de archivos DOCX y PPTX, y recurrir al OCR para archivos PDF escaneados cuando no existe una capa de texto.
Herramientas MCP
Herramienta | Descripción |
| Comprobar si el servidor está activo |
| Iniciar el flujo de inicio de sesión con código de dispositivo |
| Comprobar el estado de autenticación |
| Listar correos electrónicos recientes de Outlook |
| Listar archivos adjuntos para un correo electrónico específico |
| Descargar, analizar y devolver el contenido del archivo adjunto |
Estos nombres cortos de herramientas son alias para las herramientas subyacentes m365_* registradas por el servidor.
Casos de uso en el mundo real
Operaciones de venta / Retail
"Obtén los últimos 5 correos electrónicos del Panel de control diario, lee los archivos adjuntos de Excel y analiza la tendencia de ventas en todas las ubicaciones de las tiendas durante la última semana."
Finanzas / Contabilidad
"Busca el último correo electrónico de nuestro proveedor con 'Factura' en el asunto, lee el archivo adjunto PDF y extrae el monto total, la fecha de vencimiento y las partidas individuales."
Legal / Revisión de contratos
"Abre el correo electrónico más reciente de legal@partner.com, lee el archivo adjunto de Word o PowerPoint y resume los términos clave."
Informes ejecutivos
"Lee el archivo adjunto del informe semanal de la junta directiva del último correo electrónico del CFO y resume los gráficos y las métricas clave."
RR.HH. / Reclutamiento
"Busca correos electrónicos de recruiting@company.com con archivos adjuntos, lee cada PDF de currículum y crea una tabla comparativa de candidatos."
Cadena de suministro / Adquisiciones
"Lee el último archivo comprimido de cotizaciones de proveedores, extrae las hojas de cálculo que contiene y compara los precios unitarios con la cotización anterior."
Arquitectura
Claude Chat -> Cloudflare Tunnel -> Local Express Server -> Microsoft Graph API
(public URL) (localhost:8080) (Outlook data)
|
Parse attachments
(pdf-parse, tesseract.js,
mammoth, xlsx, adm-zip,
msgreader, archive tools)Para pruebas locales, Cloudflare Quick Tunnel expone el servidor local a Internet. Claude se conecta a través de un conector personalizado que apunta a la URL del túnel.
Requisitos previos
Windows 10/11 con PowerShell
Node.js
Una cuenta de Microsoft 365 / Outlook
Una cuenta de Claude con soporte para conectores personalizados
Configuración
1. Crear un registro de aplicación en Microsoft Entra
Ve al Centro de administración de Microsoft Entra -> Registros de aplicaciones -> Nuevo registro.
Nombre:
m365-mcp-remoteTipos de cuenta admitidos: Cuentas en cualquier directorio organizativo y cuentas personales de Microsoft
Luego:
Copia el ID de la aplicación (cliente) y el ID del directorio (inquilino) de la página de información general
Ve a Autenticación -> Habilitar Permitir flujos de cliente público -> Guardar
Ve a Permisos de API -> Agregar un permiso -> Microsoft Graph -> Permisos delegados -> Agregar
User.ReadyMail.Read-> Conceder consentimiento de administrador
2. Clonar e instalar
git clone https://github.com/Zacccck/MCP.git
cd MCP
npm install3. Configurar el entorno
cp .env.example .envEdita .env y completa tu ID de cliente de la aplicación:
M365_CLIENT_ID=your-application-client-id-here
M365_TENANT_ID=common4. Iniciar el servidor
npm startDeberías ver:
Custom M365 HTTP MCP server listening at http://127.0.0.1:8080/mcp5. Exponer a través de Cloudflare Tunnel
En una nueva ventana de PowerShell:
winget install --id Cloudflare.cloudflaredLuego ejecuta:
cloudflared tunnel --url http://127.0.0.1:8080Copia la URL generada https://xxxxx.trycloudflare.com.
6. Agregar a Claude como un conector personalizado
En Claude Chat:
Haz clic en el botón
+cerca del área de entradaAbre Conectores -> Agregar conector -> Conector personalizado
Ingresa la URL:
https://xxxxx.trycloudflare.com/mcp
Usa https:// e incluye /mcp al final. No uses http://127.0.0.1:8080/mcp.
7. Autenticar
En Claude, di:
Please call begin_authClaude devolverá una URL de inicio de sesión y un código de dispositivo. Abre la URL, ingresa el código y completa el inicio de sesión de Microsoft. Luego verifica con:
Please call auth_status8. Usarlo
Show me my recent outlook emails with attachmentsSummarize the contents of the attachments from the emailLimitaciones importantes
Usuario único: El estado de autenticación se almacena en la memoria. Una instancia de servidor equivale a una cuenta de Microsoft.
Se requieren dos procesos: Tanto
node server.mjscomocloudflared tunneldeben permanecer ejecutándose durante el uso.Quick Tunnel es solo para pruebas: La URL de Cloudflare cambia cada vez que reinicias
cloudflared.Se requiere configuración manual: El registro de la aplicación de Azure, la configuración de
.envy la configuración del conector siguen siendo manuales.
Solución de problemas
Problema | Solución |
Claude no puede encontrar las herramientas MCP | Comprueba que tanto el servidor Node como el túnel Cloudflare sigan ejecutándose. La URL del túnel puede haber cambiado después del reinicio. |
Error | Vuelve a verificar el registro de tu aplicación: tipos de cuenta admitidos, flujos de cliente público habilitados y permisos |
El código de dispositivo no aparece | Asegúrate de que |
Quieres cambiar de cuenta | Detén el servidor Node, reinicia con |
Estructura del proyecto
MCP/
|-- server.mjs
|-- package.json
|-- .env.example
|-- .gitignore
|-- LICENSE
`-- README.mdHoja de ruta
[ ] Configuración inicial más sencilla
[ ] Cierre de sesión y cambio de cuenta sin reiniciar
[ ] Modo de servicio en segundo plano de Windows
[ ] Guía de implementación de producción
[ ] Arquitectura de sesión multiusuario
[ ] Cobertura de idioma OCR más profunda y mejor resumen de archivos grandes
Notas de seguridad
Esta es una implementación de prototipo y prueba local. No está lista para producción para despliegue público. Antes de desplegar públicamente, necesitarías autenticación frente a /mcp, aislamiento de sesión por usuario, almacenamiento seguro de tokens, limitación de velocidad e infraestructura adecuada.
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/Zacccck/Claude-MCP-Read-Email-Attachments'
If you have feedback or need assistance with the MCP directory API, please join our Discord server