Outlook

Official registry Search and web

Outlook integration with OAuth, message search, batch operations, and calendar management

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @mcp-z/mcp-outlook
Claude Code
claude mcp add outlook -e 'MS_CLIENT_ID=<MS_CLIENT_ID>' -e 'MS_TENANT_ID=<MS_TENANT_ID>' -e 'MS_CLIENT_SECRET=<your ms_client_secret>' -e 'AUTH_MODE=<AUTH_MODE>' -e 'HEADLESS=false' -e 'REDIRECT_URI=<REDIRECT_URI>' -e 'RESOURCE_STORE_URI=<RESOURCE_STORE_URI>' -e 'PORT=<PORT>' -e 'BASE_URL=<BASE_URL>' -e 'LOG_LEVEL=<LOG_LEVEL>' -- npx -y @mcp-z/mcp-outlook@2.2.3 --auth --tenant-id --headless --redirect-uri --resource-store-uri --base-url --log-level
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "outlook": {
            "command": "npx",
            "args": [
                "-y",
                "@mcp-z/mcp-outlook@2.2.3",
                "--auth",
                "--tenant-id",
                "--headless",
                "--redirect-uri",
                "--resource-store-uri",
                "--base-url",
                "--log-level"
            ],
            "env": {
                "MS_CLIENT_ID": "<MS_CLIENT_ID>",
                "MS_TENANT_ID": "<MS_TENANT_ID>",
                "MS_CLIENT_SECRET": "<your ms_client_secret>",
                "AUTH_MODE": "<AUTH_MODE>",
                "HEADLESS": "false",
                "REDIRECT_URI": "<REDIRECT_URI>",
                "RESOURCE_STORE_URI": "<RESOURCE_STORE_URI>",
                "PORT": "<PORT>",
                "BASE_URL": "<BASE_URL>",
                "LOG_LEVEL": "<LOG_LEVEL>"
            }
        }
    }
}

Environment variables

  • MS_CLIENT_ID required Microsoft OAuth client ID (required for OAuth authentication modes)
  • MS_TENANT_ID required Microsoft tenant ID (required for OAuth authentication)
  • MS_CLIENT_SECRET secret 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
NPM package @mcp-z/mcp-outlook
Claude Code
claude mcp add outlook -e 'MS_CLIENT_ID=<MS_CLIENT_ID>' -e 'MS_TENANT_ID=<MS_TENANT_ID>' -e 'MS_CLIENT_SECRET=<your ms_client_secret>' -e 'AUTH_MODE=<AUTH_MODE>' -e 'HEADLESS=false' -e 'REDIRECT_URI=<REDIRECT_URI>' -e 'DCR_MODE=self-hosted' -e 'DCR_VERIFY_URL=<DCR_VERIFY_URL>' -e 'DCR_STORE_URI=file://~/.mcp-z/mcp-outlook/dcr.json' -e 'RESOURCE_STORE_URI=<RESOURCE_STORE_URI>' -e 'PORT=<PORT>' -e 'BASE_URL=<BASE_URL>' -e 'LOG_LEVEL=<LOG_LEVEL>' -- npx -y @mcp-z/mcp-outlook@2.2.3 --port 9003 --auth --tenant-id --headless --redirect-uri --dcr-mode --dcr-verify-url --dcr-store-uri --resource-store-uri --base-url --log-level
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "outlook": {
            "command": "npx",
            "args": [
                "-y",
                "@mcp-z/mcp-outlook@2.2.3",
                "--port",
                "9003",
                "--auth",
                "--tenant-id",
                "--headless",
                "--redirect-uri",
                "--dcr-mode",
                "--dcr-verify-url",
                "--dcr-store-uri",
                "--resource-store-uri",
                "--base-url",
                "--log-level"
            ],
            "env": {
                "MS_CLIENT_ID": "<MS_CLIENT_ID>",
                "MS_TENANT_ID": "<MS_TENANT_ID>",
                "MS_CLIENT_SECRET": "<your ms_client_secret>",
                "AUTH_MODE": "<AUTH_MODE>",
                "HEADLESS": "false",
                "REDIRECT_URI": "<REDIRECT_URI>",
                "DCR_MODE": "self-hosted",
                "DCR_VERIFY_URL": "<DCR_VERIFY_URL>",
                "DCR_STORE_URI": "file://~/.mcp-z/mcp-outlook/dcr.json",
                "RESOURCE_STORE_URI": "<RESOURCE_STORE_URI>",
                "PORT": "<PORT>",
                "BASE_URL": "<BASE_URL>",
                "LOG_LEVEL": "<LOG_LEVEL>"
            }
        }
    }
}

Environment variables

  • MS_CLIENT_ID required Microsoft OAuth client ID (required for OAuth authentication modes)
  • MS_TENANT_ID required Microsoft tenant ID (required for OAuth authentication)
  • MS_CLIENT_SECRET secret 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)
  • 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)
  • 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

Frequently asked questions

What is Outlook?

Outlook integration with OAuth, message search, batch operations, and calendar management

How do I install Outlook?

It runs on your machine. In Claude Code: claude mcp add outlook -e 'MS_CLIENT_ID=<MS_CLIENT_ID>' -e 'MS_TENANT_ID=<MS_TENANT_ID>' -e 'MS_CLIENT_SECRET=<your ms_client_secret>' -e 'AUTH_MODE=<AUTH_MODE>' -e 'HEADLESS=false' -e 'REDIRECT_URI=<REDIRECT_URI>' -e 'RESOURCE_STORE_URI=<RESOURCE_STORE_URI>' -e 'PORT=<PORT>' -e 'BASE_URL=<BASE_URL>' -e 'LOG_LEVEL=<LOG_LEVEL>' -- npx -y @mcp-z/mcp-outlook@2.2.3 --auth --tenant-id --headless --redirect-uri --resource-store-uri --base-url --log-level. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Outlook need an API key?

Yes. It expects MS_CLIENT_ID, MS_TENANT_ID, MS_CLIENT_SECRET, which you set in its configuration.

Who maintains Outlook?

It is published by mcp-z. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.