NestDaddy

Outlook Personal MCP

io.github.salahawad/outlook-personal-mcp · v0.1.1

Full-control MCP server for a personal Outlook.com mailbox and calendar (Microsoft Graph).

Connect Runs on your machine

Terminal
claude mcp add outlook-personal-mcp -e OUTLOOK_MCP_CLIENT_ID=<OUTLOOK_MCP_CLIENT_ID> -e OUTLOOK_MCP_AUTHORITY=<OUTLOOK_MCP_AUTHORITY> -e OUTLOOK_MCP_FILE_ROOT=<OUTLOOK_MCP_FILE_ROOT> -e OUTLOOK_MCP_MAX_FILE_BYTES=<OUTLOOK_MCP_MAX_FILE_BYTES> -e OUTLOOK_MCP_ALLOW_PERMANENT_DELETE=<OUTLOOK_MCP_ALLOW_PERMANENT_DELETE> -e OUTLOOK_MCP_DEBUG=<OUTLOOK_MCP_DEBUG> -- uvx mcp-outlook-personal==0.1.1
claude_desktop_config.json
{
  "mcpServers": {
    "outlook-personal-mcp": {
      "command": "uvx",
      "args": [
        "mcp-outlook-personal==0.1.1"
      ],
      "env": {
        "OUTLOOK_MCP_CLIENT_ID": "<OUTLOOK_MCP_CLIENT_ID>",
        "OUTLOOK_MCP_AUTHORITY": "<OUTLOOK_MCP_AUTHORITY>",
        "OUTLOOK_MCP_FILE_ROOT": "<OUTLOOK_MCP_FILE_ROOT>",
        "OUTLOOK_MCP_MAX_FILE_BYTES": "<OUTLOOK_MCP_MAX_FILE_BYTES>",
        "OUTLOOK_MCP_ALLOW_PERMANENT_DELETE": "<OUTLOOK_MCP_ALLOW_PERMANENT_DELETE>",
        "OUTLOOK_MCP_DEBUG": "<OUTLOOK_MCP_DEBUG>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "outlook-personal-mcp": {
      "command": "uvx",
      "args": [
        "mcp-outlook-personal==0.1.1"
      ],
      "env": {
        "OUTLOOK_MCP_CLIENT_ID": "<OUTLOOK_MCP_CLIENT_ID>",
        "OUTLOOK_MCP_AUTHORITY": "<OUTLOOK_MCP_AUTHORITY>",
        "OUTLOOK_MCP_FILE_ROOT": "<OUTLOOK_MCP_FILE_ROOT>",
        "OUTLOOK_MCP_MAX_FILE_BYTES": "<OUTLOOK_MCP_MAX_FILE_BYTES>",
        "OUTLOOK_MCP_ALLOW_PERMANENT_DELETE": "<OUTLOOK_MCP_ALLOW_PERMANENT_DELETE>",
        "OUTLOOK_MCP_DEBUG": "<OUTLOOK_MCP_DEBUG>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "outlook-personal-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-outlook-personal==0.1.1"
      ],
      "env": {
        "OUTLOOK_MCP_CLIENT_ID": "<OUTLOOK_MCP_CLIENT_ID>",
        "OUTLOOK_MCP_AUTHORITY": "<OUTLOOK_MCP_AUTHORITY>",
        "OUTLOOK_MCP_FILE_ROOT": "<OUTLOOK_MCP_FILE_ROOT>",
        "OUTLOOK_MCP_MAX_FILE_BYTES": "<OUTLOOK_MCP_MAX_FILE_BYTES>",
        "OUTLOOK_MCP_ALLOW_PERMANENT_DELETE": "<OUTLOOK_MCP_ALLOW_PERMANENT_DELETE>",
        "OUTLOOK_MCP_DEBUG": "<OUTLOOK_MCP_DEBUG>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
OUTLOOK_MCP_CLIENT_ID
Required
Azure App Registration client ID (Application ID). Required. Create a free app at https://portal.azure.com — see README for the three-minute setup.
OUTLOOK_MCP_AUTHORITY
Optional
Azure AD authority URL. Defaults to https://login.microsoftonline.com/consumers which covers personal Microsoft accounts (Outlook.com, Hotmail, Live). Change only if you target a different tenant.
OUTLOOK_MCP_FILE_ROOT
Optional
Only files under this directory can be read by add_attachment or written by download_attachment. Defaults to ~/.local/share/outlook-personal-mcp/files.
OUTLOOK_MCP_MAX_FILE_BYTES
Optional
Maximum bytes allowed for local attachment reads and attachment downloads. Defaults to 3145728.
OUTLOOK_MCP_ALLOW_PERMANENT_DELETE
Optional
Set to 'true' to enable the permanent_delete tool which irrecoverably erases messages (bypasses Deleted Items). Disabled by default for safety.
OUTLOOK_MCP_DEBUG
Optional
Set to 'true' to enable debug-level logging for Graph API requests and responses.

Details

Package[email protected] (PYPI, stdio)
First published28 Jun 2026
Last updated28 Jun 2026
Registry nameio.github.salahawad/outlook-personal-mcp

More communication servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.