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 |
Metadata
Release files for mcp-outlook-desktop 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_outlook_desktop-0.1.0.tar.gz | 16.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_outlook_desktop-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.8 kB
Release files / mcp_outlook_desktop-0.1.0.tar.gz
| Download URL | mcp_outlook_desktop-0.1.0.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
408633f5dae8ddef5aa985bfb8afeb1b9056d9f8bfcc73219f0a1503815c5980
|
|
BLAKE2b-256 checksum How to use checksums |
6243f57cca9b1163612989ecde024c33f596b51f9d7ee7cf7ca8ba896354d863
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / mcp_outlook_desktop-0.1.0-py3-none-any.whl
| Download URL | mcp_outlook_desktop-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9d583178187fcb75ec7ef9f3203a3a5dc22d1602d64f3c1a66cfd776fa935f70
|
|
BLAKE2b-256 checksum How to use checksums |
908ae5728bdb2f4364e8be7c12aaf1821c9e6cd2d6111c78da87522e8922d930
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for mcp-outlook-desktop 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.