Docs: https://mcp-z.github.io/mcp-outlook Outlook MCP server for searching, reading, and sending Microsoft 365 mail.
MCP supports stdio and HTTP.
Stdio
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": ["-y", "@mcp-z/mcp-outlook"]
}
}
}
HTTP
{
"mcpServers": {
"outlook": {
"type": "http",
"url": "http://localhost:9003/mcp",
"start": {
"command": "npx",
"args": ["-y", "@mcp-z/mcp-outlook", "--port=9003"]
}
}
}
}
start is an extension used by npx @mcp-z/cli up to launch HTTP servers for you.
Configure via environment variables or the env block in .mcp.json. See server.json for the full list of options.
Environment variables:
MS_CLIENT_ID=your-client-id
MS_TENANT_ID=common
MS_CLIENT_SECRET=your-client-secret
Example:
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": ["-y", "@mcp-z/mcp-outlook"],
"env": {
"MS_CLIENT_ID": "your-client-id",
"MS_TENANT_ID": "common",
"MS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Useful for headless or remote environments.
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": ["-y", "@mcp-z/mcp-outlook", "--auth=device-code"],
"env": {
"MS_CLIENT_ID": "your-client-id",
"MS_TENANT_ID": "common"
}
}
}
}
HTTP only. Requires a public base URL.
{
"mcpServers": {
"outlook-dcr": {
"command": "npx",
"args": [
"-y",
"@mcp-z/mcp-outlook",
"--auth=dcr",
"--port=3456",
"--base-url=https://oauth.example.com"
],
"env": {
"MS_CLIENT_ID": "your-client-id",
"MS_TENANT_ID": "common",
"MS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
# List tools
mcp-z inspect --servers outlook --tools
# Call a tool
mcp-z call outlook message-search '{"query":"from:alice@example.com"}'
See server.json for all supported environment variables, CLI arguments, and defaults.