Skip to main content
Glama

AIsa Agent Mail

Inboxes - Forward Message

post_agentmail_inbox_message_forward
Destructive

Forward 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.
message_idYesID of message.

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",
      -  "message_id",
      -  "Authorization"
      -]New value: +[
      +  "inbox_id",
      +  "message_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",
      -  "message_id"
      -]New value: +[
      +  "inbox_id",
      +  "message_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",
      -  "message_id",
      -  "Authorization"
      -]New value: +[
      +  "inbox_id",
      +  "message_id"
      +]
  6. First observed

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered without the description. The description adds a published price ($0.012 per successful request) but says nothing about the forwarding behavior itself — that a new outbound message is dispatched to externally-supplied recipients, or that the original is preserved. No contradiction with annotations.

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

Conciseness2/5

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

It is short, but the bulk of the text is an inline pricing comment block that does not help an agent select or invoke the tool. The single content-bearing phrase duplicates the title, so none of the text earns its place beyond cost disclosure.

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?

This is a destructive, non-idempotent, open-world mutation with a nested request body and an output schema. An output schema exists so return values need not be described, but the description omits the essential forwarding semantics and required-field expectations (e.g., what the body must contain to dispatch the forward).

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?

Schema description coverage is 67%, and the description contributes zero parameter meaning. It never explains that inbox_id/message_id identify the source message while the nested body object defines the new forwarded message (to/cc/bcc, subject, attachments). With mid-level schema coverage, the description fails to compensate for the gaps.

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 text is literally 'Forward Message', which restates the tool name and title without adding scope, object, or effect. It does not distinguish this tool from close siblings like post_agentmail_inbox_message_reply, reply_all, or send. Tautological restatement of the title.

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 guidance whatsoever about when to use forwarding versus reply/reply_all/send, nor any prerequisite such as needing an existing inbox and message. The only prose present is a pricing disclaimer, which does not help tool selection.

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