Skip to main content
Glama

Fluxmail Cloud

Forward email

forward_email
DestructiveIdempotent

Forward an email to new recipients with a "Fwd:" subject and the quoted original. The original attachments are included unless includeAttachments is false, and an optional comment appears above the forwarded content. Repeating a successful forward with the same idempotencyKey and arguments returns the saved result instead of sending again. Cloud limits comment to 32,768 characters and forwarded attachments to 30.

Input Schema

NameRequiredDescriptionDefault
ccNoRecipients, each "Name <a@x.com>" or "a@x.com"
toYesRecipients, each "Name <a@x.com>" or "a@x.com"
fromNoConnected address or an available send-as address
commentNoComment above the forwarded message. Keep prose paragraphs on one continuous line and separate paragraphs with blank lines.
accountIdNoAccount to operate on. Optional when exactly one account is connected.
messageIdYes
idempotencyKeyYesReuse this key when retrying the same forward
includeAttachmentsNoDefault true

Output Schema

NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "accountId": {
      +          "type": "string"
      +        },
      +        "error": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "code"
      +          ],
      +          "type": "object"
      +        },
      +        "kind": {
      +          "type": "string"
      +        },
      +        "operationId": {
      +          "type": "string"
      +        },
      +        "result": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "id": {
      +              "type": "string"
      +            },
      +            "threadId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "threadId"
      +          ],
      +          "type": "object"
      +        },
      +        "status": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "operationId",
      +        "accountId",
      +        "kind",
      +        "status"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data"
      +  ],
      +  "type": "object"
      +}
  2. Changed5 schema fields changed
    • changedInput schema / properties / accountId / anyOf
      Previous value: -[
      -  {
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 512,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / cc / anyOf
      Previous value: -[
      -  {
      -    "description": "Recipients, each \"Name <a@x.com>\" or \"a@x.com\"",
      -    "items": {
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "Recipients, each \"Name <a@x.com>\" or \"a@x.com\"",
      +    "items": {
      +      "maxLength": 512,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "maxItems": 100,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / messageId / maxLength
      Added value: +512
    • addedInput schema / properties / to / items / maxLength
      Added value: +512
    • addedInput schema / properties / to / maxItems
      Added value: +100
  3. Changed26 schema fields changed
    • changedInput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / properties / accountId / anyOf
      Added value: +[
      +  {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / accountId / description
      Added value: +"Account to operate on. Optional when exactly one account is connected."
    • removedInput schema / properties / accountId / maxLength
      Removed value: -512
    • removedInput schema / properties / accountId / minLength
      Removed value: -1
    • removedInput schema / properties / accountId / type
      Removed value: -"string"
    • addedInput schema / properties / cc / anyOf
      Added value: +[
      +  {
      +    "description": "Recipients, each \"Name <a@x.com>\" or \"a@x.com\"",
      +    "items": {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / cc / description
      Added value: +"Recipients, each \"Name <a@x.com>\" or \"a@x.com\""
    • removedInput schema / properties / cc / items
      Removed value: -{
      -  "maxLength": 512,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / cc / maxItems
      Removed value: -100
    • removedInput schema / properties / cc / type
      Removed value: -"array"
    • addedInput schema / properties / comment / description
      Added value: +"Comment above the forwarded message. Keep prose paragraphs on one continuous line and separate paragraphs with blank lines."
    • removedInput schema / properties / comment / maxLength
      Removed value: -32768
    • changedInput schema / properties / comment / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedInput schema / properties / from / anyOf
      Added value: +[
      +  {
      +    "format": "email",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / from / description
      Added value: +"Connected address or an available send-as address"
    • removedInput schema / properties / from / format
      Removed value: -"email"
    • removedInput schema / properties / from / pattern
      Removed value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    • removedInput schema / properties / from / type
      Removed value: -"string"
    • addedInput schema / properties / idempotencyKey / description
      Added value: +"Reuse this key when retrying the same forward"
    • addedInput schema / properties / includeAttachments / description
      Added value: +"Default true"
    • changedInput schema / properties / includeAttachments / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • removedInput schema / properties / messageId / maxLength
      Removed value: -512
    • addedInput schema / properties / to / description
      Added value: +"Recipients, each \"Name <a@x.com>\" or \"a@x.com\""
    • removedInput schema / properties / to / items / maxLength
      Removed value: -512
    • removedInput schema / properties / to / maxItems
      Removed value: -100
  4. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  5. Added

TDQS

A3.9/5.0
Behavior4/5

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

Adds real context beyond the annotations: idempotent replay returns the saved result rather than re-sending, attachments carry over by default, and hard limits of 32,768 comment characters and 30 attachments are disclosed. It does not elaborate on the destructive/irreversible nature of a real send or any permission requirements for the 'from' send-as address.

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

Conciseness5/5

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

Four sentences, ~90 words, all load-bearing: effect first, then attachment behavior, idempotency, and limits. No filler and no restatement of the title.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description covers the operation's side effects, defaults, and limits. It stops short of covering sender identity constraints or failure modes for an open-world, destructive send.

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

Parameters4/5

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

Schema coverage is already 88%, so the baseline is 3; the description adds value by stating the comment length cap and the 30-attachment cap, which the schema does not. The includeAttachments default is repeated from the schema rather than extended, keeping this below a 5.

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

Purpose4/5

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

States a specific verb and resource ('Forward an email to new recipients') plus the visible effects: 'Fwd:' subject prefix and quoted original. This is clearly distinguishable from send_email or create_draft, though it never names a sibling or states the boundary explicitly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: forwarding is for existing messages, and the idempotencyKey sentence tells you to reuse the key on retries. There is no explicit when-to-use/when-not guidance relative to send_email, create_draft, or preview_send, which are the plausible alternatives for outbound mail.

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