create_email_draftCreate a new, standalone draft email that can be edited and sent later. Use this only for starting a fresh message — to draft a reply within an existing conversation thread, use create_reply_draft instead.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"to": {
"type": "array",
"items": {
"type": "string",
"description": "Email address"
},
"description": "Recipient email addresses"
},
"subject": {
"type": "string",
"description": "Email subject"
},
"body": {
"type": "string",
"description": "Email body"
},
"body_type": {
"description": "Body content type. Defaults to text.",
"type": "string",
"enum": [
"text",
"html"
]
},
"cc": {
"description": "CC recipients",
"type": "array",
"items": {
"type": "string",
"description": "Email address"
}
},
"bcc": {
"description": "BCC recipients",
"type": "array",
"items": {
"type": "string",
"description": "Email address"
}
},
"attachments": {
"description": "File attachments",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Filename"
},
"contentType": {
"type": "string",
"description": "MIME type, e.g. 'application/pdf'"
},
"contentBytes": {
"type": "string",
"description": "Base64-encoded file content"
}
},
"required": [
"name",
"contentType",
"contentBytes"
]
}
}
},
"required": [
"to",
"subject",
"body"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
create_reply_draftDraft a reply to an existing email, kept inside the original conversation thread. Produces an editable draft (in Drafts) that inherits the conversation, the 'RE:' subject, threading headers, and quoted history — review and send it later with send_email or via Outlook. Use this instead of create_email_draft whenever responding to a message.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID being replied to"
},
"body": {
"type": "string",
"description": "Your reply text, inserted above the quoted original message"
},
"reply_all": {
"description": "Reply to all recipients of the original (sender + to + cc) instead of just the sender. Defaults to false.",
"type": "boolean"
},
"cc": {
"description": "Additional CC recipients to add to the reply",
"type": "array",
"items": {
"type": "string",
"description": "Email address"
}
}
},
"required": [
"email_id",
"body"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
delete_emailPermanently delete an email message.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID to delete"
}
},
"required": [
"email_id"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
get_attachmentGet an email attachment's content (returned as base64 in contentBytes).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID"
},
"attachment_id": {
"type": "string",
"description": "Attachment ID"
}
},
"required": [
"email_id",
"attachment_id"
]
}Annotations{
"readOnlyHint": true,
"destructiveHint": false
} | — | Read onlyNon-destructive | — |
get_emailGet a single email message by ID with full body and headers.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID"
},
"include_body": {
"description": "Include message body. Defaults to true.",
"type": "boolean"
},
"body_max_length": {
"description": "Max characters of body content to return. Defaults to 50000.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"include_attachments": {
"description": "Include attachment metadata. Defaults to true.",
"type": "boolean"
}
},
"required": [
"email_id"
]
}Annotations{
"readOnlyHint": true,
"destructiveHint": false
} | — | Read onlyNon-destructive | — |
list_emailsList emails from a mailbox folder ordered by date descending.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"folder": {
"description": "Folder name: inbox, sent, drafts, deleted, junk, archive, or a folder ID. Defaults to inbox.",
"type": "string"
},
"limit": {
"description": "Number of messages to return (1–100). Defaults to 10.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"include_body": {
"description": "Include message body. Defaults to true.",
"type": "boolean"
}
}
}Annotations{
"readOnlyHint": true,
"destructiveHint": false
} | — | Read onlyNon-destructive | — |
meGet the signed-in user's profile (id, displayName, mail).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"readOnlyHint": true,
"destructiveHint": false
} | — | Read onlyNon-destructive | — |
move_emailMove an email to a different folder.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID to move"
},
"destination_folder": {
"type": "string",
"description": "Destination folder name (inbox, sent, drafts, deleted, junk, archive) or folder ID"
}
},
"required": [
"email_id",
"destination_folder"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
reply_all_emailReply to all recipients of an email.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID to reply-all to"
},
"body": {
"type": "string",
"description": "Reply body"
},
"body_type": {
"description": "Body content type. Defaults to text.",
"type": "string",
"enum": [
"text",
"html"
]
}
},
"required": [
"email_id",
"body"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
reply_to_emailReply to an email (sender only).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID to reply to"
},
"body": {
"type": "string",
"description": "Reply body"
},
"body_type": {
"description": "Body content type. Defaults to text.",
"type": "string",
"enum": [
"text",
"html"
]
}
},
"required": [
"email_id",
"body"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
search_emailsSearch emails by keyword across all folders or within a specific folder (KQL syntax supported).Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query string"
},
"limit": {
"description": "Max results. Defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"folder": {
"description": "Limit search to this folder (inbox, sent, etc.)",
"type": "string"
}
},
"required": [
"query"
]
}Annotations{
"readOnlyHint": true,
"destructiveHint": false
} | — | Read onlyNon-destructive | — |
send_emailSend an email immediately.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"to": {
"type": "array",
"items": {
"type": "string",
"description": "Email address"
},
"description": "Recipient email addresses"
},
"subject": {
"type": "string",
"description": "Email subject"
},
"body": {
"type": "string",
"description": "Email body"
},
"body_type": {
"description": "Body content type. Defaults to text.",
"type": "string",
"enum": [
"text",
"html"
]
},
"cc": {
"description": "CC recipients",
"type": "array",
"items": {
"type": "string",
"description": "Email address"
}
},
"bcc": {
"description": "BCC recipients",
"type": "array",
"items": {
"type": "string",
"description": "Email address"
}
},
"attachments": {
"description": "File attachments",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Filename"
},
"contentType": {
"type": "string",
"description": "MIME type, e.g. 'application/pdf'"
},
"contentBytes": {
"type": "string",
"description": "Base64-encoded file content"
}
},
"required": [
"name",
"contentType",
"contentBytes"
]
}
}
},
"required": [
"to",
"subject",
"body"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |
unified_searchSearch across multiple Microsoft 365 content types (email, calendar events, files) in one query.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query string"
},
"entity_types": {
"description": "Entity types to search. Defaults to [message, event, driveItem].",
"type": "array",
"items": {
"type": "string",
"enum": [
"message",
"event",
"driveItem",
"site",
"listItem"
]
}
},
"limit": {
"description": "Max total results. Defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"query"
]
}Annotations{
"readOnlyHint": true,
"destructiveHint": false
} | — | Read onlyNon-destructive | — |
update_emailUpdate email properties such as read status, categories, or flag.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email_id": {
"type": "string",
"description": "Message ID to update"
},
"updates": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Properties to update, e.g. {\"isRead\": true, \"categories\": [\"work\"]}"
}
},
"required": [
"email_id",
"updates"
]
}Annotations{
"readOnlyHint": false,
"destructiveHint": true
} | — | WritesDestructive | — |