Skip to main content
Glama

AIsa Agent Mail

Manage Draft

patch_agentmail_inbox_draft
Destructive

Retrieve, update, or delete a specific email draft within an inbox by its ID. This endpoint allows you to get draft details, modify draft content and recipients, or remove the draft entirely.

Published reference price: $0.012 USD per successful request. Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyNoEdit fields on an existing draft. A draft's kind (plain, reply, or forward) is fixed at creation and cannot be changed here. Omitting a field leaves it unchanged; passing `null` (or `[]` for a recipient field) clears it. Pass `send_at` to schedule or reschedule the draft, or `null` to un-schedule it.
draft_idYesID of draft.
inbox_idYesThe ID of the inbox.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / add_attachments
      Removed value: -{
      -  "description": "Attachments to add to the draft.",
      -  "items": {
      -    "description": "Provide either `content` or `url` for each attachment.",
      -    "properties": {
      -      "content": {
      -        "description": "Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB.",
      -        "type": "string"
      -      },
      -      "content_disposition": {
      -        "description": "Content disposition of attachment.",
      -        "enum": [
      -          "inline",
      -          "attachment"
      -        ],
      -        "title": "AttachmentContentDisposition",
      -        "type": "string"
      -      },
      -      "content_id": {
      -        "description": "Content ID of attachment.",
      -        "title": "AttachmentContentId",
      -        "type": "string"
      -      },
      -      "content_type": {
      -        "description": "Content type of attachment.",
      -        "title": "AttachmentContentType",
      -        "type": "string"
      -      },
      -      "filename": {
      -        "description": "Filename of attachment.",
      -        "title": "AttachmentFilename",
      -        "type": "string"
      -      },
      -      "url": {
      -        "description": "URL that AgentMail can download without custom authentication headers or cookies.\nRedirects and pre-signed URLs are supported, and the final response must be a\nsuccessful 2xx response. Keep URL-backed attachments around 30 MB total per message.",
      -        "type": "string"
      -      }
      -    },
      -    "title": "SendAttachment",
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / add_labels
      Removed value: -{
      -  "description": "Label or labels to add to the draft.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "title": "DraftLabels",
      -  "type": "array"
      -}
    • removedInput schema / properties / bcc
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -      "items": {
      -        "type": "string"
      -      },
      -      "title": "DraftBcc",
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedInput schema / properties / body
      Added value: +{
      +  "description": "Edit fields on an existing draft. A draft's kind (plain, reply, or forward)\nis fixed at creation and cannot be changed here. Omitting a field leaves it\nunchanged; passing `null` (or `[]` for a recipient field) clears it. Pass\n`send_at` to schedule or reschedule the draft, or `null` to un-schedule it.",
      +  "properties": {
      +    "add_attachments": {
      +      "description": "Attachments to add to the draft.",
      +      "items": {
      +        "description": "Provide either `content` or `url` for each attachment.",
      +        "properties": {
      +          "content": {
      +            "description": "Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB.",
      +            "type": "string"
      +          },
      +          "content_disposition": {
      +            "description": "Content disposition of attachment.",
      +            "enum": [
      +              "inline",
      +              "attachment"
      +            ],
      +            "title": "AttachmentContentDisposition",
      +            "type": "string"
      +          },
      +          "content_id": {
      +            "description": "Content ID of attachment.",
      +            "title": "AttachmentContentId",
      +            "type": "string"
      +          },
      +          "content_type": {
      +            "description": "Content type of attachment.",
      +            "title": "AttachmentContentType",
      +            "type": "string"
      +          },
      +          "filename": {
      +            "description": "Filename of attachment.",
      +            "title": "AttachmentFilename",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "URL that AgentMail can download without custom authentication headers or cookies.\nRedirects and pre-signed URLs are supported, and the final response must be a\nsuccessful 2xx response. Keep URL-backed attachments around 30 MB total per message.",
      +            "type": "string"
      +          }
      +        },
      +        "title": "SendAttachment",
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "add_labels": {
      +      "description": "Label or labels to add to the draft.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "DraftLabels",
      +      "type": "array"
      +    },
      +    "bcc": {
      +      "oneOf": [
      +        {
      +          "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "title": "DraftBcc",
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "cc": {
      +      "oneOf": [
      +        {
      +          "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "title": "DraftCc",
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "html": {
      +      "oneOf": [
      +        {
      +          "description": "HTML body of draft.",
      +          "title": "DraftHtml",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "remove_attachments": {
      +      "description": "IDs of attachments to remove from the draft.",
      +      "items": {
      +        "description": "ID of attachment.",
      +        "title": "AttachmentId",
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "remove_labels": {
      +      "description": "Label or labels to remove from the draft.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "DraftLabels",
      +      "type": "array"
      +    },
      +    "reply_to": {
      +      "oneOf": [
      +        {
      +          "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "title": "DraftReplyTo",
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "send_at": {
      +      "oneOf": [
      +        {
      +          "description": "Time at which to schedule send draft.",
      +          "format": "date-time",
      +          "title": "DraftSendAt",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "subject": {
      +      "oneOf": [
      +        {
      +          "description": "Subject of draft.",
      +          "title": "DraftSubject",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "text": {
      +      "oneOf": [
      +        {
      +          "description": "Plain text body of draft.",
      +          "title": "DraftText",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "to": {
      +      "oneOf": [
      +        {
      +          "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "title": "DraftTo",
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "title": "UpdateDraftRequest",
      +  "type": "object"
      +}
    • removedInput schema / properties / cc
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -      "items": {
      -        "type": "string"
      -      },
      -      "title": "DraftCc",
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedInput schema / properties / html
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "HTML body of draft.",
      -      "title": "DraftHtml",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedInput schema / properties / remove_attachments
      Removed value: -{
      -  "description": "IDs of attachments to remove from the draft.",
      -  "items": {
      -    "description": "ID of attachment.",
      -    "title": "AttachmentId",
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / remove_labels
      Removed value: -{
      -  "description": "Label or labels to remove from the draft.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "title": "DraftLabels",
      -  "type": "array"
      -}
    • removedInput schema / properties / reply_to
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -      "items": {
      -        "type": "string"
      -      },
      -      "title": "DraftReplyTo",
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedInput schema / properties / send_at
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Time at which to schedule send draft.",
      -      "format": "date-time",
      -      "title": "DraftSendAt",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedInput schema / properties / subject
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Subject of draft.",
      -      "title": "DraftSubject",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedInput schema / properties / text
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Plain text body of draft.",
      -      "title": "DraftText",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedInput schema / properties / to
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -      "items": {
      -        "type": "string"
      -      },
      -      "title": "DraftTo",
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
  2. Changed16 schema fields changed
    • removedInput schema / properties / bcc / anyOf
      Removed value: -[
      -  {
      -    "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftBcc",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / bcc / oneOf
      Added value: +[
      +  {
      +    "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftBcc",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / cc / anyOf
      Removed value: -[
      -  {
      -    "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftCc",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / cc / oneOf
      Added value: +[
      +  {
      +    "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftCc",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / html / anyOf
      Removed value: -[
      -  {
      -    "description": "HTML body of draft.",
      -    "title": "DraftHtml",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / html / oneOf
      Added value: +[
      +  {
      +    "description": "HTML body of draft.",
      +    "title": "DraftHtml",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / reply_to / anyOf
      Removed value: -[
      -  {
      -    "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftReplyTo",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / reply_to / oneOf
      Added value: +[
      +  {
      +    "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftReplyTo",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / send_at / anyOf
      Removed value: -[
      -  {
      -    "description": "Time at which to schedule send draft.",
      -    "format": "date-time",
      -    "title": "DraftSendAt",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / send_at / oneOf
      Added value: +[
      +  {
      +    "description": "Time at which to schedule send draft.",
      +    "format": "date-time",
      +    "title": "DraftSendAt",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / subject / anyOf
      Removed value: -[
      -  {
      -    "description": "Subject of draft.",
      -    "title": "DraftSubject",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / subject / oneOf
      Added value: +[
      +  {
      +    "description": "Subject of draft.",
      +    "title": "DraftSubject",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / text / anyOf
      Removed value: -[
      -  {
      -    "description": "Plain text body of draft.",
      -    "title": "DraftText",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / text / oneOf
      Added value: +[
      +  {
      +    "description": "Plain text body of draft.",
      +    "title": "DraftText",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / to / anyOf
      Removed value: -[
      -  {
      -    "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftTo",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / to / oneOf
      Added value: +[
      +  {
      +    "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftTo",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed43 schema fields changed
    • removedInput schema / properties / Authorization
      Removed value: -{
      -  "description": "Bearer authentication",
      -  "type": "string"
      -}
    • addedInput schema / properties / add_attachments
      Added value: +{
      +  "description": "Attachments to add to the draft.",
      +  "items": {
      +    "description": "Provide either `content` or `url` for each attachment.",
      +    "properties": {
      +      "content": {
      +        "description": "Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB.",
      +        "type": "string"
      +      },
      +      "content_disposition": {
      +        "description": "Content disposition of attachment.",
      +        "enum": [
      +          "inline",
      +          "attachment"
      +        ],
      +        "title": "AttachmentContentDisposition",
      +        "type": "string"
      +      },
      +      "content_id": {
      +        "description": "Content ID of attachment.",
      +        "title": "AttachmentContentId",
      +        "type": "string"
      +      },
      +      "content_type": {
      +        "description": "Content type of attachment.",
      +        "title": "AttachmentContentType",
      +        "type": "string"
      +      },
      +      "filename": {
      +        "description": "Filename of attachment.",
      +        "title": "AttachmentFilename",
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "URL that AgentMail can download without custom authentication headers or cookies.\nRedirects and pre-signed URLs are supported, and the final response must be a\nsuccessful 2xx response. Keep URL-backed attachments around 30 MB total per message.",
      +        "type": "string"
      +      }
      +    },
      +    "title": "SendAttachment",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / add_labels
      Added value: +{
      +  "description": "Label or labels to add to the draft.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "DraftLabels",
      +  "type": "array"
      +}
    • addedInput schema / properties / bcc / anyOf
      Added value: +[
      +  {
      +    "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftBcc",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / bcc / description
      Removed value: -"Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / bcc / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / bcc / title
      Removed value: -"DraftBcc"
    • removedInput schema / properties / bcc / type
      Removed value: -"array"
    • addedInput schema / properties / cc / anyOf
      Added value: +[
      +  {
      +    "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftCc",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / cc / description
      Removed value: -"Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / cc / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / cc / title
      Removed value: -"DraftCc"
    • removedInput schema / properties / cc / type
      Removed value: -"array"
    • addedInput schema / properties / html / anyOf
      Added value: +[
      +  {
      +    "description": "HTML body of draft.",
      +    "title": "DraftHtml",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / html / description
      Removed value: -"HTML body of draft."
    • removedInput schema / properties / html / title
      Removed value: -"DraftHtml"
    • removedInput schema / properties / html / type
      Removed value: -"string"
    • addedInput schema / properties / remove_attachments
      Added value: +{
      +  "description": "IDs of attachments to remove from the draft.",
      +  "items": {
      +    "description": "ID of attachment.",
      +    "title": "AttachmentId",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / remove_labels
      Added value: +{
      +  "description": "Label or labels to remove from the draft.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "DraftLabels",
      +  "type": "array"
      +}
    • addedInput schema / properties / reply_to / anyOf
      Added value: +[
      +  {
      +    "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftReplyTo",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / reply_to / description
      Removed value: -"Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / reply_to / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / reply_to / title
      Removed value: -"DraftReplyTo"
    • removedInput schema / properties / reply_to / type
      Removed value: -"array"
    • addedInput schema / properties / send_at / anyOf
      Added value: +[
      +  {
      +    "description": "Time at which to schedule send draft.",
      +    "format": "date-time",
      +    "title": "DraftSendAt",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / send_at / description
      Removed value: -"Time at which to schedule send draft."
    • removedInput schema / properties / send_at / format
      Removed value: -"date-time"
    • removedInput schema / properties / send_at / title
      Removed value: -"DraftSendAt"
    • removedInput schema / properties / send_at / type
      Removed value: -"string"
    • addedInput schema / properties / subject / anyOf
      Added value: +[
      +  {
      +    "description": "Subject of draft.",
      +    "title": "DraftSubject",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / subject / description
      Removed value: -"Subject of draft."
    • removedInput schema / properties / subject / title
      Removed value: -"DraftSubject"
    • removedInput schema / properties / subject / type
      Removed value: -"string"
    • addedInput schema / properties / text / anyOf
      Added value: +[
      +  {
      +    "description": "Plain text body of draft.",
      +    "title": "DraftText",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / text / description
      Removed value: -"Plain text body of draft."
    • removedInput schema / properties / text / title
      Removed value: -"DraftText"
    • removedInput schema / properties / text / type
      Removed value: -"string"
    • addedInput schema / properties / to / anyOf
      Added value: +[
      +  {
      +    "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftTo",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / to / description
      Removed value: -"Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / to / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / to / title
      Removed value: -"DraftTo"
    • removedInput schema / properties / to / type
      Removed value: -"array"
    • changedInput schema / required
      Previous value: -[
      -  "inbox_id",
      -  "draft_id",
      -  "Authorization"
      -]New value: +[
      +  "draft_id",
      +  "inbox_id"
      +]
  4. Changed43 schema fields changed
    • addedInput schema / properties / Authorization
      Added value: +{
      +  "description": "Bearer authentication",
      +  "type": "string"
      +}
    • removedInput schema / properties / add_attachments
      Removed value: -{
      -  "description": "Attachments to add to the draft.",
      -  "items": {
      -    "description": "Provide either `content` or `url` for each attachment.",
      -    "properties": {
      -      "content": {
      -        "description": "Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB.",
      -        "type": "string"
      -      },
      -      "content_disposition": {
      -        "description": "Content disposition of attachment.",
      -        "enum": [
      -          "inline",
      -          "attachment"
      -        ],
      -        "title": "AttachmentContentDisposition",
      -        "type": "string"
      -      },
      -      "content_id": {
      -        "description": "Content ID of attachment.",
      -        "title": "AttachmentContentId",
      -        "type": "string"
      -      },
      -      "content_type": {
      -        "description": "Content type of attachment.",
      -        "title": "AttachmentContentType",
      -        "type": "string"
      -      },
      -      "filename": {
      -        "description": "Filename of attachment.",
      -        "title": "AttachmentFilename",
      -        "type": "string"
      -      },
      -      "url": {
      -        "description": "URL that AgentMail can download without custom authentication headers or cookies.\nRedirects and pre-signed URLs are supported, and the final response must be a\nsuccessful 2xx response. Keep URL-backed attachments around 30 MB total per message.",
      -        "type": "string"
      -      }
      -    },
      -    "title": "SendAttachment",
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / add_labels
      Removed value: -{
      -  "description": "Label or labels to add to the draft.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "title": "DraftLabels",
      -  "type": "array"
      -}
    • removedInput schema / properties / bcc / anyOf
      Removed value: -[
      -  {
      -    "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftBcc",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / bcc / description
      Added value: +"Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • addedInput schema / properties / bcc / items
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / bcc / title
      Added value: +"DraftBcc"
    • addedInput schema / properties / bcc / type
      Added value: +"array"
    • removedInput schema / properties / cc / anyOf
      Removed value: -[
      -  {
      -    "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftCc",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / cc / description
      Added value: +"Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • addedInput schema / properties / cc / items
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / cc / title
      Added value: +"DraftCc"
    • addedInput schema / properties / cc / type
      Added value: +"array"
    • removedInput schema / properties / html / anyOf
      Removed value: -[
      -  {
      -    "description": "HTML body of draft.",
      -    "title": "DraftHtml",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / html / description
      Added value: +"HTML body of draft."
    • addedInput schema / properties / html / title
      Added value: +"DraftHtml"
    • addedInput schema / properties / html / type
      Added value: +"string"
    • removedInput schema / properties / remove_attachments
      Removed value: -{
      -  "description": "IDs of attachments to remove from the draft.",
      -  "items": {
      -    "description": "ID of attachment.",
      -    "title": "AttachmentId",
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / remove_labels
      Removed value: -{
      -  "description": "Label or labels to remove from the draft.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "title": "DraftLabels",
      -  "type": "array"
      -}
    • removedInput schema / properties / reply_to / anyOf
      Removed value: -[
      -  {
      -    "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftReplyTo",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / reply_to / description
      Added value: +"Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • addedInput schema / properties / reply_to / items
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / reply_to / title
      Added value: +"DraftReplyTo"
    • addedInput schema / properties / reply_to / type
      Added value: +"array"
    • removedInput schema / properties / send_at / anyOf
      Removed value: -[
      -  {
      -    "description": "Time at which to schedule send draft.",
      -    "format": "date-time",
      -    "title": "DraftSendAt",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / send_at / description
      Added value: +"Time at which to schedule send draft."
    • addedInput schema / properties / send_at / format
      Added value: +"date-time"
    • addedInput schema / properties / send_at / title
      Added value: +"DraftSendAt"
    • addedInput schema / properties / send_at / type
      Added value: +"string"
    • removedInput schema / properties / subject / anyOf
      Removed value: -[
      -  {
      -    "description": "Subject of draft.",
      -    "title": "DraftSubject",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / subject / description
      Added value: +"Subject of draft."
    • addedInput schema / properties / subject / title
      Added value: +"DraftSubject"
    • addedInput schema / properties / subject / type
      Added value: +"string"
    • removedInput schema / properties / text / anyOf
      Removed value: -[
      -  {
      -    "description": "Plain text body of draft.",
      -    "title": "DraftText",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / text / description
      Added value: +"Plain text body of draft."
    • addedInput schema / properties / text / title
      Added value: +"DraftText"
    • addedInput schema / properties / text / type
      Added value: +"string"
    • removedInput schema / properties / to / anyOf
      Removed value: -[
      -  {
      -    "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "title": "DraftTo",
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / to / description
      Added value: +"Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • addedInput schema / properties / to / items
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / to / title
      Added value: +"DraftTo"
    • addedInput schema / properties / to / type
      Added value: +"array"
    • changedInput schema / required
      Previous value: -[
      -  "draft_id",
      -  "inbox_id"
      -]New value: +[
      +  "inbox_id",
      +  "draft_id",
      +  "Authorization"
      +]
  5. Changed43 schema fields changed
    • removedInput schema / properties / Authorization
      Removed value: -{
      -  "description": "Bearer authentication",
      -  "type": "string"
      -}
    • addedInput schema / properties / add_attachments
      Added value: +{
      +  "description": "Attachments to add to the draft.",
      +  "items": {
      +    "description": "Provide either `content` or `url` for each attachment.",
      +    "properties": {
      +      "content": {
      +        "description": "Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB.",
      +        "type": "string"
      +      },
      +      "content_disposition": {
      +        "description": "Content disposition of attachment.",
      +        "enum": [
      +          "inline",
      +          "attachment"
      +        ],
      +        "title": "AttachmentContentDisposition",
      +        "type": "string"
      +      },
      +      "content_id": {
      +        "description": "Content ID of attachment.",
      +        "title": "AttachmentContentId",
      +        "type": "string"
      +      },
      +      "content_type": {
      +        "description": "Content type of attachment.",
      +        "title": "AttachmentContentType",
      +        "type": "string"
      +      },
      +      "filename": {
      +        "description": "Filename of attachment.",
      +        "title": "AttachmentFilename",
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "URL that AgentMail can download without custom authentication headers or cookies.\nRedirects and pre-signed URLs are supported, and the final response must be a\nsuccessful 2xx response. Keep URL-backed attachments around 30 MB total per message.",
      +        "type": "string"
      +      }
      +    },
      +    "title": "SendAttachment",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / add_labels
      Added value: +{
      +  "description": "Label or labels to add to the draft.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "DraftLabels",
      +  "type": "array"
      +}
    • addedInput schema / properties / bcc / anyOf
      Added value: +[
      +  {
      +    "description": "Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftBcc",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / bcc / description
      Removed value: -"Addresses of BCC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / bcc / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / bcc / title
      Removed value: -"DraftBcc"
    • removedInput schema / properties / bcc / type
      Removed value: -"array"
    • addedInput schema / properties / cc / anyOf
      Added value: +[
      +  {
      +    "description": "Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftCc",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / cc / description
      Removed value: -"Addresses of CC recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / cc / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / cc / title
      Removed value: -"DraftCc"
    • removedInput schema / properties / cc / type
      Removed value: -"array"
    • addedInput schema / properties / html / anyOf
      Added value: +[
      +  {
      +    "description": "HTML body of draft.",
      +    "title": "DraftHtml",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / html / description
      Removed value: -"HTML body of draft."
    • removedInput schema / properties / html / title
      Removed value: -"DraftHtml"
    • removedInput schema / properties / html / type
      Removed value: -"string"
    • addedInput schema / properties / remove_attachments
      Added value: +{
      +  "description": "IDs of attachments to remove from the draft.",
      +  "items": {
      +    "description": "ID of attachment.",
      +    "title": "AttachmentId",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / remove_labels
      Added value: +{
      +  "description": "Label or labels to remove from the draft.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "DraftLabels",
      +  "type": "array"
      +}
    • addedInput schema / properties / reply_to / anyOf
      Added value: +[
      +  {
      +    "description": "Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftReplyTo",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / reply_to / description
      Removed value: -"Reply-to addresses. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / reply_to / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / reply_to / title
      Removed value: -"DraftReplyTo"
    • removedInput schema / properties / reply_to / type
      Removed value: -"array"
    • addedInput schema / properties / send_at / anyOf
      Added value: +[
      +  {
      +    "description": "Time at which to schedule send draft.",
      +    "format": "date-time",
      +    "title": "DraftSendAt",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / send_at / description
      Removed value: -"Time at which to schedule send draft."
    • removedInput schema / properties / send_at / format
      Removed value: -"date-time"
    • removedInput schema / properties / send_at / title
      Removed value: -"DraftSendAt"
    • removedInput schema / properties / send_at / type
      Removed value: -"string"
    • addedInput schema / properties / subject / anyOf
      Added value: +[
      +  {
      +    "description": "Subject of draft.",
      +    "title": "DraftSubject",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / subject / description
      Removed value: -"Subject of draft."
    • removedInput schema / properties / subject / title
      Removed value: -"DraftSubject"
    • removedInput schema / properties / subject / type
      Removed value: -"string"
    • addedInput schema / properties / text / anyOf
      Added value: +[
      +  {
      +    "description": "Plain text body of draft.",
      +    "title": "DraftText",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / text / description
      Removed value: -"Plain text body of draft."
    • removedInput schema / properties / text / title
      Removed value: -"DraftText"
    • removedInput schema / properties / text / type
      Removed value: -"string"
    • addedInput schema / properties / to / anyOf
      Added value: +[
      +  {
      +    "description": "Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "DraftTo",
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / to / description
      Removed value: -"Addresses of recipients. In format `username@domain.com` or `Display Name <username@domain.com>`."
    • removedInput schema / properties / to / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / to / title
      Removed value: -"DraftTo"
    • removedInput schema / properties / to / type
      Removed value: -"array"
    • changedInput schema / required
      Previous value: -[
      -  "inbox_id",
      -  "draft_id",
      -  "Authorization"
      -]New value: +[
      +  "draft_id",
      +  "inbox_id"
      +]
  6. First observed

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false, so the safety profile is covered externally. The description adds only "remove the draft entirely," which is consistent with destructiveHint but redundant with it, and it omits mutation context such as partial-update behavior and the fact that draft kind is fixed. No contradiction, but little value added beyond annotations.

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

Conciseness3/5

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

The opening sentence is well front-loaded, but the second sentence largely restates it ("get draft details, modify draft content and recipients, or remove the draft entirely"). The injected pricing boilerplate is noise but is system-generated. Net effect is a short but partly redundant description.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the input schema fully documents parameters. What is missing is the piece the structured data cannot provide: how this PATCH endpoint relates to the dedicated get/delete draft siblings it appears to overlap with, leaving the agent's tool selection ambiguous.

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 100%, so the schema already documents draft_id, inbox_id, and every field inside the nested UpdateDraftRequest, including the omit-vs-null clearing semantics. The description mentions "draft content and recipients" at a high level but adds no format or edge-case detail beyond the schema. Baseline 3 applies.

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

Purpose3/5

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

The resource is stated precisely ("a specific email draft within an inbox by its ID"), which an agent can map to the two required IDs. However, the verb is muddled: it claims to "Retrieve, update, or delete" a draft, even though dedicated siblings get_agentmail_inbox_draft and delete_agentmail_inbox_draft exist and the tool is named PATCH. The multi-verb framing blurs rather than sharpens the tool's identity.

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

Usage Guidelines2/5

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

No guidance on when to choose this over the sibling readers/deleters it claims to duplicate (get_agentmail_inbox_draft, delete_agentmail_inbox_draft). An agent reading only the description would reasonably call this for a read or a delete, which is the wrong routing. No prerequisites or preconditions are given.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources