Microsoft 365 via Graph โ mail, calendar, contacts, files, Teams, Planner, OneNote, To Do.
Connect Runs on your machine
claude mcp add microsoft365-mcp-server -e MS365_CLIENT_ID=<MS365_CLIENT_ID> -e MS365_TENANT_ID=<MS365_TENANT_ID> -e MS365_CLIENT_SECRET=<MS365_CLIENT_SECRET> -e MS365_CERT_PATH=<MS365_CERT_PATH> -e MS365_CERT_PASSWORD=<MS365_CERT_PASSWORD> -e MS365_ACCESS_TOKEN=<MS365_ACCESS_TOKEN> -e MS365_AUTH_MODE=<MS365_AUTH_MODE> -e MS365_OAUTH_BASE_URL=<MS365_OAUTH_BASE_URL> -e MS365_READ_ONLY=<MS365_READ_ONLY> -e MS365_ENABLED_TOOLS=<MS365_ENABLED_TOOLS> -e MS365_PRESETS=<MS365_PRESETS> -e MS365_ORG_MODE=<MS365_ORG_MODE> -e TRANSPORT_TYPE=<TRANSPORT_TYPE> -- npx -y [email protected]
{
"mcpServers": {
"microsoft365-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MS365_CLIENT_ID": "<MS365_CLIENT_ID>",
"MS365_TENANT_ID": "<MS365_TENANT_ID>",
"MS365_CLIENT_SECRET": "<MS365_CLIENT_SECRET>",
"MS365_CERT_PATH": "<MS365_CERT_PATH>",
"MS365_CERT_PASSWORD": "<MS365_CERT_PASSWORD>",
"MS365_ACCESS_TOKEN": "<MS365_ACCESS_TOKEN>",
"MS365_AUTH_MODE": "<MS365_AUTH_MODE>",
"MS365_OAUTH_BASE_URL": "<MS365_OAUTH_BASE_URL>",
"MS365_READ_ONLY": "<MS365_READ_ONLY>",
"MS365_ENABLED_TOOLS": "<MS365_ENABLED_TOOLS>",
"MS365_PRESETS": "<MS365_PRESETS>",
"MS365_ORG_MODE": "<MS365_ORG_MODE>",
"TRANSPORT_TYPE": "<TRANSPORT_TYPE>"
}
}
}
}
{
"mcpServers": {
"microsoft365-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MS365_CLIENT_ID": "<MS365_CLIENT_ID>",
"MS365_TENANT_ID": "<MS365_TENANT_ID>",
"MS365_CLIENT_SECRET": "<MS365_CLIENT_SECRET>",
"MS365_CERT_PATH": "<MS365_CERT_PATH>",
"MS365_CERT_PASSWORD": "<MS365_CERT_PASSWORD>",
"MS365_ACCESS_TOKEN": "<MS365_ACCESS_TOKEN>",
"MS365_AUTH_MODE": "<MS365_AUTH_MODE>",
"MS365_OAUTH_BASE_URL": "<MS365_OAUTH_BASE_URL>",
"MS365_READ_ONLY": "<MS365_READ_ONLY>",
"MS365_ENABLED_TOOLS": "<MS365_ENABLED_TOOLS>",
"MS365_PRESETS": "<MS365_PRESETS>",
"MS365_ORG_MODE": "<MS365_ORG_MODE>",
"TRANSPORT_TYPE": "<TRANSPORT_TYPE>"
}
}
}
}
{
"servers": {
"microsoft365-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"MS365_CLIENT_ID": "<MS365_CLIENT_ID>",
"MS365_TENANT_ID": "<MS365_TENANT_ID>",
"MS365_CLIENT_SECRET": "<MS365_CLIENT_SECRET>",
"MS365_CERT_PATH": "<MS365_CERT_PATH>",
"MS365_CERT_PASSWORD": "<MS365_CERT_PASSWORD>",
"MS365_ACCESS_TOKEN": "<MS365_ACCESS_TOKEN>",
"MS365_AUTH_MODE": "<MS365_AUTH_MODE>",
"MS365_OAUTH_BASE_URL": "<MS365_OAUTH_BASE_URL>",
"MS365_READ_ONLY": "<MS365_READ_ONLY>",
"MS365_ENABLED_TOOLS": "<MS365_ENABLED_TOOLS>",
"MS365_PRESETS": "<MS365_PRESETS>",
"MS365_ORG_MODE": "<MS365_ORG_MODE>",
"TRANSPORT_TYPE": "<TRANSPORT_TYPE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
MS365_CLIENT_IDRequired | Azure AD application (client) ID. Every mode except client-token needs it. |
MS365_TENANT_IDOptional | Azure AD tenant ID, or 'common'/'organizations'/'consumers'. Read by certificate, client-secret and oauth-proxy modes. |
MS365_CLIENT_SECRETOptional, secret | Azure AD client secret (client-secret mode). |
MS365_CERT_PATHOptional | Path to the certificate used by certificate mode. |
MS365_CERT_PASSWORDOptional, secret | Password for the certificate at MS365_CERT_PATH, if it has one. |
MS365_ACCESS_TOKENOptional, secret | A Graph access token supplied directly (client-token mode). |
MS365_AUTH_MODEOptional | Auth mode: interactive (default), certificate, client-secret, client-token or oauth-proxy. |
MS365_OAUTH_BASE_URLOptional | Base URL of the OAuth proxy (oauth-proxy mode). |
MS365_READ_ONLYOptional | Set to 'true' to expose read-only tools and refuse every write. |
MS365_ENABLED_TOOLSOptional | Case-insensitive regular expression matched against tool names; only matching tools are registered. Not a comma-separated list. |
MS365_PRESETSOptional | Comma-separated tool presets to enable instead of naming tools individually. |
MS365_ORG_MODEOptional | Set to 'true' for organisation-wide (application-permission) behaviour. |
TRANSPORT_TYPEOptional | Transport: 'stdio' (the default, and what this npm package is listed as) or 'httpStream' for remote/Docker deployments. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 8 Nov 2026 |
| Last updated | 8 Nov 2026 |
| Registry name | io.github.sapientsai/microsoft365-mcp-server |
More communication servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
