Microsoft Outlook MCP Server for Claude & Antigravity (AGY)
A high-performance Model Context Protocol (MCP) server providing direct, secure access to your Microsoft 365 Outlook emails, calendar, and contacts from:
- Claude Code CLI
- Claude Desktop
- Antigravity CLI (AGY)
🔒 Privacy & Security Architecture
- Human-in-the-Loop by Design: All outbound message drafting defaults to your Outlook
Draftsfolder for manual review. Direct unreviewed sends (outlook_send_mail) require an explicitconfirm_send=Trueflag to prevent accidental dispatches. - Indirect Prompt Injection Defense: Incoming email bodies are encapsulated in
<untrusted_email_body_content>XML tags to ensure AI models parse external content strictly as passive data. - Zero Cloud Tokens / No Passwords: Connects 100% locally to your running Windows Outlook Desktop application via Windows MAPI (
win32com). - Strict
.gitignore: All local configs, caches, and environments are ignored.
🚀 Installation & Quickstart
Method 1: Instant Run with uvx (No git clone needed)
If you have uv installed, you can run the server directly:
uvx mcp-outlook
Claude Desktop Configuration (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"outlook": {
"command": "uvx",
"args": ["mcp-outlook"]
}
}
}
Claude Code CLI:
claude mcp add outlook uvx mcp-outlook
Method 2: Local Installation with pip
pip install mcp-outlook
Then in your Claude Desktop config:
{
"mcpServers": {
"outlook": {
"command": "mcp-outlook"
}
}
}
Method 3: Clone from Source (C:\projects\mcp-outlook)
cd C:\projects
gh repo clone Jpatching/mcp-outlook
cd mcp-outlook
setup.bat
Test connection (with Outlook open):
run.bat --status
run.bat --test
🛠️ Available MCP Tools
| Tool Name | Parameters | Description |
|---|---|---|
outlook_check_status |
none | Check connection to Outlook |
outlook_list_messages |
folder, top, unread_only |
List recent emails from Inbox, Sent, Drafts |
outlook_search_messages |
query, top |
Search messages across mailbox |
outlook_get_message |
message_id |
Retrieve full email body and sender details safely encapsulated in XML boundaries |
outlook_create_draft |
subject, body, to_recipients, reply_to_message_id |
Create a draft email or reply draft in Outlook Drafts folder (Recommended) |
outlook_send_mail |
subject, body, to_recipients, confirm_send |
Send an email directly (diverts to Drafts unless confirm_send=True) |
outlook_list_calendar_events |
days_ahead |
List upcoming meetings and appointments |
outlook_create_calendar_event |
subject, start_datetime, end_datetime, attendees, location |
Schedule a meeting in Outlook Calendar |
outlook_list_folders |
none | List mail folders with unread counts |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mcp_outlook_desktop-0.1.0.tar.gz
(16.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_outlook_desktop-0.1.0.tar.gz.
File metadata
- Download URL: mcp_outlook_desktop-0.1.0.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
408633f5dae8ddef5aa985bfb8afeb1b9056d9f8bfcc73219f0a1503815c5980
|
|
| MD5 |
8025a13b5e5684d2b610895b77b9f4e1
|
|
| BLAKE2b-256 |
6243f57cca9b1163612989ecde024c33f596b51f9d7ee7cf7ca8ba896354d863
|
File details
Details for the file mcp_outlook_desktop-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mcp_outlook_desktop-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d583178187fcb75ec7ef9f3203a3a5dc22d1602d64f3c1a66cfd776fa935f70
|
|
| MD5 |
bcd4903164fd39ebc97ddd143e2e1fef
|
|
| BLAKE2b-256 |
908ae5728bdb2f4364e8be7c12aaf1821c9e6cd2d6111c78da87522e8922d930
|