Skip to main content
Glama

AIsa Agent Mail

Inboxes - Send Message

post_agentmail_inbox_message_send
Destructive

Send Message

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

Input Schema

NameRequiredDescriptionDefault
bodyNo
inbox_idYesThe ID of the inbox.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / attachments
      Removed value: -{
      -  "description": "Attachments to include in message.",
      -  "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"
      -  },
      -  "title": "SendMessageAttachments",
      -  "type": "array"
      -}
    • removedInput schema / properties / bcc
      Removed value: -{
      -  "description": "BCC recipient address or addresses.",
      -  "oneOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    }
      -  ],
      -  "title": "SendMessageBcc"
      -}
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "attachments": {
      +      "description": "Attachments to include in message.",
      +      "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"
      +      },
      +      "title": "SendMessageAttachments",
      +      "type": "array"
      +    },
      +    "bcc": {
      +      "description": "BCC recipient address or addresses.",
      +      "oneOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      ],
      +      "title": "SendMessageBcc"
      +    },
      +    "cc": {
      +      "description": "CC recipient address or addresses.",
      +      "oneOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      ],
      +      "title": "SendMessageCc"
      +    },
      +    "headers": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "description": "Headers to include in message.",
      +      "title": "SendMessageHeaders",
      +      "type": "object"
      +    },
      +    "html": {
      +      "description": "HTML body of message.",
      +      "title": "MessageHtml",
      +      "type": "string"
      +    },
      +    "labels": {
      +      "description": "Labels of message.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "MessageLabels",
      +      "type": "array"
      +    },
      +    "reply_to": {
      +      "description": "Reply-to address or addresses.",
      +      "oneOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      ],
      +      "title": "SendMessageReplyTo"
      +    },
      +    "subject": {
      +      "description": "Subject of message.",
      +      "title": "MessageSubject",
      +      "type": "string"
      +    },
      +    "text": {
      +      "description": "Plain text body of message.",
      +      "title": "MessageText",
      +      "type": "string"
      +    },
      +    "to": {
      +      "description": "Recipient address or addresses.",
      +      "oneOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      ],
      +      "title": "SendMessageTo"
      +    },
      +    "track_opens": {
      +      "description": "Track when this message is first opened. Requires a custom domain with tracking enabled and\nan HTML body. Opens surface as the `opened` label on the message and as a `message.opened`\nevent. One pixel is injected per message, not per recipient, so a message with several\nrecipients fires once when any of them opens it, and the event does not identify which one.",
      +      "title": "TrackOpens",
      +      "type": "boolean"
      +    }
      +  },
      +  "title": "SendMessageRequest",
      +  "type": "object"
      +}
    • removedInput schema / properties / cc
      Removed value: -{
      -  "description": "CC recipient address or addresses.",
      -  "oneOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    }
      -  ],
      -  "title": "SendMessageCc"
      -}
    • removedInput schema / properties / headers
      Removed value: -{
      -  "additionalProperties": {
      -    "type": "string"
      -  },
      -  "description": "Headers to include in message.",
      -  "title": "SendMessageHeaders",
      -  "type": "object"
      -}
    • removedInput schema / properties / html
      Removed value: -{
      -  "description": "HTML body of message.",
      -  "title": "MessageHtml",
      -  "type": "string"
      -}
    • removedInput schema / properties / labels
      Removed value: -{
      -  "description": "Labels of message.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "title": "MessageLabels",
      -  "type": "array"
      -}
    • removedInput schema / properties / reply_to
      Removed value: -{
      -  "description": "Reply-to address or addresses.",
      -  "oneOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    }
      -  ],
      -  "title": "SendMessageReplyTo"
      -}
    • removedInput schema / properties / subject
      Removed value: -{
      -  "description": "Subject of message.",
      -  "title": "MessageSubject",
      -  "type": "string"
      -}
    • removedInput schema / properties / text
      Removed value: -{
      -  "description": "Plain text body of message.",
      -  "title": "MessageText",
      -  "type": "string"
      -}
    • removedInput schema / properties / to
      Removed value: -{
      -  "description": "Recipient address or addresses.",
      -  "oneOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    }
      -  ],
      -  "title": "SendMessageTo"
      -}
    • removedInput schema / properties / track_opens
      Removed value: -{
      -  "description": "Track when this message is first opened. Requires a custom domain with tracking enabled and\nan HTML body. Opens surface as the `opened` label on the message and as a `message.opened`\nevent. One pixel is injected per message, not per recipient, so a message with several\nrecipients fires once when any of them opens it, and the event does not identify which one.",
      -  "title": "TrackOpens",
      -  "type": "boolean"
      -}
  2. Changed8 schema fields changed
    • removedInput schema / properties / bcc / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -]
    • addedInput schema / properties / bcc / oneOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +]
    • removedInput schema / properties / cc / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -]
    • addedInput schema / properties / cc / oneOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +]
    • removedInput schema / properties / reply_to / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -]
    • addedInput schema / properties / reply_to / oneOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +]
    • removedInput schema / properties / to / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -]
    • addedInput schema / properties / to / oneOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +]
  3. Changed6 schema fields changed
    • removedInput schema / properties / Authorization
      Removed value: -{
      -  "description": "Bearer authentication",
      -  "type": "string"
      -}
    • addedInput schema / properties / attachments / items / description
      Added value: +"Provide either `content` or `url` for each attachment."
    • changedInput schema / properties / attachments / items / properties / content / description
      Previous value: -"Base64 encoded content of attachment."New value: +"Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"URL to the attachment."New value: +"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."
    • addedInput schema / properties / track_opens
      Added value: +{
      +  "description": "Track when this message is first opened. Requires a custom domain with tracking enabled and\nan HTML body. Opens surface as the `opened` label on the message and as a `message.opened`\nevent. One pixel is injected per message, not per recipient, so a message with several\nrecipients fires once when any of them opens it, and the event does not identify which one.",
      +  "title": "TrackOpens",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "inbox_id",
      -  "Authorization"
      -]New value: +[
      +  "inbox_id"
      +]
  4. Changed6 schema fields changed
    • addedInput schema / properties / Authorization
      Added value: +{
      +  "description": "Bearer authentication",
      +  "type": "string"
      +}
    • removedInput schema / properties / attachments / items / description
      Removed value: -"Provide either `content` or `url` for each attachment."
    • changedInput schema / properties / attachments / items / properties / content / description
      Previous value: -"Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB."New value: +"Base64 encoded content of attachment."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"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."New value: +"URL to the attachment."
    • removedInput schema / properties / track_opens
      Removed value: -{
      -  "description": "Track when this message is first opened. Requires a custom domain with tracking enabled and\nan HTML body. Opens surface as the `opened` label on the message and as a `message.opened`\nevent. One pixel is injected per message, not per recipient, so a message with several\nrecipients fires once when any of them opens it, and the event does not identify which one.",
      -  "title": "TrackOpens",
      -  "type": "boolean"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "inbox_id"
      -]New value: +[
      +  "inbox_id",
      +  "Authorization"
      +]
  5. Changed6 schema fields changed
    • removedInput schema / properties / Authorization
      Removed value: -{
      -  "description": "Bearer authentication",
      -  "type": "string"
      -}
    • addedInput schema / properties / attachments / items / description
      Added value: +"Provide either `content` or `url` for each attachment."
    • changedInput schema / properties / attachments / items / properties / content / description
      Previous value: -"Base64 encoded content of attachment."New value: +"Base64 encoded content of the attachment. The entire request, including the message body and all attachments, is limited to 6 MB."
    • changedInput schema / properties / attachments / items / properties / url / description
      Previous value: -"URL to the attachment."New value: +"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."
    • addedInput schema / properties / track_opens
      Added value: +{
      +  "description": "Track when this message is first opened. Requires a custom domain with tracking enabled and\nan HTML body. Opens surface as the `opened` label on the message and as a `message.opened`\nevent. One pixel is injected per message, not per recipient, so a message with several\nrecipients fires once when any of them opens it, and the event does not identify which one.",
      +  "title": "TrackOpens",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "inbox_id",
      -  "Authorization"
      -]New value: +[
      +  "inbox_id"
      +]
  6. First observed

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The only behavioral content the description adds is a per-request price of $0.012 USD, which is genuinely useful cost context but is not accompanied by any disclosure about delivery, permissions required, or side effects of sending.

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 text is short and front-loads the verb, but the bulk of it is boilerplate pricing markup whose comments and framing consume most of the length. It is concise without being substantive, so the brevity does not translate into usefulness.

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

Completeness2/5

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

For a write-capable send tool with a nested request object and multiple near-identical siblings, the description supplies almost nothing beyond the title. The existence of an output schema excuses it from explaining return values, but the missing usage routing and body semantics leave an agent under-equipped to invoke it correctly.

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

Parameters2/5

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

The description says nothing about the two top-level parameters, and the 'body' object itself has no schema description (only its nested sub-properties do), so coverage sits at 50%. At that coverage level the description is expected to compensate and it does not — no mention of required fields, recipient semantics, or attachment constraints.

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

Purpose2/5

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

The description is only 'Send Message', which essentially restates the tool name (post_agentmail_inbox_message_send) and title ('Inboxes - Send Message') without adding a verb+resource articulation. It does not distinguish this send-new-message tool from close siblings such as post_agentmail_inbox_message_reply, post_agentmail_inbox_message_forward, or post_agentmail_inbox_draft_send.

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

Usage Guidelines1/5

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

There is no when-to-use, when-not-to-use, or alternative-tool guidance anywhere in the description. With siblings covering reply, reply-all, forward, and draft-send, the absence of routing guidance is a serious gap.

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