Outlook MCP Server
io.github.mcp-z/mcp-outlookv2.2.1
Outlook integration with OAuth, message search, batch operations, and calendar management
context tax
queued
security
queued
cold start
queued
freshness
Active27d ago
Install Outlook MCP server
Install in Claude Code
claude mcp add io-github-mcp-z-mcp-outlook -e MS_CLIENT_ID='<ms-client-id>' -e MS_TENANT_ID='<ms-tenant-id>' -e MS_CLIENT_SECRET='<ms-client-secret>' -- npx -y @mcp-z/mcp-outlookInstall in Cursor
{
"mcpServers": {
"io-github-mcp-z-mcp-outlook": {
"command": "npx",
"args": [
"-y",
"@mcp-z/mcp-outlook"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_TENANT_ID": "<ms-tenant-id>",
"MS_CLIENT_SECRET": "<ms-client-secret>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"io-github-mcp-z-mcp-outlook": {
"command": "npx",
"args": [
"-y",
"@mcp-z/mcp-outlook"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_TENANT_ID": "<ms-tenant-id>",
"MS_CLIENT_SECRET": "<ms-client-secret>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"io-github-mcp-z-mcp-outlook": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mcp-z/mcp-outlook"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_TENANT_ID": "<ms-tenant-id>",
"MS_CLIENT_SECRET": "<ms-client-secret>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"io-github-mcp-z-mcp-outlook": {
"command": "npx",
"args": [
"-y",
"@mcp-z/mcp-outlook"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_TENANT_ID": "<ms-tenant-id>",
"MS_CLIENT_SECRET": "<ms-client-secret>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| MS_CLIENT_ID | yes | — | Microsoft OAuth client ID (required for OAuth authentication modes) |
| MS_TENANT_ID | yes | — | Microsoft tenant ID (required for OAuth authentication) |
| MS_CLIENT_SECRET | — | yes | Microsoft OAuth client secret (optional for public clients) |
| AUTH_MODE | — | — | Authentication mode |
| HEADLESS | — | — | Disable browser auto-open, return auth URL instead (true/false) |
| REDIRECT_URI | — | — | OAuth redirect URI (optional, default: ephemeral loopback) |
| RESOURCE_STORE_URI | — | — | Resource store URI for CSV export files (file://) |
| PORT | — | — | HTTP server port (overrides --port) |
| BASE_URL | — | — | Base URL for HTTP transport (used for OAuth/DCR endpoints and file links) |
| LOG_LEVEL | — | — | Logging level |
| DCR_MODE | — | — | Dynamic Client Registration mode |
| DCR_VERIFY_URL | — | — | External verification endpoint URL (required for external DCR mode) |
| DCR_STORE_URI | — | — | DCR client storage URI (for self-hosted DCR mode) |
Freshness
Active — last maintenance signal 27d ago. The newest of the signals below sets the band.
Last commit (default branch)
no data · GitHub
Latest release
no data · GitHub
Package published
no data · npm/PyPI
Registry entry updated
2026-09-13 · 27d ago · official registry · v2.2.1
FAQ
›How do I install the Outlook MCP server in Claude Code?
Run: claude mcp add io-github-mcp-z-mcp-outlook -e MS_CLIENT_ID='<ms-client-id>' -e MS_TENANT_ID='<ms-tenant-id>' -e MS_CLIENT_SECRET='<ms-client-secret>' -- npx -y @mcp-z/mcp-outlook. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Outlook require an API key?
Yes. It expects MS_CLIENT_ID, MS_TENANT_ID, MS_CLIENT_SECRET, of which 1 is a secret.
›Can I use Outlook as a remote (hosted) MCP server?
Yes — it offers both a hosted endpoint and a local stdio package.
›Is Outlook in the official MCP registry?
Yes, as io.github.mcp-z/mcp-outlook.
Alternatives to Outlook
Other email MCP servers.