Skip to main content

Microsoft Outlook MCP Server for Claude & Antigravity (AGY)

CI

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 Drafts folder for manual review. Direct unreviewed sends (outlook_send_mail) require an explicit confirm_send=True flag 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)

Source distribution for mcp-outlook-desktop 0.1.0
File Size Uploaded Provenance
mcp_outlook_desktop-0.1.0.tar.gz 16.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-outlook-desktop 0.1.0
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page