Skip to main content
Glama
PhamHoang16

outlook-bridge

by PhamHoang16

outlook-bridge

Servidor MCP para que Claude busque y lea correos en Outlook clásico (Windows, vía COM) — list_folders, search_mail, read_mail, get_thread, read_attachment. Consulta el diseño completo en docs/superpowers/specs/2026-08-24-outlook-bridge-design.md y el plan de implementación en docs/superpowers/plans/2026-08-24-outlook-bridge-a.md.

Solo lectura — no hay herramientas de escritura

Este servidor no tiene send_mail, delete_mail, move_mail, mark_as_read, ni ninguna herramienta que modifique, elimine o envíe correos. No hay ningún método en Win32MailStore que llame a .Send(), .Save(), .Delete(), .Move(), .MarkAsRead(), ni que asigne valores a una propiedad de Outlook. Única excepción: read_attachment escribe el archivo adjunto en una carpeta temporal que el propio servidor crea (tempfile.TemporaryDirectory) para extraer el texto, y luego elimina esa carpeta inmediatamente después — SaveAsFile es una API de lectura, no modifica nada en Outlook.

Related MCP server: outlook-mcp

Ejecución en Linux (máquina de desarrollo) — FakeMailStore

No se necesita Outlook ni Windows. FakeMailStore carga un fixture YAML (~50 correos sintéticos: varias carpetas, varios stores, hilos de conversación, archivos adjuntos de todo tipo, correos en vietnamita, correos con cuerpo largo, correos vacíos, elementos que no son correos) e implementa la misma interfaz MailStore que implementa Win32MailStore.

python -m venv .venv
.venv/bin/pip install -e ".[dev]"

# Chạy server với store giả (không cần Outlook)
OUTLOOK_BRIDGE_FAKE=1 OUTLOOK_BRIDGE_FIXTURE=tests/fixtures/mailbox.yaml \
  .venv/bin/python server.py

Ejecutar los tests

Linux (la mayor parte de la lógica — Python puro + FakeMailStore):

.venv/bin/pytest

Windows (el conjunto de tests de contrato que se usa de forma COMPARTIDA para ambos stores — esta es la única forma de demostrar que Win32MailStore realmente coincide en comportamiento con FakeMailStore, no solo que "funciona"):

set OUTLOOK_BRIDGE_CONTRACT_WIN32=1
.venv\Scripts\pytest tests/contract -v

Algunos casos de este conjunto se omiten (SKIP) de forma intencionada en un buzón real (datos que solo existen en el fixture de FakeMailStore) — consulta la sección "Tests SKIP intencionados" en docs/WINDOWS-RUNBOOK.md antes de considerar un SKIP como señal de un problema.

Consulta docs/INSTALL-windows.md para instalar y registrar el servidor MCP en Windows, y docs/WINDOWS-RUNBOOK.md para la secuencia de pasos a seguir cuando te sientes por primera vez ante una máquina Windows real.

Diagnóstico del entorno — doctor.py

python doctor.py            # trên Linux: báo "không phải Windows", degrade an toàn
python doctor.py --verbose  # trên Windows: thêm chi tiết root.Name, cây folder, giá trị raw

Resultado

Significado

Acción

com_ok: True, inbox_count devuelve número

La vía COM funciona

Listo para registrar el servidor MCP

com_ok: False + menciona New Outlook / GPO

Esta arquitectura no se puede usar en esa máquina

Detente — no hay plan de contingencia (riesgo R2 abajo)

com_ok: True, index_ok: False

Sigue siendo utilizable, pero la búsqueda por contenido del cuerpo hará fallback a un recorrido secuencial (más lento, con advertencia en los resultados)

Úsalo con normalidad

Dos riesgos que nadie ha resuelto todavía (spec §13)

R2 — New Outlook irá reemplazando gradualmente a Outlook clásico, y COM desaparecerá con él. Microsoft está forzando la migración de los usuarios a New Outlook, que no registra un servidor COM (doctor.py informa com_ok: False cuando esto ocurre). Esto es algo con fecha de caducidad, no un error que se pueda parchear. La única vía de salida cuando ocurra es reescribir Win32MailStore sobre la Microsoft Graph API — la arquitectura del proyecto (todo el detalle de COM reside únicamente en dos archivos, win32_store.py y doctor.py) limita el daño a reescribir exactamente esos dos archivos, no todo el sistema.

R3 — El contenido de los correos internos de la empresa pasa por la API de Anthropic. COM se ejecuta completamente en local (nada sale de la máquina para leer correos), pero para que Claude responda basándose en el contenido de los correos, ese contenido debe enviarse a la API. Esta es la contrapartida inherente de usar un asistente de IA para leer correos — ningún servidor puede resolverlo por ti.

Única medida de control: folder_allowlist en config.toml. Configúralo como una lista de carpetas específicas (con calificación de store, por ejemplo "Mailbox - Nguyen Van A/Inbox") para limitar el alcance de los correos que este servidor puede ver — los correos fuera de la allowlist no se pueden leer con ninguna herramienta, por ninguna vía de llamada (búsqueda, lectura por id, lectura de hilo, descarga de archivos adjuntos), incluso si un hilo de conversación cruza el límite de la allowlist.

La coincidencia es EXACTA, no por prefijo. Permitir "Inbox" NO incluye "Inbox/Bao cao" — cada carpeta que se quiera permitir debe estar listada por separado. Esta es una decisión de diseño intencionada, no una limitación: una allowlist por prefijo puede permitir fácilmente, sin querer, una subcarpeta sensible en la que la persona que configura no había pensado. Si no se configura folder_allowlist (por defecto, lista vacía), se pueden leer todas las carpetas del buzón — configúrala antes de apuntar este servidor a un buzón corporativo real. Consulta el paso 2 de docs/WINDOWS-RUNBOOK.md para saber cómo obtener los nombres de carpeta con calificación de store desde list_folders.

Si necesitas restringir aún más: reduce folder_allowlist a unas pocas carpetas específicas, o — si aún no es suficiente — considera devolver solo metadatos + snippet en lugar del contenido completo del correo (actualmente no hay ninguna herramienta que haga esto; haría falta una herramienta nueva).

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to manage Microsoft Outlook emails, calendar events, contacts, and folders via COM automation.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to read, send, and manage Outlook mail locally on Windows via COM/MAPI, without cloud APIs.
    100
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables interaction with Outlook Web through its internal API, supporting email search, folder listing, email retrieval, read state changes, calendar events, and reply drafts without Microsoft Graph or COM.
    7
    1

View all related MCP servers

Related MCP Connectors

  • Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…

  • Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

  • Outlook Mail (Microsoft 365) MCP Pack

View all MCP Connectors

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/PhamHoang16/outlook-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server