Skip to main content
Glama
Microsoft 365 MCP Server

Microsoft 365 MCP Server

by Softeria

update-mail-folder

update-mail-folder
Destructive

Update a mail folder's properties, including renaming it via displayName, by providing the folder ID and new values.

Instructions

Update the properties of mailfolder object.

šŸ’” TIP: Renames a mail folder by updating its displayName. Use list-mail-folders to find the folder ID.

Input Schema

NameRequiredDescriptionDefault
bodyYes
confirmNoFor destructive operations when the confirm gate is enabled (MS365_MCP_REQUIRE_CONFIRM=true; off by default). Set to true only after the user has explicitly approved this action. When the gate is on, calls without confirm: true return { error: "confirmation_required" } without touching user data.
mailFolderIdYesValue for the 'mailFolderId' path segment. Pass it under the name 'mailFolderId', not as 'id'. Use the 'id' field of the mail folder object as returned by Microsoft Graph.
includeHeadersNoInclude response headers (including ETag) in the response metadata
excludeResponseNoExclude the full response body and only return success or failure indication

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed168 schema fields changedv0.176.1
    • removedInput schema / $defs / def0 / properties / childFolderCount / description
      Removed value: -"The number of immediate child mailFolders in the current mailFolder."
    • changedInput schema / $defs / def0 / properties / messages / items / $ref
      Previous value: -"#/$defs/def29"New value: +"#/$defs/def32"
    • changedInput schema / $defs / def0 / properties / multiValueExtendedProperties / items / $ref
      Previous value: -"#/$defs/def31"New value: +"#/$defs/def36"
    • changedInput schema / $defs / def0 / properties / singleValueExtendedProperties / items / $ref
      Previous value: -"#/$defs/def32"New value: +"#/$defs/def35"
    • removedInput schema / $defs / def0 / properties / totalItemCount / description
      Removed value: -"The number of items in the mailFolder."
    • removedInput schema / $defs / def0 / properties / unreadItemCount / description
      Removed value: -"The number of items in the mailFolder marked as unread."
    • addedInput schema / $defs / def1 / properties / actions / properties / assignCategories / items / $ref
      Added value: +"#/$defs/def12"
    • removedInput schema / $defs / def1 / properties / actions / properties / assignCategories / items / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedInput schema / $defs / def1 / properties / actions / properties / forwardAsAttachmentTo / items / $ref
      Previous value: -"#/$defs/def2"New value: +"#/$defs/def23"
    • changedInput schema / $defs / def1 / properties / actions / properties / forwardTo / items / $ref
      Previous value: -"#/$defs/def2"New value: +"#/$defs/def23"
    • changedInput schema / $defs / def1 / properties / actions / properties / markImportance / $ref
      Previous value: -"#/$defs/def3"New value: +"#/$defs/def34"
    • changedInput schema / $defs / def1 / properties / actions / properties / redirectTo / items / $ref
      Previous value: -"#/$defs/def2"New value: +"#/$defs/def23"
    • removedInput schema / $defs / def1 / properties / conditions / additionalProperties
      Removed value: -true
    • addedInput schema / $defs / def1 / properties / conditions / allOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/def31"
      +  }
      +]
    • removedInput schema / $defs / def1 / properties / conditions / properties
      Removed value: -{
      -  "bodyContains": {
      -    "$ref": "#/$defs/def4"
      -  },
      -  "bodyOrSubjectContains": {
      -    "$ref": "#/$defs/def5"
      -  },
      -  "categories": {
      -    "$ref": "#/$defs/def6"
      -  },
      -  "fromAddresses": {
      -    "$ref": "#/$defs/def7"
      -  },
      -  "hasAttachments": {
      -    "$ref": "#/$defs/def8"
      -  },
      -  "headerContains": {
      -    "$ref": "#/$defs/def9"
      -  },
      -  "importance": {
      -    "$ref": "#/$defs/def10"
      -  },
      -  "isApprovalRequest": {
      -    "$ref": "#/$defs/def11"
      -  },
      -  "isAutomaticForward": {
      -    "$ref": "#/$defs/def12"
      -  },
      -  "isAutomaticReply": {
      -    "$ref": "#/$defs/def13"
      -  },
      -  "isEncrypted": {
      -    "$ref": "#/$defs/def14"
      -  },
      -  "isMeetingRequest": {
      -    "$ref": "#/$defs/def15"
      -  },
      -  "isMeetingResponse": {
      -    "$ref": "#/$defs/def16"
      -  },
      -  "isNonDeliveryReport": {
      -    "$ref": "#/$defs/def17"
      -  },
      -  "isPermissionControlled": {
      -    "$ref": "#/$defs/def18"
      -  },
      -  "isReadReceipt": {
      -    "$ref": "#/$defs/def19"
      -  },
      -  "isSigned": {
      -    "$ref": "#/$defs/def20"
      -  },
      -  "isVoicemail": {
      -    "$ref": "#/$defs/def21"
      -  },
      -  "messageActionFlag": {
      -    "$ref": "#/$defs/def22"
      -  },
      -  "notSentToMe": {
      -    "$ref": "#/$defs/def23"
      -  },
      -  "recipientContains": {
      -    "$ref": "#/$defs/def24"
      -  },
      -  "senderContains": {
      -    "$ref": "#/$defs/def25"
      -  },
      -  "sensitivity": {
      -    "$ref": "#/$defs/def26"
      -  },
      -  "sentCcMe": {
      -    "$ref": "#/$defs/def27"
      -  },
      -  "sentOnlyToMe": {
      -    "$ref": "#/$defs/def28"
      -  }
      -}
    • removedInput schema / $defs / def1 / properties / conditions / type
      Removed value: -"object"
    • removedInput schema / $defs / def1 / properties / exceptions / additionalProperties
      Removed value: -true
    • addedInput schema / $defs / def1 / properties / exceptions / allOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/def31"
      +  }
      +]
    • removedInput schema / $defs / def1 / properties / exceptions / properties
      Removed value: -{
      -  "bodyContains": {
      -    "$ref": "#/$defs/def4"
      -  },
      -  "bodyOrSubjectContains": {
      -    "$ref": "#/$defs/def5"
      -  },
      -  "categories": {
      -    "$ref": "#/$defs/def6"
      -  },
      -  "fromAddresses": {
      -    "$ref": "#/$defs/def7"
      -  },
      -  "hasAttachments": {
      -    "$ref": "#/$defs/def8"
      -  },
      -  "headerContains": {
      -    "$ref": "#/$defs/def9"
      -  },
      -  "importance": {
      -    "$ref": "#/$defs/def10"
      -  },
      -  "isApprovalRequest": {
      -    "$ref": "#/$defs/def11"
      -  },
      -  "isAutomaticForward": {
      -    "$ref": "#/$defs/def12"
      -  },
      -  "isAutomaticReply": {
      -    "$ref": "#/$defs/def13"
      -  },
      -  "isEncrypted": {
      -    "$ref": "#/$defs/def14"
      -  },
      -  "isMeetingRequest": {
      -    "$ref": "#/$defs/def15"
      -  },
      -  "isMeetingResponse": {
      -    "$ref": "#/$defs/def16"
      -  },
      -  "isNonDeliveryReport": {
      -    "$ref": "#/$defs/def17"
      -  },
      -  "isPermissionControlled": {
      -    "$ref": "#/$defs/def18"
      -  },
      -  "isReadReceipt": {
      -    "$ref": "#/$defs/def19"
      -  },
      -  "isSigned": {
      -    "$ref": "#/$defs/def20"
      -  },
      -  "isVoicemail": {
      -    "$ref": "#/$defs/def21"
      -  },
      -  "messageActionFlag": {
      -    "$ref": "#/$defs/def22"
      -  },
      -  "notSentToMe": {
      -    "$ref": "#/$defs/def23"
      -  },
      -  "recipientContains": {
      -    "$ref": "#/$defs/def24"
      -  },
      -  "senderContains": {
      -    "$ref": "#/$defs/def25"
      -  },
      -  "sensitivity": {
      -    "$ref": "#/$defs/def26"
      -  },
      -  "sentCcMe": {
      -    "$ref": "#/$defs/def27"
      -  },
      -  "sentOnlyToMe": {
      -    "$ref": "#/$defs/def28"
      -  }
      -}
    • removedInput schema / $defs / def1 / properties / exceptions / type
      Removed value: -"object"
    • removedInput schema / $defs / def1 / properties / sequence / description
      Removed value: -"Indicates the order in which the rule is executed, among other rules."
    • removedInput schema / $defs / def10 / $ref
      Removed value: -"#/$defs/def3"
    • addedInput schema / $defs / def10 / description
      Added value: +"Indicates whether an incoming message must be automatically forwarded in order for the condition or exception to apply."
    • addedInput schema / $defs / def10 / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • changedInput schema / $defs / def11 / description
      Previous value: -"Indicates whether an incoming message must be an approval request in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be an auto reply in order for the condition or exception to apply."
    • removedInput schema / $defs / def12 / description
      Removed value: -"Indicates whether an incoming message must be automatically forwarded in order for the condition or exception to apply."
    • changedInput schema / $defs / def12 / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / $defs / def13 / description
      Previous value: -"Indicates whether an incoming message must be an auto reply in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be encrypted in order for the condition or exception to apply."
    • changedInput schema / $defs / def14 / description
      Previous value: -"Indicates whether an incoming message must be encrypted in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be a meeting request in order for the condition or exception to apply."
    • changedInput schema / $defs / def15 / description
      Previous value: -"Indicates whether an incoming message must be a meeting request in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be a meeting response in order for the condition or exception to apply."
    • changedInput schema / $defs / def16 / description
      Previous value: -"Indicates whether an incoming message must be a meeting response in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be a non-delivery report in order for the condition or exception to apply."
    • changedInput schema / $defs / def17 / description
      Previous value: -"Indicates whether an incoming message must be a non-delivery report in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be permission controlled (RMS-protected) in order for the condition or exception to apply."
    • changedInput schema / $defs / def18 / description
      Previous value: -"Indicates whether an incoming message must be permission controlled (RMS-protected) in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be a read receipt in order for the condition or exception to apply."
    • changedInput schema / $defs / def19 / description
      Previous value: -"Indicates whether an incoming message must be a read receipt in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be S/MIME-signed in order for the condition or exception to apply."
    • removedInput schema / $defs / def2 / additionalProperties
      Removed value: -true
    • removedInput schema / $defs / def2 / properties
      Removed value: -{
      -  "emailAddress": {
      -    "additionalProperties": true,
      -    "properties": {
      -      "address": {
      -        "description": "The email address of the person or entity.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "description": "The display name of the person or entity.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -}
    • changedInput schema / $defs / def2 / type
      Previous value: -"object"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / $defs / def20 / description
      Previous value: -"Indicates whether an incoming message must be S/MIME-signed in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be a voice mail in order for the condition or exception to apply."
    • removedInput schema / $defs / def21 / description
      Removed value: -"Indicates whether an incoming message must be a voice mail in order for the condition or exception to apply."
    • addedInput schema / $defs / def21 / enum
      Added value: +[
      +  "any",
      +  "call",
      +  "doNotForward",
      +  "followUp",
      +  "fyi",
      +  "forward",
      +  "noResponseNecessary",
      +  "read",
      +  "reply",
      +  "replyToAll",
      +  "review"
      +]
    • changedInput schema / $defs / def21 / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"string"
    • addedInput schema / $defs / def22 / description
      Added value: +"Indicates whether the owner of the mailbox must not be a recipient of an incoming message in order for the condition or exception to apply."
    • removedInput schema / $defs / def22 / enum
      Removed value: -[
      -  "any",
      -  "call",
      -  "doNotForward",
      -  "followUp",
      -  "fyi",
      -  "forward",
      -  "noResponseNecessary",
      -  "read",
      -  "reply",
      -  "replyToAll",
      -  "review"
      -]
    • changedInput schema / $defs / def22 / type
      Previous value: -"string"New value: +[
      +  "boolean",
      +  "null"
      +]
    • addedInput schema / $defs / def23 / additionalProperties
      Added value: +true
    • removedInput schema / $defs / def23 / description
      Removed value: -"Indicates whether the owner of the mailbox must not be a recipient of an incoming message in order for the condition or exception to apply."
    • addedInput schema / $defs / def23 / properties
      Added value: +{
      +  "emailAddress": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "address": {
      +        "description": "The email address of the person or entity.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "The display name of the person or entity.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +}
    • changedInput schema / $defs / def23 / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"object"
    • addedInput schema / $defs / def24 / items / $ref
      Added value: +"#/$defs/def25"
    • removedInput schema / $defs / def24 / items / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • removedInput schema / $defs / def25 / description
      Removed value: -"Represents the strings that appear in the from property of an incoming message in order for the condition or exception to apply."
    • removedInput schema / $defs / def25 / items
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedInput schema / $defs / def25 / type
      Previous value: -"array"New value: +[
      +  "string",
      +  "null"
      +]
    • addedInput schema / $defs / def26 / description
      Added value: +"Represents the strings that appear in the from property of an incoming message in order for the condition or exception to apply."
    • removedInput schema / $defs / def26 / enum
      Removed value: -[
      -  "normal",
      -  "personal",
      -  "private",
      -  "confidential"
      -]
    • addedInput schema / $defs / def26 / items
      Added value: +{
      +  "$ref": "#/$defs/def27"
      +}
    • changedInput schema / $defs / def26 / type
      Previous value: -"string"New value: +"array"
    • removedInput schema / $defs / def27 / description
      Removed value: -"Indicates whether the owner of the mailbox must be in the ccRecipients property of an incoming message in order for the condition or exception to apply."
    • changedInput schema / $defs / def27 / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / $defs / def28 / description
      Previous value: -"Indicates whether the owner of the mailbox must be the only recipient in an incoming message in order for the condition or exception to apply."New value: +"Indicates whether the owner of the mailbox must be in the ccRecipients property of an incoming message in order for the condition or exception to apply."
    • removedInput schema / $defs / def29 / additionalProperties
      Removed value: -true
    • addedInput schema / $defs / def29 / description
      Added value: +"Indicates whether the owner of the mailbox must be the only recipient in an incoming message in order for the condition or exception to apply."
    • removedInput schema / $defs / def29 / properties
      Removed value: -{
      -  "attachments": {
      -    "description": "The fileAttachment and itemAttachment attachments for the message.",
      -    "items": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "contentType": {
      -          "description": "The MIME type.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "id": {
      -          "description": "The unique identifier for an entity. Read-only.",
      -          "type": "string"
      -        },
      -        "isInline": {
      -          "description": "true if the attachment is an inline attachment; otherwise, false.",
      -          "type": "boolean"
      -        },
      -        "lastModifiedDateTime": {
      -          "anyOf": [
      -            {
      -              "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
      -              "format": "date-time",
      -              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z"
      -        },
      -        "name": {
      -          "description": "The attachment's file name.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "size": {
      -          "description": "The length of the attachment in bytes.",
      -          "maximum": 2147483647,
      -          "minimum": -2147483648,
      -          "type": "number"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "bccRecipients": {
      -    "description": "The Bcc: recipients for the message.",
      -    "items": {
      -      "$ref": "#/$defs/def2"
      -    },
      -    "type": "array"
      -  },
      -  "body": {
      -    "additionalProperties": true,
      -    "properties": {
      -      "content": {
      -        "description": "The content of the item.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "contentType": {
      -        "enum": [
      -          "text",
      -          "html"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "bodyPreview": {
      -    "description": "The first 255 characters of the message body. It is in text format.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "categories": {
      -    "description": "The categories associated with the item",
      -    "items": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "type": "array"
      -  },
      -  "ccRecipients": {
      -    "description": "The Cc: recipients for the message.",
      -    "items": {
      -      "$ref": "#/$defs/def2"
      -    },
      -    "type": "array"
      -  },
      -  "changeKey": {
      -    "description": "Identifies the version of the item. Every time the item is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "conversationId": {
      -    "description": "The ID of the conversation the email belongs to.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "conversationIndex": {
      -    "description": "Indicates the position of the message within the conversation.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "createdDateTime": {
      -    "anyOf": [
      -      {
      -        "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
      -        "format": "date-time",
      -        "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z"
      -  },
      -  "flag": {
      -    "additionalProperties": true,
      -    "properties": {
      -      "completedDateTime": {
      -        "$ref": "#/$defs/def30"
      -      },
      -      "dueDateTime": {
      -        "$ref": "#/$defs/def30"
      -      },
      -      "flagStatus": {
      -        "enum": [
      -          "notFlagged",
      -          "complete",
      -          "flagged"
      -        ],
      -        "type": "string"
      -      },
      -      "startDateTime": {
      -        "$ref": "#/$defs/def30"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "from": {
      -    "$ref": "#/$defs/def2"
      -  },
      -  "hasAttachments": {
      -    "description": "Indicates whether the message has attachments. This property doesn't include inline attachments, so if a message contains only inline attachments, this property is false. To verify the existence of inline attachments, parse the body property to look for a src attribute, such as <IMG src='cid:image001.jpg@01D26CD8.6C05F070'>.",
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "id": {
      -    "description": "The unique identifier for an entity. Read-only.",
      -    "type": "string"
      -  },
      -  "importance": {
      -    "$ref": "#/$defs/def3"
      -  },
      -  "inferenceClassification": {
      -    "enum": [
      -      "focused",
      -      "other"
      -    ],
      -    "type": "string"
      -  },
      -  "internetMessageHeaders": {
      -    "description": "A collection of message headers defined by RFC5322. The set includes message headers indicating the network path taken by a message from the sender to the recipient. It can also contain custom message headers that hold app data for the message.  Requires $select to retrieve. Read-only.",
      -    "items": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "name": {
      -          "description": "Represents the key in a key-value pair.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "value": {
      -          "description": "The value in a key-value pair.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "internetMessageId": {
      -    "description": "The message ID in the format specified by RFC2822.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "isDeliveryReceiptRequested": {
      -    "description": "Indicates whether a read receipt is requested for the message.",
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "isDraft": {
      -    "description": "Indicates whether the message is a draft. A message is a draft if it hasn't been sent yet.",
      -    "type": [
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "lastModifiedDateTime": {
      -    "anyOf": [
      -      {
      -        "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
      -        "format": "date-time",
      -        "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z"
      -  },
      -  "multiValueExtendedProperties": {
      -    "description": "The collection of multi-value extended properties defined for the message. Nullable.",
      -    "items": {
      -      "$ref": "#/$defs/def31"
      -    },
      -    "type": "array"
      -  },
      -  "singleValueExtendedProperties": {
      -    "description": "The collection of single-value extended properties defined for the message. Nullable.",
      -    "items": {
      -      "$ref": "#/$defs/def32"
      -    },
      -    "type": "array"
      -  },
      -  "subject": {
      -    "description": "The subject of the message.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "toRecipients": {
      -    "description": "The To: recipients for the message.",
      -    "items": {
      -      "$ref": "#/$defs/def2"
      -    },
      -    "type": "array"
      -  }
      -}
    • changedInput schema / $defs / def29 / type
      Previous value: -"object"New value: +[
      +  "boolean",
      +  "null"
      +]
    • addedInput schema / $defs / def3 / description
      Added value: +"Represents the categories that an incoming message should be labeled with in order for the condition or exception to apply."
    • removedInput schema / $defs / def3 / enum
      Removed value: -[
      -  "low",
      -  "normal",
      -  "high"
      -]
    • addedInput schema / $defs / def3 / items
      Added value: +{
      +  "$ref": "#/$defs/def4"
      +}
    • changedInput schema / $defs / def3 / type
      Previous value: -"string"New value: +"array"
    • removedInput schema / $defs / def30 / additionalProperties
      Removed value: -true
    • removedInput schema / $defs / def30 / properties
      Removed value: -{
      -  "dateTime": {
      -    "description": "A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000).",
      -    "type": "string"
      -  },
      -  "timeZone": {
      -    "description": "Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  }
      -}
    • removedInput schema / $defs / def30 / type
      Removed value: -"object"
    • changedInput schema / $defs / def31 / additionalProperties
      Previous value: -trueNew value: +{
      +  "$ref": "#/$defs/def30"
      +}
    • addedInput schema / $defs / def31 / properties / bodyContains
      Added value: +{
      +  "$ref": "#/$defs/def43"
      +}
    • addedInput schema / $defs / def31 / properties / bodyOrSubjectContains
      Added value: +{
      +  "$ref": "#/$defs/def45"
      +}
    • addedInput schema / $defs / def31 / properties / categories
      Added value: +{
      +  "$ref": "#/$defs/def3"
      +}
    • addedInput schema / $defs / def31 / properties / fromAddresses
      Added value: +{
      +  "$ref": "#/$defs/def5"
      +}
    • addedInput schema / $defs / def31 / properties / hasAttachments
      Added value: +{
      +  "$ref": "#/$defs/def6"
      +}
    • addedInput schema / $defs / def31 / properties / headerContains
      Added value: +{
      +  "$ref": "#/$defs/def7"
      +}
    • removedInput schema / $defs / def31 / properties / id
      Removed value: -{
      -  "description": "The unique identifier for an entity. Read-only.",
      -  "type": "string"
      -}
    • addedInput schema / $defs / def31 / properties / importance
      Added value: +{
      +  "$ref": "#/$defs/def42"
      +}
    • addedInput schema / $defs / def31 / properties / isApprovalRequest
      Added value: +{
      +  "$ref": "#/$defs/def9"
      +}
    • addedInput schema / $defs / def31 / properties / isAutomaticForward
      Added value: +{
      +  "$ref": "#/$defs/def10"
      +}
    • addedInput schema / $defs / def31 / properties / isAutomaticReply
      Added value: +{
      +  "$ref": "#/$defs/def11"
      +}
    • addedInput schema / $defs / def31 / properties / isEncrypted
      Added value: +{
      +  "$ref": "#/$defs/def13"
      +}
    • addedInput schema / $defs / def31 / properties / isMeetingRequest
      Added value: +{
      +  "$ref": "#/$defs/def14"
      +}
    • addedInput schema / $defs / def31 / properties / isMeetingResponse
      Added value: +{
      +  "$ref": "#/$defs/def15"
      +}
    • addedInput schema / $defs / def31 / properties / isNonDeliveryReport
      Added value: +{
      +  "$ref": "#/$defs/def16"
      +}
    • addedInput schema / $defs / def31 / properties / isPermissionControlled
      Added value: +{
      +  "$ref": "#/$defs/def17"
      +}
    • addedInput schema / $defs / def31 / properties / isReadReceipt
      Added value: +{
      +  "$ref": "#/$defs/def18"
      +}
    • addedInput schema / $defs / def31 / properties / isSigned
      Added value: +{
      +  "$ref": "#/$defs/def19"
      +}
    • addedInput schema / $defs / def31 / properties / isVoicemail
      Added value: +{
      +  "$ref": "#/$defs/def20"
      +}
    • addedInput schema / $defs / def31 / properties / messageActionFlag
      Added value: +{
      +  "$ref": "#/$defs/def21"
      +}
    • addedInput schema / $defs / def31 / properties / notSentToMe
      Added value: +{
      +  "$ref": "#/$defs/def22"
      +}
    • addedInput schema / $defs / def31 / properties / recipientContains
      Added value: +{
      +  "$ref": "#/$defs/def24"
      +}
    • addedInput schema / $defs / def31 / properties / senderContains
      Added value: +{
      +  "$ref": "#/$defs/def26"
      +}
    • addedInput schema / $defs / def31 / properties / sensitivity
      Added value: +{
      +  "$ref": "#/$defs/def41"
      +}
    • addedInput schema / $defs / def31 / properties / sentCcMe
      Added value: +{
      +  "$ref": "#/$defs/def28"
      +}
    • addedInput schema / $defs / def31 / properties / sentOnlyToMe
      Added value: +{
      +  "$ref": "#/$defs/def29"
      +}
    • removedInput schema / $defs / def31 / properties / value
      Removed value: -{
      -  "description": "A collection of property values.",
      -  "items": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "type": "array"
      -}
    • addedInput schema / $defs / def32 / properties / attachments
      Added value: +{
      +  "description": "The fileAttachment and itemAttachment attachments for the message.",
      +  "items": {
      +    "$ref": "#/$defs/def33"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / bccRecipients
      Added value: +{
      +  "description": "The Bcc: recipients for the message.",
      +  "items": {
      +    "$ref": "#/$defs/def23"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / body
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "content": {
      +      "description": "The content of the item.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "contentType": {
      +      "enum": [
      +        "text",
      +        "html"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / def32 / properties / bodyPreview
      Added value: +{
      +  "description": "The first 255 characters of the message body. It is in text format.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / categories
      Added value: +{
      +  "description": "The categories associated with the item",
      +  "items": {
      +    "$ref": "#/$defs/def38"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / ccRecipients
      Added value: +{
      +  "description": "The Cc: recipients for the message.",
      +  "items": {
      +    "$ref": "#/$defs/def23"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / changeKey
      Added value: +{
      +  "description": "Identifies the version of the item. Every time the item is changed, changeKey changes as well. This allows Exchange to apply changes to the correct version of the object. Read-only.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / conversationId
      Added value: +{
      +  "description": "The ID of the conversation the email belongs to.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / conversationIndex
      Added value: +{
      +  "description": "Indicates the position of the message within the conversation.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / createdDateTime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
      +      "format": "date-time",
      +      "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / flag
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "completedDateTime": {
      +      "$ref": "#/$defs/def39"
      +    },
      +    "dueDateTime": {
      +      "$ref": "#/$defs/def39"
      +    },
      +    "flagStatus": {
      +      "enum": [
      +        "notFlagged",
      +        "complete",
      +        "flagged"
      +      ],
      +      "type": "string"
      +    },
      +    "startDateTime": {
      +      "$ref": "#/$defs/def39"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / def32 / properties / from
      Added value: +{
      +  "$ref": "#/$defs/def23"
      +}
    • addedInput schema / $defs / def32 / properties / hasAttachments
      Added value: +{
      +  "description": "Indicates whether the message has attachments. This property doesn't include inline attachments, so if a message contains only inline attachments, this property is false. To verify the existence of inline attachments, parse the body property to look for a src attribute, such as <IMG src='cid:image001.jpg@01D26CD8.6C05F070'>.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / importance
      Added value: +{
      +  "$ref": "#/$defs/def34"
      +}
    • addedInput schema / $defs / def32 / properties / inferenceClassification
      Added value: +{
      +  "enum": [
      +    "focused",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / def32 / properties / internetMessageHeaders
      Added value: +{
      +  "description": "A collection of message headers defined by RFC5322. The set includes message headers indicating the network path taken by a message from the sender to the recipient. It can also contain custom message headers that hold app data for the message.  Requires $select to retrieve. Read-only.",
      +  "items": {
      +    "$ref": "#/$defs/def40"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / internetMessageId
      Added value: +{
      +  "description": "The message ID in the format specified by RFC2822.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / isDeliveryReceiptRequested
      Added value: +{
      +  "description": "Indicates whether a read receipt is requested for the message.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / isDraft
      Added value: +{
      +  "description": "Indicates whether the message is a draft. A message is a draft if it hasn't been sent yet.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / lastModifiedDateTime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
      +      "format": "date-time",
      +      "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / multiValueExtendedProperties
      Added value: +{
      +  "description": "The collection of multi-value extended properties defined for the message. Nullable.",
      +  "items": {
      +    "$ref": "#/$defs/def36"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / singleValueExtendedProperties
      Added value: +{
      +  "description": "The collection of single-value extended properties defined for the message. Nullable.",
      +  "items": {
      +    "$ref": "#/$defs/def35"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def32 / properties / subject
      Added value: +{
      +  "description": "The subject of the message.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def32 / properties / toRecipients
      Added value: +{
      +  "description": "The To: recipients for the message.",
      +  "items": {
      +    "$ref": "#/$defs/def23"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / $defs / def32 / properties / value
      Removed value: -{
      -  "description": "A property value.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedInput schema / $defs / def33
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "contentType": {
      +      "description": "The MIME type.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "id": {
      +      "description": "The unique identifier for an entity. Read-only.",
      +      "type": "string"
      +    },
      +    "isInline": {
      +      "description": "true if the attachment is an inline attachment; otherwise, false.",
      +      "type": "boolean"
      +    },
      +    "lastModifiedDateTime": {
      +      "anyOf": [
      +        {
      +          "description": "The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
      +          "format": "date-time",
      +          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "name": {
      +      "description": "The attachment's file name.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "size": {
      +      "description": "The length of the attachment in bytes.",
      +      "maximum": 2147483647,
      +      "minimum": -2147483648,
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / def34
      Added value: +{
      +  "enum": [
      +    "low",
      +    "normal",
      +    "high"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / def35
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "id": {
      +      "description": "The unique identifier for an entity. Read-only.",
      +      "type": "string"
      +    },
      +    "value": {
      +      "description": "A property value.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / def36
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "id": {
      +      "description": "The unique identifier for an entity. Read-only.",
      +      "type": "string"
      +    },
      +    "value": {
      +      "description": "A collection of property values.",
      +      "items": {
      +        "$ref": "#/$defs/def37"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / def37
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def38
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def39
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "dateTime": {
      +      "description": "A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000).",
      +      "type": "string"
      +    },
      +    "timeZone": {
      +      "description": "Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / $defs / def4 / description
      Removed value: -"Represents the strings that should appear in the body of an incoming message in order for the condition or exception to apply."
    • removedInput schema / $defs / def4 / items
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedInput schema / $defs / def4 / type
      Previous value: -"array"New value: +[
      +  "string",
      +  "null"
      +]
    • addedInput schema / $defs / def40
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "name": {
      +      "description": "Represents the key in a key-value pair.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "value": {
      +      "description": "The value in a key-value pair.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / def41
      Added value: +{
      +  "enum": [
      +    "normal",
      +    "personal",
      +    "private",
      +    "confidential"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / def42
      Added value: +{
      +  "$ref": "#/$defs/def34"
      +}
    • addedInput schema / $defs / def43
      Added value: +{
      +  "description": "Represents the strings that should appear in the body of an incoming message in order for the condition or exception to apply.",
      +  "items": {
      +    "$ref": "#/$defs/def44"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def44
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedInput schema / $defs / def45
      Added value: +{
      +  "description": "Represents the strings that should appear in the body or subject of an incoming message in order for the condition or exception to apply.",
      +  "items": {
      +    "$ref": "#/$defs/def2"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / $defs / def46
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / $defs / def47
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / $defs / def48
      Added value: +{
      +  "type": "boolean"
      +}
    • changedInput schema / $defs / def5 / description
      Previous value: -"Represents the strings that should appear in the body or subject of an incoming message in order for the condition or exception to apply."New value: +"Represents the specific sender email addresses of an incoming message in order for the condition or exception to apply."
    • addedInput schema / $defs / def5 / items / $ref
      Added value: +"#/$defs/def23"
    • removedInput schema / $defs / def5 / items / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedInput schema / $defs / def6 / description
      Previous value: -"Represents the categories that an incoming message should be labeled with in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must have attachments in order for the condition or exception to apply."
    • removedInput schema / $defs / def6 / items
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedInput schema / $defs / def6 / type
      Previous value: -"array"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedInput schema / $defs / def7 / description
      Previous value: -"Represents the specific sender email addresses of an incoming message in order for the condition or exception to apply."New value: +"Represents the strings that appear in the headers of an incoming message in order for the condition or exception to apply."
    • changedInput schema / $defs / def7 / items / $ref
      Previous value: -"#/$defs/def2"New value: +"#/$defs/def8"
    • removedInput schema / $defs / def8 / description
      Removed value: -"Indicates whether an incoming message must have attachments in order for the condition or exception to apply."
    • changedInput schema / $defs / def8 / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / $defs / def9 / description
      Previous value: -"Represents the strings that appear in the headers of an incoming message in order for the condition or exception to apply."New value: +"Indicates whether an incoming message must be an approval request in order for the condition or exception to apply."
    • removedInput schema / $defs / def9 / items
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedInput schema / $defs / def9 / type
      Previous value: -"array"New value: +[
      +  "boolean",
      +  "null"
      +]
    • removedInput schema / properties / body / properties / childFolderCount / description
      Removed value: -"The number of immediate child mailFolders in the current mailFolder."
    • changedInput schema / properties / body / properties / messages / items / $ref
      Previous value: -"#/$defs/def29"New value: +"#/$defs/def32"
    • changedInput schema / properties / body / properties / multiValueExtendedProperties / items / $ref
      Previous value: -"#/$defs/def31"New value: +"#/$defs/def36"
    • changedInput schema / properties / body / properties / singleValueExtendedProperties / items / $ref
      Previous value: -"#/$defs/def32"New value: +"#/$defs/def35"
    • removedInput schema / properties / body / properties / totalItemCount / description
      Removed value: -"The number of items in the mailFolder."
    • removedInput schema / properties / body / properties / unreadItemCount / description
      Removed value: -"The number of items in the mailFolder marked as unread."
    • addedInput schema / properties / confirm / allOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/def46"
      +  }
      +]
    • removedInput schema / properties / confirm / type
      Removed value: -"boolean"
    • addedInput schema / properties / excludeResponse / allOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/def47"
      +  }
      +]
    • removedInput schema / properties / excludeResponse / type
      Removed value: -"boolean"
    • addedInput schema / properties / includeHeaders / allOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/def48"
      +  }
      +]
    • removedInput schema / properties / includeHeaders / type
      Removed value: -"boolean"
  2. Addedv0.134.4
  3. Removedv0.131.2
  4. Changed1 schema field changedv0.131.1
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "For destructive operations when the confirm gate is enabled (MS365_MCP_REQUIRE_CONFIRM=true; off by default). Set to true only after the user has explicitly approved this action. When the gate is on, calls without confirm: true return { error: \"confirmation_required\" } without touching user data.",
      +  "type": "boolean"
      +}
  5. Addedv0.114.0
  6. Removedv0.112.2
  7. Addedv0.110.0
  8. Removedv0.108.0
  9. Addedv0.96.0

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered outside the description. The description adds that the operation can rename a folder by updating displayName, but it does not explain the destructive impact, confirmation gate, or what else may change beyond renaming.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with the core action first and the tip immediately after. Every sentence is useful, and there is no redundant restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter update tool with rich annotations and an 80%-described schema, the description is largely complete for the common rename workflow. It could be stronger by clarifying that the body is a mailFolder object with only certain writable fields, but the schema and annotations cover most of that detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so the schema already carries most parameter meaning and the baseline is 3. The description adds useful context by naming displayName as the rename field and pointing to list-mail-folders for the mailFolderId, but it does not explain confirm, includeHeaders, or excludeResponse semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: update a mailFolder object, and the tip clarifies the common use case as renaming via displayName. It is clear, but it does not explicitly distinguish this tool from sibling operations such as create-mail-folder, delete-mail-folder, or update-mail-message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a useful prerequisite by directing the agent to use list-mail-folders to find the folder ID. However, it does not state when to use this tool versus alternatives or when not to use it, so usage guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools