About microsoft365-mcp-server
microsoft365-mcp-server is a delegated Microsoft Graph gateway for organizations using Microsoft 365. It provides more than 40 tools across common services, while a companion app-only server supports headless deployments.
Key features
- 0140+ Microsoft Graph tools
- 02Mail, calendar, and contacts access
- 03Files and Teams access
- 04Planner, OneNote, and To Do access
- 05Delegated OAuth authentication
Use cases
- 01Working with Microsoft 365 mail and calendars
- 02Accessing Teams files and contacts
- 03Using Planner and To Do through Graph
MCP support
The project provides Microsoft Graph MCP servers. `microsoft365-mcp-server` exposes delegated Microsoft 365 operations, while the companion `microsoft-mcp-server` provides app-only tools for headless deployments.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y microsoft365-mcp-serverMS365_CLIENT_IDAzure AD application (client) ID. Every mode except client-token needs it.MS365_TENANT_IDAzure AD tenant ID, or 'common'/'organizations'/'consumers'. Read by certificate, client-secret and oauth-proxy modes.MS365_CLIENT_SECRETSecretAzure AD client secret (client-secret mode).MS365_CERT_PATHPath to the certificate used by certificate mode.MS365_CERT_PASSWORDSecretPassword for the certificate at MS365_CERT_PATH, if it has one.MS365_ACCESS_TOKENSecretA Graph access token supplied directly (client-token mode).MS365_AUTH_MODESecretAuth mode: interactive (default), certificate, client-secret, client-token or oauth-proxy.MS365_OAUTH_BASE_URLSecretBase URL of the OAuth proxy (oauth-proxy mode).MS365_READ_ONLYSet to 'true' to expose read-only tools and refuse every write.MS365_ENABLED_TOOLSCase-insensitive regular expression matched against tool names; only matching tools are registered. Not a comma-separated list.MS365_PRESETSComma-separated tool presets to enable instead of naming tools individually.MS365_ORG_MODESet to 'true' for organisation-wide (application-permission) behaviour.TRANSPORT_TYPETransport: 'stdio' (the default, and what this npm package is listed as) or 'httpStream' for remote/Docker deployments.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmicrosoft365-mcp monorepo
pnpm workspace for the Microsoft Graph MCP servers. Descends from the archived
sapientsai/microsoft-mcp-server — split into
two focused servers over a shared core. The app-only server keeps the original
microsoft-mcp-server name; the delegated server is microsoft365-mcp-server.
Packages
packages/microsoft365—microsoft365-mcp-server, the delegated (OAuth-proxy) MS365 gateway: 40+ tools across mail, calendar, contacts, files, Teams, Planner, OneNote, To Do, and more via Microsoft Graph. Published to npm. See its README and the monorepo DEPLOYMENT.md.packages/graph—microsoft-mcp-server(the original name), a lean app-only (client_credentials) server purpose-built for headless document-RAG:microsoft_graphpassthrough +microsoft_graph_batch+read_document+sharepoint_search+ optionalazure_ai_search+ a/uploadrelay. Ships as a Docker image atghcr.io/sapientsai/microsoft-mcp-server. See its README.packages/core—@sapientsai/ms-graph-core, the shared plumbing (upload helpers, ticket tokens, OData/pagination, error and auth-strategy types) used by both servers. Internal workspace package, not published.
Pick by auth model: use packages/microsoft365 when a user is present to consent (interactive
OAuth); use packages/graph for tenant-wide, headless, app-only deployments.
Development
pnpm install
pnpm validate # format + lint + test + build across all packages
pnpm build # build all packages
pnpm test # test all packages
Per-package commands run inside the package dir, e.g.:
pnpm --filter microsoft365-mcp-server build
pnpm --filter microsoft-mcp-server dev
History
Design context for the split lives in
SAI_PLAN_ms-graph-monorepo_2026-06-20.md.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.