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.4.tar.gz (39.2 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.4-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for outlook_desktop_mcp_encoding-0.3.4.tar.gz
Algorithm Hash digest
SHA256 9c2425ce164a32b9b5d85cbb31a9b9710d942519c3914cdcc75fc4b1e72a37f7
MD5 9c34412972ee096a5d6b1c456c7695a5
BLAKE2b-256 c84e4b347c4ee3e39fcb80bbea55aebfba82b899194d982cea8eb91b5136adcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for outlook_desktop_mcp_encoding-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6bcb1f51457f55a43d4856a09740c9e7e14e12160d19bd1e96fb2035e90d0c69
MD5 10ce974fcea185df53d2fcd0148da36e
BLAKE2b-256 8b7dd586464feedd6563bd5a293146bd4107153fdbe073228bdb52e41bb3f12f

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