Skip to main content
Glama

outlook-mcp

PyPI version Python License: MIT

MCP server for Outlook — enables AI assistants to access email, contacts, and calendars via Windows COM interface.

Built on the Model Context Protocol (MCP), works with Claude Code and other MCP-compatible clients.

Features

  • Email: Search, read, send, reply, forward, flag, move, delete

  • Contacts: Search by name or email

  • Calendar: List calendars, create events

  • Multi-account: Supports all accounts configured in Outlook

  • Safe by design: Send/reply/forward opens Outlook compose window for user confirmation — never auto-sends

  • Local only: All operations via local COM interface, no cloud API or OAuth needed

Requirements

  • Windows with Outlook desktop client installed and running

  • Python >= 3.10

Install

pip install outlook-mcp-server

Verify installation:

outlook-mcp-server --version

Usage with Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "outlook": {
      "command": "outlook-mcp-server"
    }
  }
}

Then restart Claude Code. The 14 Outlook tools will be available to Claude automatically.

Alternative: run from source

git clone https://github.com/lihaokun/outlook-mcp.git
cd outlook-mcp
pip install -e .
{
  "mcpServers": {
    "outlook": {
      "command": "uv",
      "args": [
        "--directory", "C:\\path\\to\\outlook-mcp",
        "run", "outlook-mcp-server"
      ]
    }
  }
}

Available Tools

Accounts & Folders

Tool

Description

listAccounts

List all configured email accounts (name, email, type)

listFolders

List all folders with message counts and unread counts

createFolder

Create a new subfolder under a specified parent

Email Search & Read

Tool

Description

searchMessages

Search by keyword (subject/sender/recipient), with date range and sort

getRecentMessages

Get recent messages by days, folder, and unread filter

getMessage

Read full message content (body, HTML, attachments)

Email Operations

Tool

Description

sendMail

Compose new email (opens Outlook compose window)

replyToMessage

Reply or reply-all (opens compose window)

forwardMessage

Forward with original attachments (opens compose window)

updateMessage

Mark read/unread, flag/unflag, move to folder, or trash

deleteMessages

Batch delete messages

Contacts & Calendar

Tool

Description

searchContacts

Search contacts by name or email

listCalendars

List all calendars with item count and writable status

createEvent

Create calendar event (opens Outlook event window)

Safety

This server is designed with safety as a priority:

  • No auto-send: sendMail, replyToMessage, forwardMessage, and createEvent all call .Display() instead of .Send() / .Save(). This opens the Outlook compose window so the user can review and confirm before sending.

  • Outlook Object Model Guard: Outlook may show additional security prompts for send operations. This is expected behavior.

  • Local only: All data stays on your machine. No external API calls, no cloud services, no OAuth tokens.

Technical Details

  • COM interface: Uses pywin32 (win32com.client) to control Outlook

  • MCP transport: stdio (standard input/output)

  • Message ID: Uses Outlook's EntryID as unique identifier

  • Search: Uses Items.Restrict() with DASL filters for efficient server-side filtering

  • Internationalization: Automatically handles both "Inbox" and "收件箱" folder names

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lihaokun/outlook-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server