AI-powered email management for Microsoft Outlook - Search, compose, organize, and batch forward emails with natural language commands.
β This saved you time? Star us - takes 2 seconds, helps thousands of Outlook users find this AI email assistant! β
This project uses win32COM which works entirely locally with your Outlook data (more secure), while our new Microsoft Graph MCP Server provides online access to the full Microsoft 365 ecosystem (more features). Choose based on your security and functionality needs.
- β Local Data Processing: All email operations happen locally on your computer - no data leaves your machine
- β Enhanced Security: No cloud authentication or API tokens required - works with your existing Outlook setup
- β Offline Capability: Access and manage emails even without internet connection
- β Privacy-First: Your email data never touches external servers or cloud services
- β Full Microsoft 365 Ecosystem: Access Mail, Calendar, Teams, OneDrive, SharePoint
- β Cross-Platform Support: Works on Windows, macOS, Linux, and mobile devices
- β Modern Authentication: OAuth 2.0 with device code flow
- β Cloud-Scale Performance: No local application dependencies
- β Online Access: Works directly with cloud-based Microsoft 365 services
- Smart Email Search: "Find emails about budget approval from last week"
- AI Email Writing: Draft replies with context-aware suggestions
- Easy Organization: Create folders and move emails with simple commands
- Batch Forwarding: Send emails to 100s of recipients in minutes, not hours
The agent_prompt_template.md defines how the AI assistant behaves when managing emails:
- Purpose: Guide the AI's workflow for email search, summarization, and drafting
- Key Rules: AND logic for searches, 5-by-5 email display, confirmation before sending
- Safety: Built-in constraints ensure user control and prevent unauthorized actions
- How to Use: Copy the template content and use it to configure your AI assistant
See the template for complete behavior guidelines and workflow definitions
| Feature | Outlook MCP Server | Traditional Outlook | Outlook Add-ins |
|---|---|---|---|
| AI Email Search | β "Find urgent emails from my boss" | β Manual folder browsing | |
| Natural Language | β "Show me budget emails from last week" | β Complex filters needed | |
| Batch Forward 100+ Emails | β 2 minutes with CSV | β 50+ minutes manual | |
| AI Email Writing | β Context-aware replies | β Manual composition | |
| Setup Time | β 2 minutes | β Already installed | β 10-30 minutes |
| Privacy | β 100% local processing | β Local only | |
| Cost | β Completely free | β Included | π° $5-50/month |
| Learning Curve | β Natural language | β Familiar interface |
Before: "I need to forward this email to 150 team members..."
- Manual: Click Forward β Type each email β Send β 2+ hours wasted
- Traditional Outlook: Create distribution list β Add members β Forward β 30+ minutes
After: "Forward this email to everyone in team.csv"
- Outlook MCP Server: Load CSV β AI forwards to all β 2 minutes total
- Time Saved: 48+ minutes per batch operation!
- β Python 3.8+
- β Microsoft Outlook 2016+ (must be running)
- β Windows 10+
Method 1: UVX (Recommended - Auto Dependencies)
# 1. Install
git clone https://github.com/marlonluo2018/outlook-mcp-server.git
cd outlook-mcp-server
uvx --with "pywin32>=226" --with-editable "." outlook-mcp-server
# 2. Configure your AI assistant
# Use this in your MCP client settings:
{
"mcpServers": {
"outlook": {
"command": "uvx",
"args": ["--with", "pywin32>=226", "--with-editable", ".", "outlook-mcp-server"]
}
}
}Method 2: Standard Python
# 1. Install
git clone https://github.com/marlonluo2018/outlook-mcp-server.git
cd outlook-mcp-server
pip install -r requirements.txt
python -m outlook_mcp_server
# 2. Configure your AI assistant
# Use this in your MCP client settings:
{
"mcpServers": {
"outlook": {
"command": "python",
"args": ["-m", "outlook_mcp_server"]
}
}
}Method 3: Direct Source (Development)
# 1. Install
git clone https://github.com/marlonluo2018/outlook-mcp-server.git
cd outlook-mcp-server
pip install -r requirements.txt
# 2. Configure your AI assistant
# Use this in your MCP client settings:
{
"mcpServers": {
"outlook": {
"command": "python",
"args": ["C:\\Project\\outlook-mcp-server\\outlook_mcp_server\\__main__.py"]
}
}
}Ask your AI assistant: "Show me my recent emails" - if it works, you're ready!
Common Issues & Solutions:
| Problem | Check This | Solution |
|---|---|---|
| "uvx not found" | Is UV installed? | pip install uv then retry |
| "python not found" | Python in PATH? | Use full path like C:\Python39\python.exe |
| "Outlook not running" | Outlook window open? | Start Outlook first, then restart MCP |
| "Permission denied" | Admin rights? | Run terminal as administrator |
| "Module not found" | Dependencies installed? | pip install -r requirements.txt |
Configuration Verification:
# Test your setup before connecting to AI
python -c "import outlook_mcp_server; print('β
Server module loaded')"
# Test Outlook connection (Windows only)
python -c "import win32com.client; outlook = win32com.client.Dispatch('Outlook.Application'); print('β
Outlook connected')"MCP Client-Specific Setup:
Claude Desktop:
- Open Claude Desktop settings
- Find "MCP Servers" section
- Click "Add Server" β "Custom"
- Paste the JSON configuration
- Restart Claude Desktop
Other MCP Clients:
- Look for "MCP Configuration" or "Server Settings"
- Add the JSON to your client's config file
- Usually located at:
~/.config/[client]/mcp.json
Still Stuck? Report an issue with your error message and setup details.
- Search: Find emails by subject, sender, content, or date range
- Compose: Write new emails with AI assistance
- Reply: Smart replies that understand conversation context
- Batch Forward: Send emails to 100s of recipients from CSV files (saves hours!)
- List: See all your Outlook folders
- Create: Make new folders with simple commands
- Move: Organize emails between folders
- Delete: Remove folders (careful - this is permanent!)
π― Team Updates
- Forward weekly reports to your entire team
- Send important updates to all team members
- Distribute project updates to stakeholders
π Marketing Campaigns
- Send newsletters to subscriber lists
- Forward promotional emails to customer segments
- Distribute event invitations to contact groups
π’ Corporate Communications
- Send policy updates to all employees
- Forward training materials to departments
- Distribute announcements to company distribution lists
- Load emails: "Show me recent emails" β Emails appear in cache
- Browse results: View 5 emails per page with clear formatting
- Take action: Reply, move, delete, or get AI summary
- Confirm before sending: AI always asks before sending emails
- Understands natural language: "Find urgent emails from my boss"
- Shows email summaries: One-line overview + key action items
- Drafts with context: Replies understand the conversation
- Never sends without permission: Always confirms before sending
1. Prepare Your CSV File
email
john@company.com
jane@company.com
team@company.com2. Use Natural Language
"Forward this email to everyone in my contacts.csv"
"Send this project update to my team list"
"Distribute this newsletter to subscribers.csv"
3. AI Handles the Rest
- Automatically splits large lists (max 500 per batch)
- Sends via BCC to protect recipient privacy
- Adds your custom message before original email
- Provides delivery confirmation
Manual forwarding: 100 emails Γ 30 seconds = 50 minutes Batch forwarding: 30 seconds setup + 2 minutes processing = 2.5 minutes You save: 47.5 minutes per batch!
Try these with your AI assistant:
"Show me emails from last 3 days"
"Find emails about project updates"
"Draft a reply to John about rescheduling"
"Create a folder called 'Work Projects'"
"Move email #3 to the Archive folder"
list_recent_emails_tool(days=7)- Load recent emails (max: 30 days)search_email_by_subject_tool("search term")- Search email subjectssearch_email_by_sender_name_tool("sender name")- Search by sendersearch_email_by_body_tool("search term")- Search email content (slower)
view_email_cache_tool(page=1)- Browse loaded emails (5 per page)get_email_by_number_tool(email_number)- Get full email detailsreply_to_email_by_number_tool(email_number, "reply text")- Reply to emailcompose_email_tool("recipient@email.com", "subject", "body")- Send new email
get_folder_list_tool()- Always use first to see available folderscreate_folder_tool("folder name")- Create new foldermove_email_tool(email_number, "target folder")- Move email between foldersmove_folder_tool("source", "target")- Move folders
- Always check folder list first before moving/deleting
- Emails are cached - use numbers from cache for operations
- Never sends without confirmation - AI always asks before sending
- Loads 100 emails in ~2 seconds
- Searches complete in real-time
- All processing happens locally (your data stays private)
- Input Validation: All user inputs are validated before processing
- Custom Error Messages: Clear, actionable error messages for common issues
- Safety Checks: Prevents invalid operations before they cause problems
- 145+ Unit Tests: Every feature thoroughly tested
- Configuration Coverage: All settings and constants validated
- Edge Case Handling: Tested against unusual inputs and scenarios
- Continuous Quality: Tests run on every change to ensure reliability
- Fewer Errors: Validation catches mistakes before they cause problems
- Better Error Messages: Know exactly what went wrong and how to fix it
- Reliable Operation: Comprehensive testing ensures consistent performance
- Safe Operations: Built-in safeguards prevent accidental data loss
- 100% Local Processing: No data leaves your computer
- No Cloud Services: Works entirely offline
- Secure by Design: Uses your existing Outlook installation
- Check the agent prompt template for AI assistant setup
- See configuration examples for different installation methods
- Read the Win32COM vs Graph API comparison for technical details
- Review Win32COM API implementation guide for performance optimization
- Report issues on the GitHub repository
β Love saving time on email? Star this repo - helps 10,000+ Outlook users discover AI email management! β
π‘ Quick star tip: Click the β button above - it takes 2 seconds and supports open-source email AI!