home / mcp / outlook mcp server
This is an MCP (Model Context Protocol) server for integration with Microsoft Outlook. It operates the local Outlook client on Windows via COM, providing email reading, summarization, and draft generation features. Its main advantage is fast deployment on Windows without complex security authentication.
Configuration
View docs{
"mcpServers": {
"cqyefeng119-windows-outlook-mcp": {
"command": "node",
"args": [
"path\\\\to\\\\windows-outlook-mcp\\\\dist\\\\index.js"
]
}
}
}This Outlook MCP Server provides a unified way to access and control Outlook email and calendar from an MCP client. It runs locally on Windows via COM and PowerShell, enabling fast setup and secure, centralized automation for common Outlook tasks.
You use a compatible MCP client to communicate with the Outlook MCP Server. The server exposes functions to manage email and calendar, such as listing emails, reading message details, drafting responses, creating or updating calendar events, and finding free time slots. Connect your client to the local MCP endpoint, then call the available functions by name as actions in your automation scripts.
Prerequisites you need to meet before installing the server are listed here so you can prepare your environment.
Step 1: Verify system requirements
- Windows 10/11
- Microsoft Outlook installed and configured
- Node.js 16.0 or higher
- PowerShell 5.0 or higher
Step 2: Install dependencies
pnpm installStep 3: Compile TypeScript
npm run buildStep 4: Configure the MCP client integration
{
"mcpServers": {
"outlook": {
"type": "stdio",
"command": "node",
"args": ["path\\to\\windows-outlook-mcp\\dist\\index.js"],
"env": {}
}
}
}Retrieve a list of inbox emails from Outlook.
Retrieve a list of emails sent from your Outlook account.
Retrieve a list of draft emails.
Get details for a specific email by its ID.
Search inbox emails by keywords.
Search sent emails by keywords.
Search draft emails by keywords.
Mark a specific email as read.
Summarize a single email with priority awareness.
Batch summarize inbox emails, grouped by priority.
Create a new email draft with recipients, subject, and body.
Duplicate an existing email as a new draft, preserving formatting.
List calendar events within a date range.
Create a calendar event with a specific Show As status (Free/Busy/OutOfOffice, etc.).
Set the Show As status for an existing event.
Update details of an existing calendar event.
Delete a calendar event by its ID.
Find available time slots within specified work hours.
Check the response status of meeting attendees.
List all available calendars.