nhantruong96

outlook-mcp

Community nhantruong96
Updated

MCP server for Microsoft Outlook desktop via COM - no OAuth, no tenant admin consent

outlook-mcp

MCP server for Microsoft Outlook desktop via COM.MCP server cho Outlook desktop qua COM.

Reads the Outlook profile already signed in on your machine — no OAuth, no tokens,no tenant admin consent. Useful where Microsoft Graph application access is blockedby IT policy.

Đọc thẳng profile Outlook đang đăng nhập trên máy — không OAuth, không token, khôngcần quản trị viên phê duyệt. Dùng được khi tenant chặn app Microsoft Graph.

The server never sends mail. It can create drafts; sending stays a human action.Server không bao giờ gửi thư. Chỉ tạo nháp; việc gửi do người quyết định.

Requirements / Yêu cầu

  • Windows
  • Outlook desktop installed and signed in / đã cài và đã đăng nhập
  • Python ≥ 3.10, uv

Install / Cài đặt

git clone <repo-url> C:\Tools\outlook-mcp
cd C:\Tools\outlook-mcp
uv sync

Register with Claude / Đăng ký với Claude

Add to claude_desktop_config.json / Thêm vào claude_desktop_config.json:

{
  "mcpServers": {
    "outlook": {
      "command": "C:\\Tools\\outlook-mcp\\.venv\\Scripts\\python.exe",
      "args": ["-m", "outlook_mcp"]
    }
  }
}

Restart Claude. / Khởi động lại Claude.

Tools / Công cụ

Tool Read-only Purpose
outlook_list_folders List mail folders with counts. Call first to find a folder_path.
outlook_search_mail Search subject+body by keyword, folder, sender, recency, internal/external scope. Paginated.
outlook_get_message Full body and attachment listing for one message.
outlook_get_thread Every message in a conversation, oldest first.
outlook_save_attachments Write attachments straight to disk.
outlook_export_messages Bulk-export to a markdown archive with YAML front matter.
outlook_create_draft Save an unsent draft. Never sends.

Attachment bytes go from Outlook straight to disk and never pass through theconversation, so file size is not a constraint.

Nội dung file đính kèm đi thẳng từ Outlook xuống đĩa, không đi qua hội thoại, nênkhông bị giới hạn dung lượng.

Design notes / Ghi chú thiết kế

Three things that are easy to get wrong with the Outlook object model:

MailItem.To gives display names, not addresses. Resolving a real SMTP addressneeds RecipientsAddressEntryPR_SMTP_ADDRESS (0x39FE001E). Skip this andany internal/external classification is wrong for every message.

MailItem.To chỉ trả tên hiển thị, không có địa chỉ. Phải đi qua RecipientsAddressEntryPR_SMTP_ADDRESS, nếu không phân loại nội bộ/đối ngoại sai hết.

Most attachments are flagged inline, including real documents. Filtering on thatflag alone throws away screenshots pasted into a mail, which are often the actualevidence being discussed. This server filters by size instead (min_inline_kb,default 100 KB) so logos and signatures drop out but content images stay.

Phần lớn đính kèm bị gắn nhãn inline, kể cả tài liệu thật. Lọc theo nhãn đó sẽ mấtảnh chụp màn hình dán trong thư — thường chính là bằng chứng đang bàn. Server lọc theokích thước (min_inline_kb, mặc định 100 KB).

Paths overflow MAX_PATH (260). Long subject lines produce long folder names;Attachment.SaveAsFile then fails with a misleading "Path does not exist". File namesare shortened, keeping the extension plus a short hash so truncated names never collide.

Chủ đề thư dài làm đường dẫn vượt MAX_PATH 260 ký tự và SaveAsFile báo lỗi khó hiểu.Server tự rút gọn tên file, giữ đuôi và thêm hash ngắn để không trùng.

Outlook's object model is apartment-threaded, so all COM work is funnelled through asingle dedicated worker thread owning one apartment.

Privacy / Riêng tư

This server reads your mailbox. Anything exported lands on your local disk.Do not commit exported mail, attachments, or logs to a public repository — check.gitignore before pushing.

Server đọc hộp thư của bạn; dữ liệu xuất ra nằm trên đĩa cục bộ.Đừng commit thư, đính kèm hay log đã xuất lên repo công khai — kiểm tra .gitignoretrước khi push.

MCP Server · Populars

MCP Server · New