Read and manage Outlook mail, calendar, contacts, tasks, and OneDrive files from a CLI or MCP server.
Integrations
m365-mcp
Try itProduction-grade Microsoft 365 MCP server with delegated OAuth, multi-account support, pagination, rate limiting, and 46 tools covering email, calendar, contacts, OneDrive, Teams, tasks, and users.
What it does
Production-grade Microsoft 365 MCP server with delegated OAuth, multi-account support, pagination, rate limiting, and 46 tools covering email, calendar, contacts, OneDrive, Teams, tasks, and users.
The skill document
m365-mcp
Production-grade Microsoft 365 MCP server combining the best of office365-connector (delegated OAuth, multi-account) and mcp-microsoft365 (MCP protocol, full scope), with production-ready features: pagination, rate limiting, retry logic, and full TypeScript.
Requirements
- Node.js 18+
- Azure Entra ID App Registration with delegated Microsoft Graph permissions
- Device code OAuth (no client-credentials, no tenant-wide access)
Capabilities
Email (9 tools)
- List, read, send, reply, search, move, delete, mark read/unread, list folders
Calendar (7 tools)
- List events, today view, week view, create (with Teams meeting), update, delete, free/busy
Contacts (12 tools)
- Rich contact CRUD, exact category assignment and any/all filtering, category enumeration, folder-scoped contacts, contact-folder CRUD, and relevance-ranked People API recipient search across mailbox and optional directory sources. People results support fuzzy search, identity-type filters, relevance scores, and optional profile details. Private Outlook Contact Lists and their membership are not exposed by Microsoft Graph.
OneDrive (5 tools)
- List files, search, read content, metadata, create folders
Teams (3 tools)
- List chats, read messages, send messages
Tasks (5 tools)
- List lists, list tasks, create, update, delete
Users (3 tools)
- List org users, profile lookup, manager lookup
Security and consent
- The server contacts only Microsoft's OAuth and Graph services:
login.microsoftonline.comandgraph.microsoft.com. - Device-code OAuth grants delegated access as the signed-in user. Read tools can expose private mail, files, calendars, contacts, Teams chats, tasks, and user data.
- Send, reply, move, create, update, and delete tools change real Microsoft 365 data. Configure the MCP client to require explicit user approval for those tools.
- Tools publish standard MCP read-only, destructive, idempotent, and open-world annotations so compatible clients can apply confirmation policies.
- Set
M365_MCP_READ_ONLY=truefor an enforced least-privilege mode. It requests read-only OAuth scopes, omits mutating tools from discovery, and rejects direct calls to them. - Refresh and access tokens are stored as plaintext JSON under
~/.m365-mcp/auth/(orM365_MCP_AUTH_DIR), protected with directory mode0700and file mode0600where supported. Protect that directory and revoke the app's Microsoft account consent if a token or device is compromised.
Setup
ClawHub installs the prebuilt npm package automatically. For a manual install:
npm install --global @sam2kb/m365-mcp
# Add account
m365-mcp-auth add work you@company.com
# Authenticate
m365-mcp-auth login --account=work
Then configure m365-mcp as a stdio MCP server in your client.
See the project README for the full Azure setup guide.
Related skills
MCP server giving AI agents full Microsoft Graph access to a personal Outlook.com / Hotmail / Live account.
Read and write the signed-in user's Microsoft 365 / Outlook.com personal contacts via Microsoft Graph. No mail, no files, no directory access. Use when the user wants to list/search Outlook.com contacts, find phone numbers, or look up email addresses. Trigger keywords: "outlook contacts", "ms contacts", "graph contacts", "我的联系人", "查联系人", "outlook 联系人".
Connect an OpenClaw agent to personal Microsoft accounts via Graph API to read and manage Outlook mail, calendar, and To Do tasks.
Install, connect, and troubleshoot Mermail MCP
Read and write the signed-in user's Microsoft 365 / Outlook.com personal calendar via Microsoft Graph. Calendar API surface only — but note: this skill shares one device-code login with the outlook-contacts and outlook-todo skills, so the shared consent also grants their Calendars/Tasks/Contacts read-write scopes (fully disclosed in the Scope table below). Use when the user wants to list today's events, look at next week, create / update / delete a single event by id, or check token status. Trigger keywords: "outlook calendar", "ms calendar", "graph calendar", "我的 outlook 日历", "微软日历".