outlook-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@outlook-mcpshow my unread emails from last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
outlook-mcp
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-serverVerify installation:
outlook-mcp-server --versionUsage 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 |
| List all configured email accounts (name, email, type) |
| List all folders with message counts and unread counts |
| Create a new subfolder under a specified parent |
Email Search & Read
Tool | Description |
| Search by keyword (subject/sender/recipient), with date range and sort |
| Get recent messages by days, folder, and unread filter |
| Read full message content (body, HTML, attachments) |
Email Operations
Tool | Description |
| Compose new email (opens Outlook compose window) |
| Reply or reply-all (opens compose window) |
| Forward with original attachments (opens compose window) |
| Mark read/unread, flag/unflag, move to folder, or trash |
| Batch delete messages |
Contacts & Calendar
Tool | Description |
| Search contacts by name or email |
| List all calendars with item count and writable status |
| Create calendar event (opens Outlook event window) |
Safety
This server is designed with safety as a priority:
No auto-send:
sendMail,replyToMessage,forwardMessage, andcreateEventall 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 OutlookMCP transport: stdio (standard input/output)
Message ID: Uses Outlook's
EntryIDas unique identifierSearch: Uses
Items.Restrict()with DASL filters for efficient server-side filteringInternationalization: Automatically handles both "Inbox" and "收件箱" folder names
Related Projects
mail-assistant — AI-powered mail assistant using MCP, works with Thunderbird and Outlook
thunderbird-mcp — MCP server for Thunderbird
License
MIT
This server cannot be installed
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