Fork of outlook-desktop-mcp with encoding fixes
Project description
outlook-desktop-mcp
Turn your running Outlook Desktop into an MCP server with 29 tools. No Microsoft Graph API, no Entra app registration, no OAuth tokens — just your local Outlook and the authentication you already have.
Any MCP client (Claude Code, Claude Desktop, etc.) can then send emails, manage your calendar, create tasks, handle attachments, and more — all through your existing Outlook session.
Quick Start
1. Configure MCP Server (using uvx)
To use outlook-desktop-mcp, add the following snippet to your MCP client's config file (e.g., claude_desktop_config.json). This uses uvx to automatically install and run the server (requires Python 3.12+ on Windows):
{
"mcpServers": {
"outlook-desktop": {
"command": "uvx",
"args": [
"outlook-desktop-mcp"
]
}
}
}
Requirements
- Windows — COM automation is Windows-only
- Outlook Desktop (Classic) — the
OUTLOOK.EXEthat comes with Microsoft 365 / Office. The new "modern" Outlook (olk.exe) does not support COM - Python 3.12+
- Outlook must be running when the MCP server starts
Available Tools (29)
All tool descriptions are optimized for LLM tool discovery — Claude understands exactly how to use each one, what arguments to pass, and what to expect back.
💡 Important Configurations
Many tools support the following dynamic properties for advanced control:
encoding(default: "utf-8"): Used inread_email,save_attachment, etc. Pass an encoding string (e.g.,"euc-kr","cp949") alongside your tool call to correctly fetch non-English characters in email subjects, bodies, or file names.folder_depth/max_depth(default: 4): Outlook MCP searches for your target folders recursively up to this limit to resolve names into objects. If you hide folders deep within your hierarchy, you can bump this parameter (e.g.10) when calling tools likelist_folders,list_emails, ormove_email.
Email (9 tools)
| Tool | Description |
|---|---|
send_email |
Send an email with To/CC/BCC, plain text or HTML body |
list_emails |
List recent emails from any folder, with optional unread filter |
read_email |
Read full email content by entry ID or subject search |
search_emails |
Full-text search across email subjects and bodies |
reply_email |
Reply or reply-all, preserving the conversation thread |
mark_as_read |
Mark a specific email as read |
mark_as_unread |
Mark a specific email as unread |
move_email |
Move an email to Archive, Trash, or any folder |
list_folders |
Browse the complete folder hierarchy with item counts |
Calendar (8 tools)
| Tool | Description |
|---|---|
list_events |
List upcoming events with recurring occurrence support |
get_event |
Read full event details by entry ID |
create_event |
Create a personal calendar appointment |
create_meeting |
Create a meeting and send invitations to attendees |
update_event |
Modify an existing event's subject, time, location, etc. |
delete_event |
Delete an appointment or cancel a meeting (sends notices) |
respond_to_meeting |
Accept, decline, or tentatively accept a meeting invite |
search_events |
Search calendar events by keyword within a date range |
Tasks (5 tools)
| Tool | Description |
|---|---|
list_tasks |
List pending or completed tasks, sorted by due date |
get_task |
Read full task details including body and completion status |
create_task |
Create a new task with subject, due date, importance |
complete_task |
Mark a task as complete (100%) |
delete_task |
Remove a task |
Attachments (2 tools)
| Tool | Description |
|---|---|
list_attachments |
List all attachments on an email or calendar event |
save_attachment |
Download an attachment to a local directory |
Categories (2 tools)
| Tool | Description |
|---|---|
list_categories |
List all available color categories in Outlook |
set_category |
Set or clear categories on any email, event, or task |
Rules (2 tools)
| Tool | Description |
|---|---|
list_rules |
List all mail rules with enabled/disabled status |
toggle_rule |
Enable or disable a mail rule by name |
Out of Office (1 tool)
| Tool | Description |
|---|---|
get_out_of_office |
Check whether Out of Office auto-reply is on or off |
License
See LICENSE file.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file outlook_desktop_mcp_encoding-0.3.7.tar.gz.
File metadata
- Download URL: outlook_desktop_mcp_encoding-0.3.7.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
863ec6cd60b88a27af124f8286d7deb5ebe2ebad810848a14a40c77b6864e6a3
|
|
| MD5 |
7dd6ddba4a1dc0561ae137e8cf32a445
|
|
| BLAKE2b-256 |
1d165c9d6acd7c3a4b5ccdca8e3cd0a0ca2c103093fc8b2299819c0de8af98f0
|
File details
Details for the file outlook_desktop_mcp_encoding-0.3.7-py3-none-any.whl.
File metadata
- Download URL: outlook_desktop_mcp_encoding-0.3.7-py3-none-any.whl
- Upload date:
- Size: 32.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abc9c9dfd50e794ba1123b387a475d34b741b6004a47d3c974311a87ea8229b2
|
|
| MD5 |
a6f8237fb80c924ec026a038319834ba
|
|
| BLAKE2b-256 |
c745fa9315ef97e43485570f999555e7408d113c8b8f5b1ab1ac17631e97517b
|