outlook-mcp-server — README.md
❯cat README.md
# Outlook MCP Server
An MCP server for Outlook.com and Microsoft 365 accounts. Supports listing, reading, deleting, marking, and moving emails, plus attachment management. Connects through Azure App Registration with OAuth2.
❯cat outlook-mcp-server/ARCHITECTURE.md
## How It Works
The MCP server authenticates to Microsoft Graph using OAuth2 with an Azure App Registration. On first run it opens a browser for interactive consent; subsequent runs use a cached refresh token. All email operations go through the /me/messages Graph endpoint with full MIME body support.
MCP Client (Claude) ──stdio──▶ Outlook MCP Server
└── OAuth2 token cache
└── MS Graph API v1.0
└── /me/messages
└── /me/mailFolders
└── /me/messages/{id}/attachments❯outlook-mcp-server --demo
## Screenshots
outlook-mcp — list emails
❯ list_emails folder=Inbox limit=5 ID FROM SUBJECT ──────────────────────────────────────────────── msg_a1 sarah@design.co Q3 mockups ready msg_a2 ci@github.com Build #2841 passed msg_a3 noreply@jira.com ENG-1842 assigned msg_a4 billing@aws.com Invoice Jun 2026 msg_a5 team@linear.app Sprint review Fri
outlook-mcp — read + move
❯ get_email id=msg_a1 From: sarah@design.co Subject: Q3 mockups ready Body: Hi! Figma link attached. Please review by Fri. Attachments: mockups-v2.fig (2.3 MB) ❯ move_email id=msg_a1 folder=Design/Review ✓ Moved to Design/Review ❯ mark_email id=msg_a1 read=true ✓ Marked as read
❯grep -n "## Features" outlook-mcp-server/README.md
## Features
- +List and read emails with full body
- +Delete and mark read/unread
- +Move emails between folders
- +Attachment listing and download
- +OAuth2 via Azure App Registration
❯outlook-mcp-server --compare
## vs. The Field
| Feature | Outlook MCP Server | Direct Outlook API | Zapier Outlook |
|---|---|---|---|
| MCP protocol native | ✓ | ✗ | ✗ |
| OAuth2 / Azure AAD | ✓ | ✓ | ✓ |
| Attachment support | ✓ | ✓ | partial |
| Claude Code integration | ✓ | ✗ | ✗ |
| Free / open source | ✓ | free | paid |
❯cd outlook-mcp-server && cat INSTALL.md
## Installation
1
Register an Azure App
portal.azure.com → Azure Active Directory → App registrations → New registration.
⚠ Add delegated permissions: Mail.Read, Mail.ReadWrite, Mail.Send (optional).
2
Install
No build step required.
npx -y @web4w3/install outlook
3
Set Azure credentials
export AZURE_CLIENT_ID=your-client-id export AZURE_TENANT_ID=your-tenant-id export AZURE_CLIENT_SECRET=your-secret
4
Add to Claude config
First run opens a browser for OAuth consent. Token is cached locally.
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": ["-y", "@web4w3/install", "outlook"],
"env": {
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_TENANT_ID": "your-tenant-id",
"AZURE_CLIENT_SECRET": "your-secret"
}
}
}
}❯cat outlook-mcp-server/package.json | jq '.dependencies | keys'
## Tech Stack
Node.jsTypeScriptMS Graph APIOAuth2MCP SDK