mcpbeat Sign in

Microsoft 365 Mail MCP Server

local only

Microsoft 365 Mail runs on your own machine — the client starts it, so there is no endpoint to ping. 63 installs a week from npm. Last commit 2 Nov 2026.

Microsoft 365 Outlook mail via Graph: read, search, send, reply, forward, draft, move, delete.

Installs per day peak 31 · avg 6 · +186% w/w
a month agotoday
63
Installs / week
npm · @mindstone/mcp-server-microsoft-mail
14
Stars
2 open issues
2 Nov 2026
Last commit
1 release in 90 days
FSL-1.1-MIT
License
TypeScript

What the code does

We read the source, 22 h ago · rules 995398eba69f

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a file or shell call replace_workspace_document.document_id → connectors/pandadoc/src/tools/documents.ts:891
          fs.writeFileSync(outFd, pdfBuffer);
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command connectors/office/src/index.ts:403
    const child = spawn(process.execPath, [script], {
  if (isUnder(resolvedAbs, sshDir)) return { hit: true, reason: '~/.ssh/** is sensitive' };
Page loads a third-party script connectors/office/src/addin/taskpane.html:10
  <script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js"></script>
    const entries = fs.readdirSync(workspacePath, { withFileTypes: true });

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add mcp-server-microsoft-mail -e 'MS_CLIENT_ID=<MS_CLIENT_ID>' -e 'MS_CONFIG_DIR=<MS_CONFIG_DIR>' -- npx -y @mindstone/mcp-server-microsoft-mail
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-microsoft-mail": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-microsoft-mail"
      ],
      "env": {
        "MS_CLIENT_ID": "<MS_CLIENT_ID>",
        "MS_CONFIG_DIR": "<MS_CONFIG_DIR>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp-server-microsoft-mail]
command = "npx"
args = ["-y", "@mindstone/mcp-server-microsoft-mail"]
env = { MS_CLIENT_ID = "<MS_CLIENT_ID>", MS_CONFIG_DIR = "<MS_CONFIG_DIR>" }
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server-microsoft-mail": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-microsoft-mail"
      ],
      "env": {
        "MS_CLIENT_ID": "<MS_CLIENT_ID>",
        "MS_CONFIG_DIR": "<MS_CONFIG_DIR>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-server-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>"
      }
    }
  }
}

Put your own values in place of <MS_CLIENT_ID> (Microsoft Entra (Azure AD) application client ID), <MS_CONFIG_DIR> (Path to the per-user Microsoft config directory (credentials/, accounts.json)). The author’s registry entry marks them as required.

Optional settings from the registry entry, left out of the block above: 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)).

Alternatives to Microsoft 365 Mail

same job, measured the same way
MCP Outlook
by dockndevai

Outlook mail and OneDrive files via Microsoft Graph — read, search, send and organize.

121 installs/wk local only
Microsoft Outlook MCP
by 0xka13b

Microsoft Outlook (mail) MCP server — read, search, and send email through Microsoft Graph.

57 installs/wk local only
Mail-MCP
by rixtayz

Personal Outlook.com / Hotmail inbox: read, search, file, delete, unsubscribe via Microsoft Graph.

47 installs/wk local only
Outlook Mail
by pepebits

Read, search, send and clean up Outlook.com / Hotmail mail through Microsoft Graph.

98 installs/wk local only
Iris
by superangrymonkey

Microsoft 365 mail MCP: reads mail, drafts into Outlook; sending is opt-in (IRIS_ENABLE_SEND).

133 installs/wk local only
MSGraph MCP
by timfurlong

MCP server for Microsoft Graph: Outlook mail and calendar, plus read-only Microsoft Teams

128 installs/wk local only
Microsoft 365 Calendar
by mindstone

Microsoft 365 Outlook calendar via Graph: list, get, create, update, respond, free/busy.

69 installs/wk local only
Outlook Email
by mintmcp

A MCP server for Outlook email that lets you search, read, and draft emails and replies.

answering

Microsoft 365 Mail — questions

Answers built from our own checks of this server.

Why is there no uptime for Microsoft 365 Mail?
Microsoft 365 Mail runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @mindstone/mcp-server-microsoft-mail was installed 63 times last week.
How do I connect Microsoft 365 Mail?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @mindstone/mcp-server-microsoft-mail straight from npm; nothing to host, nothing to sign up for.
How many people use Microsoft 365 Mail?
The npm package @mindstone/mcp-server-microsoft-mail was installed 63 times in the last week. Week over week that is +186%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Microsoft 365 Mail open source?
No, and the distinction matters: its licence is declared as FSL-1.1-MIT. That makes it source-available — you can read the code, but the terms are the author's own, not one of the recognised open-source licences. Read them before you build on it.