← Back to directory
M

M365 Assistant MCP Server

Community
MCP server connecting Claude to Microsoft 365
GitHub source repository ↗
★ 433 Stars Category · Collaboration Popular Source revision 95d6ff2d2489
42FMRS · D
Reliability
5/20
Security and permissions
9/20
Maintenance
4/20
Documentation
13/20
Setup experience
11/20

This server is feature-rich, covering Outlook, OneDrive, and Power Automate, but setup is complex, requiring Azure AD registration and broad permissions. Suitable for developers familiar with Azure, but security configuration should be considered.

Read the FMRS scoring method →

The M365 Assistant MCP Server is a Model Context Protocol (MCP) server that connects Claude with Microsoft 365 services through the Microsoft Graph API and Power Automate API. It supports Outlook email, calendar, folders, and rules; OneDrive file operations; and Power Automate flow control. Features OAuth 2.0 authentication, test mode, and modular design.

Tools

list-emails
List recent emails from inbox
search-emails
Search emails with filters
read-email
Read email content
send-email
Send a new email
mark-as-read
Mark email as read/unread
list-events
List calendar events
create-event
Create calendar event
accept-event
Accept event invitation
decline-event
Decline event invitation
delete-event
Delete calendar event
list-folders
List mail folders
create-folder
Create mail folder
move-emails
Move emails between folders
list-rules
List inbox rules
create-rule
Create inbox rule
onedrive-list
List files in a path
onedrive-search
Search files by query
onedrive-download
Get download URL
onedrive-upload
Upload small file (<4MB)
onedrive-upload-large
Chunked upload (>4MB)
onedrive-share
Create sharing link
onedrive-create-folder
Create folder
onedrive-delete
Delete file or folder
flow-list-environments
List Power Platform environments
flow-list
List flows in environment
flow-run
Trigger a manual flow
flow-list-runs
Get flow run history
flow-toggle
Enable/disable a flow

Setup

  1. Clone the repository and install dependencies: npm install. 2. Register an app in Azure Portal (set redirect URI to http://localhost:3333/auth/callback). 3. Add required API permissions (Mail.Read, Mail.Send, Calendars.ReadWrite, etc.). 4. Copy .env.example to .env and fill in Azure credentials. 5. Update Claude Desktop config to point to index.js. 6. Run npm run auth-server and use the authenticate tool to complete OAuth. 7. Optional: configure Power Automate additional permissions.
claude_desktop_config.json
{
  "mcpServers": {
    "m365-assistant": {
      "command": "node",
      "args": [
        "/path/to/outlook-mcp/index.js"
      ],
      "env": {
        "USE_TEST_MODE": "false",
        "OUTLOOK_CLIENT_ID": "your-client-id",
        "OUTLOOK_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Fit and risk

Best for

  • Developers needing integration between Microsoft 365 and AI assistants
  • Individuals wanting natural language control of Outlook and OneDrive
  • Teams automating email and calendar management

Not for

  • Organizations with strict security requirements against third-party servers
  • Users needing deep integration with Microsoft Teams or SharePoint (not supported)
  • Beginners wanting a plug-and-play solution without Azure configuration

Required permissions

  • Microsoft Graph delegated permissions: offline_access, User.Read, Mail.ReadWrite, Mail.Send, Calendars.ReadWrite, Files.ReadWrite
  • Power Automate API scope (optional): https://service.flow.microsoft.com//.default
  • Local file system: tokens stored in ~/.outlook-mcp-tokens.json

Risks and side effects

  • OAuth tokens stored in plaintext locally, risk of exposure
  • Azure app registration required, misconfiguration can break service
  • Power Automate integration limited to solution-aware flows with manual triggers
  • Third-party server may introduce supply chain risk

Troubleshooting

  1. Module errors: run `npm install`
  2. Port 3333 in use: `npx kill-port 3333` and restart
  3. Invalid client secret: use the secret VALUE, not the Secret ID
  4. Authentication required: delete `~/.outlook-mcp-tokens.json` and re-authenticate

Use cases

Manage Outlook emails and calendar via natural language
Search, upload, and share files in OneDrive
Trigger and monitor Power Automate flows from Claude

Supported clients

Claude DesktopFull support