Office 365 Email MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| O365_SENDER | No | Default sender mailbox (overridable per call) | |
| O365_CLIENT_ID | Yes | Application (client) ID | |
| O365_TENANT_ID | Yes | Directory (tenant) ID | |
| O365_CLIENT_SECRET | Yes | Client secret value |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| office365_send_emailA | Send an email through Microsoft 365 via the Microsoft Graph API. Uses the app-only (client-credentials) OAuth2 flow, so no user is signed in;
mail is sent from the mailbox given by Args: params (SendEmailInput): Validated parameters containing: - to (list[str]): Primary recipient addresses (required). - subject (str): Subject line (required). - body (str): Body content, plain text or HTML (required). - is_html (bool): Treat body as HTML when true (default False). - cc (Optional[list[str]]): CC recipients. - bcc (Optional[list[str]]): BCC recipients. - sender (Optional[str]): From mailbox; overrides O365_SENDER. - attachments (Optional[list[str]]): Local file paths (<~3 MB total). - save_to_sent_items (bool): Keep a Sent Items copy (default True). Returns: str: A human-readable confirmation, e.g. "Email sent from finance@contoso.com to 2 recipient(s): 'Subject'." On failure, a string beginning with "Error: " describing the problem and how to fix it (auth, permissions, mailbox, rate limits, etc.). Examples: - "Email the Q3 report to alice@contoso.com" -> to=['alice@contoso.com'], subject='Q3 report', body='...', attachments=['/path/q3.pdf']. - Don't use to read or search mail; this tool only sends. |
| office365_test_connectionA | Verify OAuth2 configuration by acquiring an app-only Graph token. Performs no email send and reads no data. It only checks that the O365_TENANT_ID / O365_CLIENT_ID / O365_CLIENT_SECRET environment variables are present and valid enough to obtain an access token from Microsoft Entra ID. Use this first when diagnosing setup problems. Returns: str: "OK: ..." on success (token acquired), including whether a default O365_SENDER is configured; otherwise a string beginning with "Error: " explaining what is misconfigured. |
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
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/cybrlou/office365-email-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server