outlook-legacy-mcp
by jatinpurba
README.md
# Outlook Legacy MCP
Connect Claude Desktop to legacy Microsoft Outlook installations through
Windows COM automation.
This project is designed especially for Outlook 2007 and similar legacy
desktop Outlook environments where modern Outlook/Microsoft 365 integrations
may not be available or practical.
## How it works
```text
Claude Desktop
|
| MCP
v
Outlook Legacy MCP Server
|
| Windows COM / MAPI
v
Microsoft Outlook Desktop
|
v
Configured Outlook Mail Profile
```
The MCP server runs locally on the Windows computer. It does not connect
directly to Exchange, IMAP, SMTP, or Microsoft Graph.
## Key feature: no Outlook credentials in the MCP
The server does not ask for or store:
- Outlook username
- Outlook password
- Exchange server details
- IMAP/SMTP credentials
- Microsoft Graph credentials
- OAuth tokens
Instead, it uses the Outlook desktop application and the mail profile
already configured on the local Windows machine.
## Current MCP tools
| Tool | Description |
|---|---|
| `list_emails` | List recent messages from the Inbox or a top-level folder |
| `read_email` | Read the contents of a specific email |
| `create_draft` | Create and save an email draft |
| `send_email` | Send an email through Outlook |
## Requirements
- Windows
- Microsoft Outlook 2007 or another COM-compatible desktop Outlook version
- Python 3.10+
- Claude Desktop
- A configured Outlook mail profile
Outlook should have been opened at least once on the computer so that its
profile is configured.
## Installation
Clone the repository:
```powershell
git clone https://github.com/jatinpurba/outlook-legacy-mcp.git
cd outlook-legacy-mcp
```
Install dependencies:
```powershell
pip install -r requirements.txt
```
You can also install them directly:
```powershell
pip install pywin32 mcp
```
## Configure Claude Desktop
Open the Claude Desktop configuration file:
```text
%APPDATA%\Claude\claude_desktop_config.json
```
Add the following MCP server entry. Replace the path with the actual location
of the Python file on your computer:
```json
{
"mcpServers": {
"outlook-legacy": {
"command": "python",
"args": [
"C:\\path\\to\\outlook-legacy-mcp\\outlook_mcp_server.py"
]
}
}
}
```
Save the configuration and fully restart Claude Desktop.
The Outlook tools should then be available to Claude.
## Example prompts
Once connected, you can ask Claude things such as:
```text
Show me my latest 10 emails.
```
```text
Show me my unread emails.
```
```text
Read the latest email from John.
```
```text
Create a draft response to this email.
```
```text
Create a draft email to customer@example.com with the subject
"Project Update".
```
Use extra caution with `send_email`, because it sends the message through
your configured Outlook account.
## Security and privacy
This MCP server runs locally on your Windows computer.
The MCP itself does not collect or store Outlook credentials. It accesses the
Outlook profile through the locally installed Outlook application.
However, the MCP tools can access mailbox content and can send email.
Only run the server on a trusted computer.
Before using automated sending, review the recipient, subject, and content of
messages generated by an AI system.
Outlook may display a security prompt when a program attempts to send mail on
your behalf. This is an Outlook security feature.
## Limitations
- Windows only
- Requires desktop Outlook
- Requires a configured Outlook profile
- Uses Outlook Windows COM automation
- Intended for local use rather than server-side/headless deployments
- Outlook may need to be running or launchable for COM operations
- Outlook security prompts may appear when sending mail
- The current implementation is focused on email operations
## Why not Microsoft Graph?
Microsoft Graph is an excellent option for modern Microsoft 365 environments.
This project targets a different use case: legacy desktop Outlook.
If you are using Outlook 2007 or another legacy environment where modern
Outlook/Graph-based integrations are unavailable or impractical, this project
provides a local COM-based MCP bridge.
## Architecture
The server uses Python, `pywin32`, Outlook COM automation, and the MCP Python
SDK.
The MCP server obtains the Outlook application through COM and accesses its
MAPI namespace. It therefore uses the Outlook profile already configured on
the machine rather than implementing a separate mail-server authentication
flow.
## Development
Install dependencies:
```powershell
pip install -r requirements.txt
```
Run the server:
```powershell
python outlook_mcp_server.py
```
The server is intended to be launched by an MCP-compatible client such as
Claude Desktop.
## Contributing
Issues, improvements, compatibility reports, and pull requests are welcome.
If you test the project with a different legacy Outlook version, please
include the Outlook version and Windows version in your issue.
## License
MIT License. See [LICENSE](LICENSE).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues