Microsoft Outlook MCP server for Windows using COM interface - Direct integration with local Outlook application
Project description
Outlook MCP Server - Windows COM Edition
A Model Context Protocol (MCP) server that provides AI assistants with direct access to Microsoft Outlook on Windows through COM (Component Object Model) interface. This server enables seamless integration with emails, calendar events, and contacts without requiring Azure AD credentials or Microsoft Graph API setup.
Features
🔌 Direct Outlook Integration
- Connects directly to local Outlook application using Windows COM interface
- No Azure AD registration or Graph API credentials required
- Works with existing Outlook installations and profiles
📧 Email Management
- Get emails from any folder (Inbox, Sent Items, Drafts, etc.)
- Send emails with support for CC, BCC, and rich formatting
- Search and filter emails with pagination support
- Read email details including sender, recipients, attachments
📅 Calendar Operations
- View calendar events with date range filtering
- Create new appointments with attendees and locations
- Support for recurring events and all-day events
- Access multiple calendars and calendar folders
👥 Contact Management
- Browse contacts from Outlook address book
- Create new contacts with full contact information
- Access contact details including multiple email addresses and phone numbers
- Company and job title information
🔧 MCP Tools
get-emails- Retrieve emails from specified folderssend-email- Send emails with full formatting supportget-calendar-events- Get upcoming calendar eventscreate-calendar-event- Create new calendar appointmentsget-contacts- Browse contact directorycreate-contact- Add new contacts
📝 MCP Prompts
summarize-emails- Generate email summariesschedule-summary- Create calendar overviewscompose-email- Assist with professional email composition
Prerequisites
Windows Requirements
- Windows OS (Windows 10/11 recommended)
- Microsoft Outlook installed and configured
- Python 3.8+ with pip or uv package manager
Platform Support
- ✅ Windows: Full functionality with COM interface
- ⚠️ macOS/Linux: Limited functionality (server will start but cannot connect to Outlook)
Installation
Using UV (Recommended)
# Clone the repository
git clone <repository-url> outlook-mcp-server-windows-com
cd outlook-mcp-server-windows-com
# Install dependencies with UV
uv sync
Using Pip
# Clone the repository
git clone <repository-url> outlook-mcp-server-windows-com
cd outlook-mcp-server-windows-com
# Create virtual environment
python -m venv venv
venv\Scripts\activate # On Windows
# source venv/bin/activate # On macOS/Linux
# Install dependencies
pip install -e .
Quickstart
Install
Claude Desktop
Add this to your Claude Desktop configuration file (%APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"outlook-windows-com": {
"command": "uv",
"args": ["--directory", "C:\\path\\to\\outlook-mcp-server-windows-com", "run", "python", "-m", "outlook_mcp_server"],
"env": {}
}
}
}
Or if using system Python:
{
"mcpServers": {
"outlook-windows-com": {
"command": "python",
"args": ["-m", "outlook_mcp_server.server"],
"cwd": "C:\\path\\to\\outlook-mcp-server-windows-com\\src",
"env": {}
}
}
}
Usage
Running the Server
# Using UV
uv run python -m outlook_mcp_server
# Or directly with Python
python -m outlook_mcp_server.server
Claude Desktop Integration
Development
Project Structure
outlook-mcp-server-windows-com/
├── src/
│ └── outlook_mcp_server/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── .vscode/ # VS Code configuration
│ ├── launch.json # Debug configurations
│ └── settings.json # Editor settings
├── pyproject.toml # Project configuration
├── README.md # This file
├── test_client.py # Test script
└── uv.lock # Dependency lock file
Testing
# Test server functionality
python test_client.py
# Or test directly with UV
uv run python test_client.py
Platform Detection
The server includes automatic platform detection:
import platform
if platform.system() == "Windows":
try:
import win32com.client
WINDOWS_COM_AVAILABLE = True
except ImportError:
WINDOWS_COM_AVAILABLE = False
else:
WINDOWS_COM_AVAILABLE = False
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector uv --directory /path/to/outlook-mcp-server-windows-com run python -m outlook_mcp_server
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file outlook_mcp_server_windows_com-0.1.0.tar.gz.
File metadata
- Download URL: outlook_mcp_server_windows_com-0.1.0.tar.gz
- Upload date:
- Size: 34.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a35dab1dd68b74eb268a1cad3a0cf7a754ce93f435445008922237fdc7fae6c
|
|
| MD5 |
df41d06e0092f1cf7d740432e1388226
|
|
| BLAKE2b-256 |
8b2c98adc0ebdd52885287bfff18a7071bb215f2cc37c287e923bbceaed7384a
|
File details
Details for the file outlook_mcp_server_windows_com-0.1.0-py3-none-any.whl.
File metadata
- Download URL: outlook_mcp_server_windows_com-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1297d5d5af27927ca8babf4a01e0e82fb7e0cb1cc860fb2a84a02d38b73b08ff
|
|
| MD5 |
04d2710de0e7786ce9404a235f0aceab
|
|
| BLAKE2b-256 |
b4c0eda5c11a1237c180284cd10fd6dbcd0f8a44b1dc4b0cf7afd893b1744ca9
|