Office Outlook MCP Server
by chrischallio.github.chrischall/office-outlook-mcpv0.4.0
Outlook / Microsoft 365 for Claude — mail, calendar, contacts and tasks, with confirm-gated sending
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install Office Outlook MCP server
Install in Claude Code
claude mcp add office-outlook -e OUTLOOK_ACCESS_TOKEN='<outlook-access-token>' -- npx -y @chrischall/office-outlook-mcpInstall in Cursor
{
"mcpServers": {
"office-outlook": {
"command": "npx",
"args": [
"-y",
"@chrischall/office-outlook-mcp"
],
"env": {
"OUTLOOK_ACCESS_TOKEN": "<outlook-access-token>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"office-outlook": {
"command": "npx",
"args": [
"-y",
"@chrischall/office-outlook-mcp"
],
"env": {
"OUTLOOK_ACCESS_TOKEN": "<outlook-access-token>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"office-outlook": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@chrischall/office-outlook-mcp"
],
"env": {
"OUTLOOK_ACCESS_TOKEN": "<outlook-access-token>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"office-outlook": {
"command": "npx",
"args": [
"-y",
"@chrischall/office-outlook-mcp"
],
"env": {
"OUTLOOK_ACCESS_TOKEN": "<outlook-access-token>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| OUTLOOK_ACCESS_TOKEN | — | yes | Pre-obtained Outlook bearer token. Overrides the browser bridge. Power users / CI only; tokens last about 25 hours. |
| OUTLOOK_DISABLE_FETCHPROXY | — | — | Set to '1' to disable browser capture, requiring OUTLOOK_ACCESS_TOKEN. |
| OUTLOOK_API_BASE | — | — | Override the Outlook REST base URL. Defaults to https://outlook.office.com/api/v2.0. |
| OUTLOOK_WS_PORT | — | — | fetchproxy concentrator port used for token capture. Defaults to 37149, the fleet-wide shared port. |
| OUTLOOK_CAPTURE_TIMEOUT | — | — | Seconds to wait for the Outlook tab to make a request we can read a token from. Defaults to 30. |
| OUTLOOK_TOKEN_CACHE | — | — | Set to 'false' to stop caching the captured token between runs. Defaults to true. |
| OUTLOOK_TOKEN_FILE | — | — | Path to the cached token file. Defaults to ~/.office-outlook-mcp/token.json. |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-09 · 1d ago · GitHub
Latest release
2026-10-08 · 1d ago · GitHub · v0.4.0
Package published
no data · npm/PyPI
Registry entry updated
2026-10-08 · 1d ago · official registry · v0.4.0
FAQ
›How do I install the Office Outlook MCP server in Claude Code?
Run: claude mcp add office-outlook -e OUTLOOK_ACCESS_TOKEN='<outlook-access-token>' -- npx -y @chrischall/office-outlook-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Office Outlook require an API key?
Yes. It expects OUTLOOK_ACCESS_TOKEN, of which 1 is a secret.
›Can I use Office Outlook as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Office Outlook in the official MCP registry?
Yes, as io.github.chrischall/office-outlook-mcp.
Alternatives to Office Outlook
Other email MCP servers.