A Model Context Protocol (MCP) server that provides access to Microsoft Outlook email functionality, allowing LLMs and other MCP clients to read, search, and manage emails through a standardized interface.
- Folder Management: List available mail folders in your Outlook client
- Email Listing: Retrieve emails from specified time periods
- Email Search: Search emails by contact name, keywords, or phrases with OR operators
- Email Details: View complete email content, including attachments
- Email Composition: Create and send new emails
- Email Replies: Reply to existing emails
- Windows operating system
- Python 3.10 or later
- Microsoft Outlook installed and configured with an active account
- Claude Desktop or another MCP-compatible client
- Clone or download this repository
- Install required dependencies:
pip install mcp>=1.2.0 pywin32>=305- Configure Claude Desktop (or your preferred MCP client) to use this server
Add the following to your MCP_client_config.json file:
{
"mcpServers": {
"outlook": {
"command": "python",
"args": ["Your path\\outlook_mcp_server.py"],
"env": {}
}
}
}You can start the server directly:
python outlook_mcp_server.pyOr allow an MCP client like Claude Desktop to start it via the configuration.
The server provides the following tools:
list_folders: Lists all available mail folders in Outlooklist_recent_emails: Lists email titles from the specified number of dayssearch_emails: Searches emails by contact name or keywordget_email_by_number: Retrieves detailed content of a specific emailreply_to_email_by_number: Replies to a specific emailcompose_email: Creates and sends a new email
- Use
list_foldersto see all available mail folders - Use
list_recent_emailsto view recent emails (e.g., from last 7 days) - Use
search_emailsto find specific emails by keywords - Use
get_email_by_numberto view a complete email - Use
reply_to_email_by_numberto respond to an email
Could you show me my unread emails from the last 3 days?
Search for emails about "project update OR meeting notes" in the last week
Show me the details of email #2 from the list
Reply to email #3 with: "Thanks for the information. I'll review this and get back to you tomorrow."
Send an email to john.doe@example.com with subject "Meeting Agenda" and body "Here's the agenda for our upcoming meeting..."
- Connection Issues: Ensure Outlook is running and properly configured
- Permission Errors: Make sure the script has permission to access Outlook
- Search Problems: For complex searches, try using OR operators between terms
- Email Access Errors: Check if the email ID is valid and accessible
- Server Crashes: Check Outlook's connection and stability
This server has access to your Outlook email account and can read, send, and manage emails. Use it only with trusted MCP clients and in secure environments.
- Currently supports text emails only (not HTML)
- Maximum email history is limited to 30 days
- Search capabilities depend on Outlook's built-in search functionality
- Only supports basic email functions (no calendar, contacts, etc.)