outlook-mcp

outlook-mcp

Reads and searches your local Microsoft Outlook desktop mailbox via COM, supporting folder listing, message/thread retrieval, attachment saving, bulk export, and draft creation without sending, requiring no OAuth or admin consent.

Category
Visit Server

README

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 blocked by IT policy.

Đọc thẳng profile Outlook đang đăng nhập trên máy — không OAuth, không token, không cầ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 the conversation, 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ên khô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 address needs Recipients → AddressEntry → PR_SMTP_ADDRESS (0x39FE001E). Skip this and any 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 Recipients → AddressEntry → PR_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 that flag alone throws away screenshots pasted into a mail, which are often the actual evidence 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 theo kí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 names are 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 a single 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 .gitignore trước khi push.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured