A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases
js-yaml has prototype pollution in merge (<<)
process.env. You'll be asked to provide them before it can run.ENABLED_TOOLS— Filter tools using a regex pattern (alternative to --enabled-tools flag)LOG_LEVEL— Set logging level (default: 'info')MS365_MCP_ALLOWED_REDIRECT_URISMS365_MCP_ALLOWED_SCOPESMS365_MCP_ALLOW_PAGINATIONMS365_MCP_ALLOW_UNAUTHENTICATED_DISCOVERYMS365_MCP_AUDIT_LOGMS365_MCP_BASE_URLMS365_MCP_BODY_FORMAT— html: Return email bodies as HTML instead of plain text (default: text)MS365_MCP_CLIENT_ID— your-azure-ad-app-client-id-hereMS365_MCP_CLIENT_SECRET— your-secret-here # Optional for public appsMS365_MCP_CLOUD_TYPE— globalchina: Microsoft cloud environment (alternative to --cloud flag)MS365_MCP_CORS_ORIGINMS365_MCP_EXPECTED_HOME_ACCOUNT_ID— CLI values (--expected-username, --expected-home-account-id) take precedence over MS365_MCP_EXPECTED_USERNAME and .MS365_MCP_EXPECTED_USERNAME— work@company.com npx @softeria/ms-365-mcp-server --loginMS365_MCP_EXTRA_SCOPESMS365_MCP_FORCE_WORK_SCOPES— true1: Backwards compatibility for MS365_MCP_ORG_MODEMS365_MCP_GRAPH_CIRCUIT_DISABLEDMS365_MCP_KEYVAULT_URL— Azure Key Vault URL for secrets management (see Azure Key Vault section)MS365_MCP_LOG_DIRMS365_MCP_MAX_TOP— n>: Hard cap for Graph $top / top on list requests (positive integer). When the model passes a larger value, the server clamps it to n so responses stay smaller. Example: MS365_MCP_MAX_TOP=15MS365_MCP_OAUTH_TOKEN— your_oauth_token npx @softeria/ms-365-mcp-serverMS365_MCP_OBOMS365_MCP_ORG_MODE— true1: Enable organization/work mode (alternative to --org-mode flag)MS365_MCP_OUTPUT_FORMAT— toon npx @softeria/ms-365-mcp-serverMS365_MCP_PUBLIC_URLMS365_MCP_RATE_LIMIT_DISABLED— true1: Disable per-IP rate limiting in HTTP mode (default: enabled — 30 req/min on /authorize, /token, /register; 120 req/min on /mcp)MS365_MCP_REDACT_PIIMS365_MCP_SELECTED_ACCOUNT_PATH— Custom file path for selected account metadata (see Token Storage below)MS365_MCP_TENANT_ID— ms365-mcp-tenant-id No (defaults to 'common')MS365_MCP_TOKEN_CACHE_PATH— Custom file path for MSAL token cache (see Token Storage below)MS365_MCP_TRUST_PROXY_AUTHMS365_MCP_TRUST_PROXY_HOPSREAD_ONLY— true1: Alternative to --read-only flagSILENT— true1: Disable console outputVITEST[](https://m8ven.ai/mcp/softeria-ms-365-mcp-server-1m9te5)