Retrieve and manage Outlook email messages and folders. Search, filter, and read message details using Microsoft Graph.
Instructions
Mail operations for Microsoft Outlook via Microsoft Graph. By default only read verbs are registered. Additional read verbs (get_conversation, list_attachments, get_attachment) are registered when MailEnabled is configured, and write verbs (create_draft, create_reply_draft, create_forward_draft, update_draft, delete_draft) are registered when MailManageEnabled is configured. The verbs listed below are those active in the current configuration.
Set the required operation parameter to one of the verbs below. Each line names the verb, what it does, and the parameters that verb requires. Optional parameters are omitted here; call operation="help" for the full parameter reference.
help: show detailed documentation for all verbs or a single named verb. No required parameters.list_folders: list mail folders (Inbox, Sent, Drafts, etc.) with unread and total counts. No required parameters.list_messages: list messages in a folder or across all folders; filter by date, sender, thread. No required parameters.get_message: get full message details by ID; bodyPreview by default, full body via output=raw. Requires: message_id.search_messages: full-text KQL search across messages; ranked by relevance, not chronologically. Requires: query.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Sender email address to filter by (e.g. alice@contoso.com). | |
| query | No | KQL search string (e.g. subject:"Design Review" from:alice@contoso.com). | |
| output | No | Output mode: 'text' (default), 'summary', or 'raw'. | |
| account | No | Account label or UPN to use. Omit to auto-select the default account. | |
| is_read | No | Filter by read/unread state. Omit to include both. | |
| is_draft | No | Filter by draft state. Omit to include both. | |
| timezone | No | IANA timezone name for the Prefer: outlook.timezone header. | |
| folder_id | No | Mail folder ID to list messages from. Omit to list from all folders. | |
| operation | Yes | The operation to perform. Call with operation="help" for full documentation. | |
| importance | No | Filter by message importance. | |
| message_id | No | The unique identifier of the message to retrieve. | |
| provenance | No | Filter to messages created by this MCP server (requires provenance tagging). | |
| flag_status | No | Filter by follow-up flag status. | |
| max_results | No | Maximum number of folders to return (default 25). | |
| end_datetime | No | End of date range (ISO 8601). Filters by receivedDateTime <=. | |
| start_datetime | No | Start of date range (ISO 8601, e.g. 2026-03-12T00:00:00Z). Filters by receivedDateTime >=. | |
| conversation_id | No | Conversation ID to retrieve all messages in a thread. | |
| has_attachments | No | Filter by attachment presence. Omit to include both. |