MCP.so
Sign In

Outlook MCP Server

@Wallisking1991

Basic information

Category

Communication

Transports

stdio

Author

Wallisking1991

About Outlook MCP Server

No overview available yet

#outlook-mcp-server#email-management#mcp-client

Outlook MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "outlook-mcp-server": {
      "command": "python",
      "args": [
        "outlook_mcp_server.py"
      ]
    }
  }
}

Outlook MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Outlook MCP Server?

Outlook MCP Server is a community outlook mcp server for Windows that lets Claude and other MCP clients list, search, read, reply to and send email through your locally installed Microsoft Outlook.

It is a single Python script (outlook_mcp_server.py) built on the MCP Python SDK's FastMCP and pywin32. Instead of calling a cloud API, it drives the Outlook desktop application over COM/MAPI, so it works with whatever account Outlook is already signed into. It is maintained on GitHub by Wallisking1991 and is not an official Microsoft product.

How to use Outlook MCP Server?

Prerequisites

  • Windows (the server depends on pywin32 and the Outlook COM interface)
  • Python 3.10 or later
  • Microsoft Outlook installed and configured with an active account
  • Claude Desktop or another MCP-compatible client

No API key, OAuth app or Microsoft Graph registration is required. The server uses the Outlook profile on your machine.

Install

Clone or download the repository from GitHub, then install the dependencies:

pip install mcp>=1.2.0 pywin32>=305

The same two packages are listed in the repo's requirements.txt. You can start the server by hand to check that it can reach Outlook:

python outlook_mcp_server.py

On startup it connects to Outlook and prints how many items are in your Inbox before starting the MCP server. In normal use you let your MCP client launch it instead.

Claude Desktop

Add the server to your Claude Desktop MCP configuration, replacing the path with the full path to the script on your machine:

{
  "mcpServers": {
    "outlook": {
      "command": "python",
      "args": ["Your path\\outlook_mcp_server.py"],
      "env": {}
    }
  }
}

Restart Claude Desktop after saving. The repo ships a sample claude_desktop_config.json that uses an absolute Windows path such as d:\\Cline\\MCP\\outlook_mcp_server.py. Note the doubled backslashes required in JSON.

Other MCP clients

The server runs over standard input/output, so any client that can launch a local command (Cursor, VS Code, Claude Code and others) can use the same command and args. The README only documents the Claude Desktop setup, so use your client's own instructions for registering a local stdio server.

Key features of Outlook MCP Server

  • Folder management: list every mail folder available in your Outlook client.
  • Email listing: retrieve email titles from the last 1 to 30 days, from the Inbox or a named folder.
  • Email search: search by contact name, keyword or phrase, with OR between terms.
  • Email details: open the full content of a listed email, including attachment information.
  • Replies: reply to a specific email by its number in the latest listing.
  • Composition: create and send a new email with an optional CC recipient.
  • No cloud credentials: works through the local Outlook desktop app, with no Microsoft Graph setup.

Outlook MCP Server tools

The README documents six tools. They fall into three groups.

Browsing and search. list_folders returns the folders in your mailbox. list_recent_emails lists email titles from a number of days (default 7, maximum 30) and optionally takes a folder name. search_emails takes a search term plus the same days and folder options, and supports OR queries such as project update OR meeting notes.

Reading. get_email_by_number returns the full content of an email using the number it was given in the most recent list_recent_emails or search_emails result. You need to list or search first, otherwise the tool returns an error.

Writing. reply_to_email_by_number replies to a numbered email with your text. compose_email takes a recipient, subject, body and optional CC address, then sends the message straight away rather than saving a draft.

A typical session runs list_folders, then list_recent_emails or search_emails, then get_email_by_number, and finally reply_to_email_by_number.

Use cases of Outlook MCP Server

  • Inbox triage: "Could you show me my unread emails from the last 3 days?"
  • Finding a thread: "Search for emails about "project update OR meeting notes" in the last week"
  • Reading in context: "Show me the details of email #2 from the list", then ask Claude to summarize it or pull out action items.
  • Quick replies: "Reply to email #3 with: "Thanks for the information. I'll review this and get back to you tomorrow.""
  • Sending from chat: "Send an email to john.doe@example.com with subject "Meeting Agenda" and body "Here's the agenda for our upcoming meeting...""

Outlook MCP Server vs alternatives

This outlook mcp server is local and Windows-only. It controls desktop Outlook through pywin32, so it needs no Microsoft 365 app registration, but it cannot run on macOS, Linux or a remote host. It also covers email only.

Microsoft Graph-based Outlook MCP servers take the other approach: they connect to Microsoft 365 mailboxes in the cloud and often cover calendar and contacts too. The trade-off is OAuth or app setup. One hosted example is Pipedream's Microsoft Outlook MCP. If your mail is in Gmail rather than Outlook, see Gmail MCP Server.

Troubleshooting Outlook MCP Server

  • Connection issues: make sure Outlook is running and properly configured with an active account. Running python outlook_mcp_server.py by hand shows whether the script can reach your Inbox.
  • Permission errors: the script needs permission to access Outlook. Run your MCP client under the same Windows user that uses Outlook.
  • "No emails have been listed yet": get_email_by_number and reply_to_email_by_number work from the last listing. Run list_recent_emails or search_emails first.
  • Search problems: for complex searches, put OR between terms. Results depend on Outlook's built-in search.
  • Server crashes or email access errors: check that Outlook's connection is stable and that the email number exists in the current listing.

Frequently asked questions

1

Is Outlook MCP Server an official Microsoft product?

No. It is a community project by GitHub user Wallisking1991. Microsoft does not publish or support it.

2

Is Outlook MCP Server free?

Yes. It is a free Python script published on GitHub, with no paid tier. You do need a working Microsoft Outlook installation and account.

3

Do I need an API key or Microsoft Graph access?

No. The server talks to the Outlook desktop app on your PC through `pywin32`, so no API key, OAuth app or Graph permission is needed.

4

Does the outlook mcp server work on macOS or Linux?

No. It requires Windows because it relies on `pywin32` and the Outlook COM interface. On other systems, use a Microsoft Graph-based server instead.

5

Can I use it with Cursor, VS Code or Claude Code?

The README documents Claude Desktop, but the server is a standard local stdio MCP server. Any client that can run `python` with the script path as an argument should work.

6

Can it manage my calendar or contacts?

No. It only supports basic email functions: folders, listing, search, reading, replying and composing. Calendar and contacts are out of scope.

7

How far back can it read email?

Up to 30 days. The `days` parameter on `list_recent_emails` and `search_emails` must be between 1 and 30.

8

Is it safe to connect to my mailbox?

The server can read, send and reply to email from your Outlook account, and `compose_email` sends immediately. The README advises using it only with trusted MCP clients in secure environments. Review tool calls before you approve them.

Comments

More Communication MCP servers