
Outlook Personal MCP
io.github.salahawad由 GitHub 帳號 salahawad 發布v0.1.1更新於 Oct 24, 2026
Full-control MCP server for a personal Outlook.com mailbox and calendar (Microsoft Graph).
概覽
本機 MCP 伺服器,透過 Microsoft Graph API 讓助理完整管理個人 Outlook.com 信箱與行事曆。
- 可以做什麼
- 讀取與管理郵件:列出、搜尋、閱讀、寄送、回覆、轉寄、移動、複製、標記、設為已讀或未讀、刪除郵件,並在指定檔案根目錄內列出與下載附件。管理草稿:建立、更新、附加本機檔案並寄送。整理資料夾:列出、建立、重新命名與刪除郵件資料夾。使用行事曆:列出行事曆,列出、搜尋、取得、建立、更新與刪除事件,回覆邀請,查詢空閒/忙碌狀況。查看已登入帳戶的個人資料。
- 適用情境
- 適合讓助理整理、搜尋與回覆個人 Outlook.com 或 Hotmail 收件匣,起草與寄送郵件,或在本機程式開發或聊天主機中管理行事曆事件與會議回覆。
- 執行需求
- 透過 uvx 以 stdio 在本機執行,需要 Python 3.10 以上版本與 uv。需要個人 Microsoft 帳戶,以及一個免費的 Azure 應用程式註冊,其用戶端 ID 填入 OUTLOOK_MCP_CLIENT_ID。首次需以裝置代碼登入,權杖會快取在本機。選用變數可設定授權單位、權杖快取路徑、檔案根目錄、檔案大小上限、偵錯記錄與永久刪除。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Outlook Personal MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
outlook-personal-mcp
An MCP server that gives Claude Code and Codex full control of a personal Outlook.com mailbox and calendar via the Microsoft Graph API. Written in Python, speaks the MCP stdio transport, and uses per-user device-code OAuth so your credentials never leave your machine. MIT licensed.
Features
- Mail — list, search, read, send, reply, forward, move, copy, flag, mark read/unread, delete (soft or hard)
- Drafts — create, update, attach local files, send
- Folders — list, create, rename, delete
- Calendar — list calendars, list/search/get/create/update/delete events, respond to invites (accept/decline/tentative), check free/busy availability
- Per-user OAuth — you register your own free Azure app; the server authenticates with your Microsoft account and caches the token locally
- Local stdio — runs as a child process of the MCP host; your mailbox data never transits a third party
Prerequisites
- Python 3.10 or later
uv(fast Python package and tool runner) — required at runtime: the server is launched viauvx, and it is not bundled by your MCP host (including Claude Desktop). Install it withcurl -LsSf https://astral.sh/uv/install.sh | sh(macOS/Linux) orpowershell -c "irm https://astral.sh/uv/install.ps1 | iex"(Windows).- A personal Microsoft account (Outlook.com, Hotmail, Live, etc.)
- A free Azure app registration (see below — takes about three minutes)
Azure App Registration
-
Go to https://portal.azure.com → Microsoft Entra ID → App registrations → New registration.
-
Name it anything you like (e.g.
outlook-personal-mcp). Under Supported account types choose Personal Microsoft accounts only. No redirect URI is needed. Click Register. -
Open the app → Authentication → Advanced settings → Allow public client flows → set to Yes → Save. (This is required for the device-code login flow used by this server.)
-
Go to API permissions → Add a permission → Microsoft Graph → Delegated permissions, then add:
Mail.ReadWriteMail.SendCalendars.ReadWrite
(
User.Readis included by default;offline_accessis requested automatically at runtime — you do not need to add it.) -
Copy the Application (client) ID from the Overview page. This is your
OUTLOOK_MCP_CLIENT_ID.
Alternatively: create the app with the Azure CLI
If you have the az CLI, the whole registration is one command:
The printed appId is your OUTLOOK_MCP_CLIENT_ID. (The GUIDs are the Microsoft Graph delegated scopes Mail.ReadWrite, Mail.Send, and Calendars.ReadWrite.) Note: a brand-new app registration takes a few minutes to propagate to Microsoft's consumer login endpoint — if your first login fails with AADSTS700016 ("application … not found"), wait a few minutes and retry.
Install & First-Time Login
Run the one-time interactive login. It prints a short URL and a code; open the URL in any browser, enter the code, approve the permissions, and you are done. The token is cached at ~/.config/outlook-personal-mcp/token_cache.bin (mode 600) and refreshed automatically on subsequent runs — you will not be prompted again unless the refresh token expires or is revoked.
To run the latest unreleased code from source instead of the PyPI release, swap
mcp-outlook-personalfor--from git+https://github.com/salahawad/outlook-personal-mcp mcp-outlook-personal.
Configure Claude Code
Add the server to your project's .mcp.json (or ~/.claude/.mcp.json for all projects):
Alternatively, use the CLI: claude mcp add.
Configure Codex
Add the server to ~/.codex/config.toml:
Install as a Claude Desktop extension (.mcpb)
This server is also packaged as a Claude Desktop extension (.mcpb). Build the bundle from a checkout:
Then in Claude Desktop open Settings → Extensions, install the dist/mcp-outlook-personal.mcpb file, and enter your Azure App Client ID (plus any optional settings) when prompted.
Requirement: the extension launches the server with
uvx mcp-outlook-personal, souvmust be installed and on yourPATH— Claude Desktop does not bundle it (see Prerequisites). Codex and other stdio hosts use the config above instead of the.mcpb.
Configuration (Environment Variables)
Tools
Account
Folders
Drafts
Calendar
Permanent Delete
The permanent_delete tool bypasses the Deleted Items folder and removes a message irreversibly. It is disabled by default — when OUTLOOK_MCP_ALLOW_PERMANENT_DELETE is not set (or is false), the tool is not registered with the MCP server at all and will not appear in the tool list.
To enable it, set OUTLOOK_MCP_ALLOW_PERMANENT_DELETE=true in the server's environment block in your .mcp.json / config.toml. Only do this if you understand the consequences: there is no undo and no Recoverable Items path for personal accounts.
Security
- Token cache is a credential. The file at
~/.config/outlook-personal-mcp/token_cache.bincontains a long-lived refresh token. It is written with mode600, but treat it like a password — never commit it, never share it, and store it on an encrypted volume. - Data stays local. The server runs as a child process of Claude Code / Codex over stdio. Your mailbox content is passed directly between the MCP host and the Microsoft Graph API; no third-party relay is involved.
- Revocation. To revoke access, delete the token cache file and/or navigate to https://account.microsoft.com/permissions to remove the Azure app's consent. You can also delete the Azure app registration entirely from the portal.
- File paths.
download_attachmentwrites only underOUTLOOK_MCP_FILE_ROOTand refuses to overwrite existing files.add_attachmentreads only regular, non-symlink files underOUTLOOK_MCP_FILE_ROOT. Relative paths are resolved under that root; absolute paths outside it (and any path traversing a symlink) are rejected. Both tools enforceOUTLOOK_MCP_MAX_FILE_BYTES. Review these paths before confirming any tool call that touches the filesystem.
Development
Privacy Policy
This server runs entirely on your machine and sends data only between your machine and Microsoft's Graph API — no third-party relay, no telemetry, and the maintainer receives nothing. OAuth tokens are cached locally at ~/.config/outlook-personal-mcp/token_cache.bin (mode 600). See PRIVACY.md for the full privacy policy.
License
MIT — see LICENSE.
來源:README.md,提交 367680f
工具
0版本歷史
1- v0.1.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分