PluginBench
MCP Server

Outlook MCP Server

io.github.mcp-z/mcp-outlook

What is the Outlook MCP server?

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

How to install Outlook

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • 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

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

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-outlook": {
      "command": "npx",
      "args": [
        "-y",
        "@mcp-z/mcp-outlook",
        "-y",
        "--auth",
        "--tenant-id",
        "--headless",
        "--redirect-uri",
        "--resource-store-uri",
        "--base-url",
        "--log-level"
      ],
      "env": {
        "MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
        "MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
        "MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>",
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "HEADLESS": "<YOUR_HEADLESS>",
        "REDIRECT_URI": "<YOUR_REDIRECT_URI>",
        "RESOURCE_STORE_URI": "<YOUR_RESOURCE_STORE_URI>",
        "PORT": "<YOUR_PORT>",
        "BASE_URL": "<YOUR_BASE_URL>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "DCR_MODE": "<YOUR_DCR_MODE>",
        "DCR_VERIFY_URL": "<YOUR_DCR_VERIFY_URL>",
        "DCR_STORE_URI": "<YOUR_DCR_STORE_URI>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-outlook": {
      "command": "npx",
      "args": [
        "-y",
        "@mcp-z/mcp-outlook",
        "-y",
        "--auth",
        "--tenant-id",
        "--headless",
        "--redirect-uri",
        "--resource-store-uri",
        "--base-url",
        "--log-level"
      ],
      "env": {
        "MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
        "MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
        "MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>",
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "HEADLESS": "<YOUR_HEADLESS>",
        "REDIRECT_URI": "<YOUR_REDIRECT_URI>",
        "RESOURCE_STORE_URI": "<YOUR_RESOURCE_STORE_URI>",
        "PORT": "<YOUR_PORT>",
        "BASE_URL": "<YOUR_BASE_URL>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "DCR_MODE": "<YOUR_DCR_MODE>",
        "DCR_VERIFY_URL": "<YOUR_DCR_VERIFY_URL>",
        "DCR_STORE_URI": "<YOUR_DCR_STORE_URI>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-outlook": {
      "command": "npx",
      "args": [
        "-y",
        "@mcp-z/mcp-outlook",
        "-y",
        "--auth",
        "--tenant-id",
        "--headless",
        "--redirect-uri",
        "--resource-store-uri",
        "--base-url",
        "--log-level"
      ],
      "env": {
        "MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
        "MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
        "MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>",
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "HEADLESS": "<YOUR_HEADLESS>",
        "REDIRECT_URI": "<YOUR_REDIRECT_URI>",
        "RESOURCE_STORE_URI": "<YOUR_RESOURCE_STORE_URI>",
        "PORT": "<YOUR_PORT>",
        "BASE_URL": "<YOUR_BASE_URL>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "DCR_MODE": "<YOUR_DCR_MODE>",
        "DCR_VERIFY_URL": "<YOUR_DCR_VERIFY_URL>",
        "DCR_STORE_URI": "<YOUR_DCR_STORE_URI>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "mcp-outlook": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mcp-z/mcp-outlook",
        "-y",
        "--auth",
        "--tenant-id",
        "--headless",
        "--redirect-uri",
        "--resource-store-uri",
        "--base-url",
        "--log-level"
      ],
      "env": {
        "MS_CLIENT_ID": "<YOUR_MS_CLIENT_ID>",
        "MS_TENANT_ID": "<YOUR_MS_TENANT_ID>",
        "MS_CLIENT_SECRET": "<YOUR_MS_CLIENT_SECRET>",
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "HEADLESS": "<YOUR_HEADLESS>",
        "REDIRECT_URI": "<YOUR_REDIRECT_URI>",
        "RESOURCE_STORE_URI": "<YOUR_RESOURCE_STORE_URI>",
        "PORT": "<YOUR_PORT>",
        "BASE_URL": "<YOUR_BASE_URL>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "DCR_MODE": "<YOUR_DCR_MODE>",
        "DCR_VERIFY_URL": "<YOUR_DCR_VERIFY_URL>",
        "DCR_STORE_URI": "<YOUR_DCR_STORE_URI>"
      }
    }
  }
}
Claude Code
claude mcp add mcp-outlook --env MS_CLIENT_ID=<YOUR_MS_CLIENT_ID> --env MS_TENANT_ID=<YOUR_MS_TENANT_ID> --env MS_CLIENT_SECRET=<YOUR_MS_CLIENT_SECRET> --env AUTH_MODE=<YOUR_AUTH_MODE> --env HEADLESS=<YOUR_HEADLESS> --env REDIRECT_URI=<YOUR_REDIRECT_URI> --env RESOURCE_STORE_URI=<YOUR_RESOURCE_STORE_URI> --env PORT=<YOUR_PORT> --env BASE_URL=<YOUR_BASE_URL> --env LOG_LEVEL=<YOUR_LOG_LEVEL> --env DCR_MODE=<YOUR_DCR_MODE> --env DCR_VERIFY_URL=<YOUR_DCR_VERIFY_URL> --env DCR_STORE_URI=<YOUR_DCR_STORE_URI> -- npx -y @mcp-z/mcp-outlook -y --auth --tenant-id --headless --redirect-uri --resource-store-uri --base-url --log-level

Related MCP servers

Google Drive integration with file operations, folder navigation, search, and sharing

Gmail integration with OAuth authentication, message search, batch operations, and Sheets export

MCP server for creative PDF generation with full emoji, Unicode, and offline support

Google Sheets integration with OAuth, spreadsheet management, batch operations, and formatting