AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

M365 Mcp

mcp-stumason-m365-mcp · by StuMason

MCP server for Microsoft 365. Manage mail, calendar, OneDrive, Teams and more through AI assistants via the Microsoft Graph API.

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add mcp-stumason-m365-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-stumason-m365-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of M365 Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

M365 MCP

[](https://www.npmjs.com/package/@masonator/m365-mcp) [](LICENSE) [](https://nodejs.org) [](https://www.typescriptlang.org/) [](https://github.com/StuMason/m365-mcp/actions/workflows/ci.yml)

MCP server for Microsoft 365 via the Microsoft Graph API. Read-only access to your profile, calendar, email, Teams chats, OneDrive files, and meeting transcripts from any MCP client.

Installation

Claude Code

claude mcp add m365-mcp -e MS365_MCP_CLIENT_ID=your-client-id -e MS365_MCP_TENANT_ID=your-tenant-id -- npx -y @masonator/m365-mcp

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "m365-mcp": {
      "command": "npx",
      "args": ["-y", "@masonator/m365-mcp"],
      "env": {
        "MS365_MCP_CLIENT_ID": "your-azure-ad-client-id",
        "MS365_MCP_TENANT_ID": "your-azure-ad-tenant-id"
      }
    }
  }
}

First Run

On first use, the server opens your browser to sign in with Microsoft. After granting consent, tokens are stored locally at ~/.config/m365-mcp/tokens.json (permissions 600) and refreshed automatically.

Environment Variables

| Variable | Required | Description | | ------------------------- | -------- | ------------------------------------------------------------------------------ | | MS365_MCP_CLIENT_ID | Yes | Azure AD application (client) ID | | MS365_MCP_TENANT_ID | Yes | Azure AD tenant ID | | MS365_MCP_CLIENT_SECRET | No | Azure AD client secret (confidential clients only) | | MS365_MCP_TIMEZONE | No | Timezone for calendar (default: system timezone) | | MS365_MCP_REDIRECT_URL | No | OAuth redirect URI (default: dynamic port, http://localhost:{port}/callback) |

Azure AD Setup

Register an application in Azure AD with these settings:

  1. App registration > New registration
  2. Redirect URI: http://localhost (Web platform) — or set a fixed URI via MS365_MCP_REDIRECT_URL
  3. Certificates & secrets > New client secret
  4. API permissions > Add the following delegated permissions:
  • User.Read
  • Calendars.Read
  • Mail.Read
  • Chat.Read
  • Files.Read
  • OnlineMeetingTranscript.Read.All
  • Sites.Read.All

Tools

ms_auth_status

Check connection status. If not connected, opens browser to sign in.

ms_profile

Fetch your Microsoft 365 profile — display name, email, job title, office location.

ms_calendar

Fetch calendar events. Defaults to today.

| Parameter | Description | | --------- | -------------------------- | | date | Specific date (YYYY-MM-DD) | | start | Start of range (ISO 8601) | | end | End of range (ISO 8601) |

ms_mail

Read recent emails with optional keyword search.

| Parameter | Description | | --------- | ----------------------------------- | | search | Keyword to filter emails | | count | Number of emails (1-25, default 10) |

ms_chat

Read Teams chats. Without chat_id lists recent chats; with chat_id returns messages from that thread.

| Parameter | Description | | --------- | ---------------------------------- | | chat_id | Specific chat thread ID | | count | Number of items (1-25, default 10) |

ms_files

Browse or search OneDrive files.

| Parameter | Description | | --------- | -------------------------------- | | path | Folder path (e.g., /Documents) | | search | Search across OneDrive | | count | Max items (1-50, default 20) |

ms_transcripts

Fetch Teams meeting transcripts. Returns previews (~3000 chars) with a transcript_id for drill-down to the full transcript.

| Parameter | Description | | --------------- | --------------------------------------------- | | date | Date (YYYY-MM-DD) | | start | Start of range (ISO 8601) | | end | End of range (ISO 8601) | | transcript_id | ID from a previous list call for full content |

Development

git clone https://github.com/StuMason/m365-mcp.git
cd m365-mcp
npm install
npm run build
npm test

Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for details.

License

[MIT](LICENSE) - Stu Mason

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.