# Outlook MCP

Connects a personal Microsoft Outlook account to an AI agent for handling mail, calendar events, contacts, tasks, and drafts.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 40
- Author: mpalermiti
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mpalermiti/outlook-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/outlook-mcp

## What it does

Outlook MCP connects an agent to a personal Outlook account through the Microsoft Graph API. It can search and read messages, sort mail, create and send messages, and manage calendar events, contacts, tasks, folders, attachments, and drafts.

The server exposes tools the agent can combine into a workflow, such as finding a message and preparing a reply. To add it to Claude Code, run `claude mcp add outlook-mcp -- uvx outlook-graph-mcp`.

This server works with personal Microsoft accounts such as `@outlook.com`, `@hotmail.com`, and `@live.com`. Work and school accounts are unsupported, so they won’t connect through this server.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add outlook-mcp -- uvx outlook-graph-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from outlook-graph-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add outlook-mcp -- uvx outlook-graph-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from outlook-graph-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "outlook-mcp": {
            "command": "uvx",
            "args": [
                "outlook-graph-mcp"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from outlook-graph-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "outlook-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "outlook-graph-mcp"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from outlook-graph-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add outlook-mcp uvx outlook-graph-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from outlook-graph-mcp <command>

## When to use it
- search messages by topic or content
- sort incoming mail into folders
- prepare a draft reply to a message
- check calendar events and add an appointment
- create a task with checklist items

## Example prompts
- Find recent unread messages and flag anything urgent.
- Draft a reply to the latest message from my colleague.
- Check my calendar and create a task to prepare travel documents.

## Similar
- [Excel MCP Server](https://affpapa.org/en/nevibecode/mcp/excel-mcp-server.md) — MCP server · ★ 4259
- [kordoc](https://affpapa.org/en/nevibecode/mcp/kordoc.md) — MCP server · ★ 2726
- [Power BI Authoring MCP Server (Local)](https://affpapa.org/en/nevibecode/mcp/power-bi-authoring-mcp-server-local.md) — MCP server · ★ 1247
- [Microsoft 365 MCP Server](https://affpapa.org/en/nevibecode/mcp/microsoft-365-mcp-server.md) — MCP server · ★ 1074
- [anymd](https://affpapa.org/en/nevibecode/mcp/anymd.md) — MCP server · ★ 1051
- [Docling MCP](https://affpapa.org/en/nevibecode/mcp/docling-mcp.md) — MCP server · ★ 777

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
