# desek/outlook-local-mcp [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/desek/outlook-local-mcp  
**GitHub Stars:** 41  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/desek-outlook-local-mcp

## Description
Local-first Microsoft Outlook MCP server (calendar + mail via Microsoft Graph). Single Go binary, stdio transport, OS-keychain token storage, multi-account. 4 aggregate domain tools (calendar, mail, account, system) with progressive disclosure via a help verb to keep cold-start schema small.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "outlook-local-mcp": {
    "command": "npx",
    "args": ["-y","desek-outlook-local-mcp"]
  }
}
```

## Documentation & README

# Outlook Local MCP Server

A single-binary MCP server that connects Claude Desktop and Claude Code to Microsoft Outlook via the Microsoft Graph API. Manage your calendar, read email, and compose drafts without leaving your AI assistant.

<p align="center">
  <img src="https://raw.githubusercontent.com/desek/outlook-local-mcp/HEAD/docs/assets/demo.gif" alt="outlook-local-mcp demo">
</p>

## Install

**Go binary** (recommended):

```bash
go install github.com/desek/outlook-local-mcp/cmd/outlook-local-mcp@latest
```

**Docker / OCI**:

```bash
docker run -i --rm \
  -v outlook-mcp-auth:/data/auth \
  -e OUTLOOK_MCP_TENANT_ID=<tenant> \
  -e OUTLOOK_MCP_CLIENT_ID=<client> \
  ghcr.io/desek/outlook-local-mcp:latest
```

See [Container deployment](https://github.com/desek/outlook-local-mcp/blob/HEAD/docs/quickstart.md#container-deployment) for the full client config snippet, and [Container runtime](https://github.com/desek/outlook-local-mcp/blob/HEAD/docs/concepts.md#container-runtime) for the keychain trade-off and image variants.

**Claude Desktop extension** (no terminal required):

Download the `.mcpb` file from the [latest release](https://github.com/desek/outlook-local-mcp/releases/latest) and open it in Claude Desktop via **Settings > Extensions > Install from file**.

## Tool invocation shape

All operations use four aggregate domain tools dispatched by an `operation` verb:

```
{tool: "calendar", args: {operation: "list_events", date: "today"}}
{tool: "mail",     args: {operation: "list_folders"}}
{tool: "account",  args: {operation: "list"}}
{tool: "system",   args: {operation: "status"}}
```

Call any domain with `operation: "help"` to list its verbs and parameters.

## Documentation

| Guide | Contents |
|---|---|
| [docs/readme.md](https://github.com/desek/outlook-local-mcp/blob/HEAD/docs/readme.md) | Project overview and feature list |
| [docs/quickstart.md](https://github.com/desek/outlook-local-mcp/blob/HEAD/docs/quickstart.md) | Prerequisites, installation, and first tool call |
| [docs/concepts.md](https://github.com/desek/outlook-local-mcp/blob/HEAD/docs/concepts.md) | Output tiers, multi-account model, mail gating, OAuth scopes, observability, and more |
| [docs/troubleshooting.md](https://github.com/desek/outlook-local-mcp/blob/HEAD/docs/troubleshooting.md) | Auth errors, Keychain issues, Graph throttling, and account lifecycle |

For LLM clients: see [llms.txt](https://github.com/desek/outlook-local-mcp/blob/HEAD/llms.txt) for a machine-readable index.

## Acknowledgements

Support and testing by [GigWhere](https://gigwhere.com) ❤️

## License

MIT License. See [LICENSE](https://github.com/desek/outlook-local-mcp/blob/HEAD/LICENSE) for details.

