Microsoft 365 MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SILENT | No | Set to 'true' or '1' to disable console output. | false |
| LOG_LEVEL | No | Set logging level (default: 'info'). | info |
| READ_ONLY | No | Set to 'true' or '1' to start server in read-only mode, disabling write operations. | false |
| ENABLED_TOOLS | No | Regex pattern to filter tools (alternative to --enabled-tools flag). | |
| MS365_MCP_MAX_TOP | No | Hard cap for Graph $top / top on list requests (positive integer). | |
| MS365_MCP_ORG_MODE | No | Set to 'true' or '1' to enable organization/work mode from start (includes Teams, SharePoint, etc.). | false |
| MS365_MCP_CLIENT_ID | No | Custom Azure app client ID (defaults to built-in app). | |
| MS365_MCP_MAX_ITEMS | No | Maximum number of items accumulated when fetchAllPages is true (positive integer, default 10000). | 10000 |
| MS365_MCP_MAX_PAGES | No | Maximum number of pages followed when fetchAllPages is true (positive integer, default 100). | 100 |
| MS365_MCP_TENANT_ID | No | Custom tenant ID (defaults to 'common' for multi-tenant). Personal accounts should set to 'consumers'. | common |
| MS365_MCP_CLOUD_TYPE | No | Microsoft cloud environment: 'global' or 'china' (21Vianet). | global |
| MS365_MCP_REDACT_PII | No | Set to 'true' or '1' to scrub PII from log messages. | false |
| MS365_MCP_BODY_FORMAT | No | Set to 'html' to return email bodies as HTML instead of plain text. | text |
| MS365_MCP_OAUTH_TOKEN | No | Pre-existing OAuth token for Microsoft Graph API (BYOT method). | |
| MS365_MCP_EXTRA_SCOPES | No | Append additional Graph scopes to the token request. | |
| MS365_MCP_KEYVAULT_URL | No | Azure Key Vault URL for secrets management. | |
| MS365_MCP_CLIENT_SECRET | No | Azure app client secret (optional for public apps). | |
| MS365_MCP_OUTPUT_FORMAT | No | Set to 'toon' to enable experimental TOON output format for token reduction. | json |
| MS365_MCP_ALLOWED_SCOPES | No | Limit exposed tools to Graph scopes covered by this allowlist. | |
| MS365_MCP_ALLOW_PAGINATION | No | Set to '0', 'false', or 'no' to disable multi-page following entirely. | true |
| MS365_MCP_TOKEN_CACHE_PATH | No | Custom file path for MSAL token cache. | |
| MS365_MCP_TRUST_PROXY_HOPS | No | Number of trusted reverse-proxy hops in HTTP mode (default 1). | 1 |
| MS365_MCP_EXPECTED_USERNAME | No | Require local MSAL auth to use this Microsoft account username (case-insensitive). | |
| MS365_MCP_FORCE_WORK_SCOPES | No | Backwards compatibility alias for MS365_MCP_ORG_MODE (deprecated). | false |
| MS365_MCP_AUTH_CACHE_COMMAND | No | External executable wrapper for provider-neutral auth-cache storage. | |
| MS365_MCP_RATE_LIMIT_DISABLED | No | Set to 'true' or '1' to disable per-IP rate limiting in HTTP mode. | false |
| MS365_MCP_SELECTED_ACCOUNT_PATH | No | Custom file path for selected account metadata. | |
| MS365_MCP_EXPECTED_HOME_ACCOUNT_ID | No | Require local MSAL auth to use this exact MSAL homeAccountId. | |
| MS365_MCP_AUTH_CACHE_COMMAND_TIMEOUT_MS | No | Per-invocation timeout for MS365_MCP_AUTH_CACHE_COMMAND (default: 10000). | 10000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/IDEAtells-B-V-Software/hermes-ms365-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server