Skip to main content

Fork of outlook-desktop-mcp with encoding fixes

Project description

outlook-desktop-mcp

PyPI Python Platform

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.EXE that 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 in read_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 like list_folders, list_emails, or move_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

outlook_desktop_mcp_encoding-0.3.5.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

outlook_desktop_mcp_encoding-0.3.5-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file outlook_desktop_mcp_encoding-0.3.5.tar.gz.

File metadata

File hashes

Hashes for outlook_desktop_mcp_encoding-0.3.5.tar.gz
Algorithm Hash digest
SHA256 f2fe558995c53a11076951c4bbb34bc8186069f311593ea64fe040187a57308e
MD5 203a0d1a10edd3054ac7babc5f272059
BLAKE2b-256 5bfc3b63bad6ccb42cdf8814c4000cbe2d5280912022bce55db7062465e41ea4

See more details on using hashes here.

File details

Details for the file outlook_desktop_mcp_encoding-0.3.5-py3-none-any.whl.

File metadata

File hashes

Hashes for outlook_desktop_mcp_encoding-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e046dd62a403e1879e31efa474f13c82b286aad84029f2e3f3933f8c4a11f2d4
MD5 f0e11d226a1bfe71fc16603a5c1a4bb7
BLAKE2b-256 75d3f7b2bac292add10abfa8e4ea38989284add45bb70d994be26be322c6b6a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page