Skip to main content
Glama
README.md
# Outlook MCP Server

This is a unified MCP (Model Context Protocol) server for comprehensive Microsoft Outlook integration. It operates the local Outlook client on Windows via COM and PowerShell, providing both **email management** and **calendar management** features. Its main advantage is fast deployment on Windows without complex security authentication.



## Installation

### 0. System Requirements
- Windows 10/11
- Microsoft Outlook installed and configured
- Node.js 16.0 or higher
- PowerShell 5.0 or higher
- 
### 1. Install dependencies
```powershell
cd path\to\windows-outlook-mcp
npm install
```

### 2. Compile TypeScript
```powershell
npm run build
```

### 3. Configure Claude Desktop
Add the following to your Claude Desktop configuration file:
```json
{
  "mcpServers": {
    "outlook": {
      "type": "stdio",
      "command": "node",
      "args": ["path\\to\\windows-outlook-mcp\\dist\\index.js"],
      "env": {}
    }
  }
}
```

## Usage Examples

#### Create an out-of-office event
```
Create a vacation event from 2025-12-24 to 2025-12-31 marked as OutOfOffice.
```

#### Find free time slots
```
Find free 30-minute slots in my calendar for next week between 9 AM and 5 PM.
```



## Development Notes

Project structure:
```
outlook/
├── src/
│   ├── index.ts              # Main server file
│   ├── outlook-manager.ts    # Outlook interface manager
│   ├── email-summarizer.ts   # Email summarization functionality
│   └── draft-generator.ts    # Draft generation functionality
├── dist/                     # Compiled output directory
├── package.json
├── tsconfig.json
└── README.md
```

To extend functionality, modify the relevant TypeScript files and recompile.

## Available Tools & Features

### 📧 Email Management
- `get_inbox_emails` - Retrieve a list of inbox emails
- `get_sent_emails` - Retrieve a list of sent emails
- `get_draft_emails` - Retrieve a list of draft emails
- `get_email_by_id` - Get details of a specific email by ID
- `search_inbox_emails` - Search inbox emails by keyword
- `search_sent_emails` - Search sent emails by keyword
- `search_draft_emails` - Search draft emails by keyword
- `mark_email_as_read` - Mark an email as read

### 📝 Email Summarization
- `summarize_email` - Intelligently summarize a single email with priority detection
- `summarize_inbox` - Batch summarize inbox emails with priority grouping

### ✍️ Draft Management
- `create_draft` - Create a new email draft with recipients, subject, and body
- `duplicate_email_as_draft` - Duplicate an existing email as a draft (preserving formatting)

### 📅 Calendar Management
- `list_events` - List calendar events within a specified date range
- `create_event_with_show_as` - Create a calendar event with specific Show As status (Free/Busy/OutOfOffice/etc.)
- `set_show_as` - Set Show As status for an existing calendar event
- `update_event` - Update an existing calendar event (time, location, description, etc.)
- `delete_event` - Delete a calendar event by its ID
- `find_free_slots` - Find available time slots in the calendar with customizable work hours
- `get_attendee_status` - Check the response status of meeting attendees
- `get_calendars` - List all available calendars

TDQS

B3/5.0

Scored across 20 tools

Disambiguation4/5

Most tools have distinct purposes, with clear separation between email and calendar operations. However, some potential confusion exists between 'create_draft' and 'duplicate_email_as_draft', and between the various search tools (search_draft_emails, search_inbox_emails, search_sent_emails) which differ only by folder location rather than fundamental functionality.

Naming Consistency5/5

Excellent consistency with a clear verb_noun pattern throughout. All tools use snake_case and follow predictable naming conventions like 'get_', 'list_', 'create_', 'update_', 'delete_', 'search_', 'mark_', and 'summarize_' prefixes. The naming scheme is highly predictable and agent-friendly.

Tool Count4/5

20 tools is slightly high but reasonable for a comprehensive Outlook integration covering both email and calendar functionality. The count reflects the dual-domain nature of the server, though some consolidation might be possible (particularly among search operations).

Completeness5/5

Excellent coverage of both email and calendar domains. Email tools provide complete lifecycle management (create, read, search, mark, summarize) across multiple folders. Calendar tools cover event CRUD, availability checking, attendee management, and status setting. No obvious gaps exist for core Outlook workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues