# Outlook Assistant

Wires your assistant into an Outlook mailbox: search mail, write drafts, book meetings, look up contacts. Saves the jump between chat and your inbox.

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

## What it does

Outlook Assistant is a stdio MCP server published on npm as `@littlebearapps/outlook-assistant`. It hands the agent 22 tools across mail, calendar and contacts. Email search groups messages into threads, and delta sync sends back only what changed since the last check along with tokens you can poll again. A separate tool dumps the raw headers of a message — DKIM, SPF, DMARC, the delivery chain — which is how you check a suspicious sender.

Sending comes with guardrails: a dry-run preview, pre-send mail tips, a per-session send limit and a recipient allowlist. Drafts can be created, edited and sent, and replies or forwards can be staged as drafts first. Calendar covers upcoming and past events, meetings with attendees, and declining or cancelling them. Folders nest, and you address them by path like `Parent/Child`; inbox rules and colour categories are there too.

The server needs `OUTLOOK_CLIENT_ID` and `OUTLOOK_CLIENT_SECRET` in its environment and starts through `npx`. A shared mailbox stays off until you set `OUTLOOK_SHARED_MAILBOX`, and it only works on work or school Microsoft 365 accounts. Even then, sending, drafting and forwarding from that mailbox is not supported — those always run as the signed-in user. Folder listings for shared boxes are best-effort and flag branches they skipped.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OUTLOOK_CLIENT_ID`, `OUTLOOK_CLIENT_SECRET` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OUTLOOK_CLIENT_ID=<OUTLOOK_CLIENT_ID> --env OUTLOOK_CLIENT_SECRET=<OUTLOOK_CLIENT_SECRET> --transport stdio outlook-assistant -- npx -y @littlebearapps/outlook-assistant
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add outlook-assistant --env OUTLOOK_CLIENT_ID=<OUTLOOK_CLIENT_ID> --env OUTLOOK_CLIENT_SECRET=<OUTLOOK_CLIENT_SECRET> -- npx -y @littlebearapps/outlook-assistant
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "outlook-assistant": {
            "command": "npx",
            "args": [
                "-y",
                "@littlebearapps/outlook-assistant"
            ],
            "env": {
                "OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
                "OUTLOOK_CLIENT_SECRET": "<OUTLOOK_CLIENT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "outlook-assistant": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@littlebearapps/outlook-assistant"
            ],
            "env": {
                "OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
                "OUTLOOK_CLIENT_SECRET": "<OUTLOOK_CLIENT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OUTLOOK_CLIENT_ID=<OUTLOOK_CLIENT_ID> -e OUTLOOK_CLIENT_SECRET=<OUTLOOK_CLIENT_SECRET> outlook-assistant npx -y @littlebearapps/outlook-assistant
```
Replace <…> with your own values

## When to use it
- find a message by sender, subject or date without opening Outlook
- inspect a message's headers for phishing before replying
- stage a reply as a draft and review it before it goes out
- export a whole conversation to Markdown, MBOX or HTML
- set an out-of-office reply from the chat window

## Example prompts
- Find last week's emails from the supplier and show me the headers of the latest one
- Draft a reply to that thread and run a dry-run preview before sending
- Export this thread to Markdown and schedule a meeting with everyone on it

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
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
