Microsoft 365 Mail MCP Server
by mindstoneio.github.mindstone/mcp-server-microsoft-mailv0.3.0
Microsoft 365 Outlook mail via Graph: read, search, send, reply, forward, draft, move, delete.
context tax
queued
security
queued
cold start
queued
freshness
Active10d ago
Install Microsoft 365 Mail MCP server
Install in Claude Code
claude mcp add microsoft-mail -e MS_CLIENT_ID='<ms-client-id>' -e MS_CONFIG_DIR='<ms-config-dir>' -- npx -y @mindstone/mcp-server-microsoft-mailInstall in Cursor
{
"mcpServers": {
"microsoft-mail": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-mail"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_CONFIG_DIR": "<ms-config-dir>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"microsoft-mail": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-mail"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_CONFIG_DIR": "<ms-config-dir>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"microsoft-mail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-mail"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_CONFIG_DIR": "<ms-config-dir>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"microsoft-mail": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-mail"
],
"env": {
"MS_CLIENT_ID": "<ms-client-id>",
"MS_CONFIG_DIR": "<ms-config-dir>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| MS_CLIENT_ID | yes | — | Microsoft Entra (Azure AD) application client ID |
| MS_CONFIG_DIR | yes | — | Path to the per-user Microsoft config directory (credentials/, accounts.json) |
| MS_ACCOUNT_EMAIL | — | — | Account email when running in multi-account per-instance mode (falls back to the first account in accounts.json) |
| MS_MCP_PACKAGE_ID | — | — | Logical package ID surfaced in error responses |
| MICROSOFT_REQUEST_TIMEOUT_MS | — | — | Override the upstream Microsoft Graph request timeout in milliseconds (max 300000 = 5 min) |
| MCP_WORKSPACE_PATH | — | — | Workspace root where download_attachment saves files (falls back to the OS temp directory when unset) |
Freshness
Active — last maintenance signal 10d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-29 · 10d ago · GitHub
Latest release
no data · GitHub
Package published
no data · npm/PyPI
Registry entry updated
2026-08-07 · 2mo ago · official registry · v0.3.0
FAQ
›How do I install the Microsoft 365 Mail MCP server in Claude Code?
Run: claude mcp add microsoft-mail -e MS_CLIENT_ID='<ms-client-id>' -e MS_CONFIG_DIR='<ms-config-dir>' -- npx -y @mindstone/mcp-server-microsoft-mail. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Microsoft 365 Mail require an API key?
Yes. It expects MS_CLIENT_ID, MS_CONFIG_DIR.
›Can I use Microsoft 365 Mail as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Microsoft 365 Mail in the official MCP registry?
Yes, as io.github.mindstone/mcp-server-microsoft-mail.
Alternatives to Microsoft 365 Mail
Other email MCP servers.