Skip to main content
Glama

AIsa Agent Mail

List And Create Domains

post_get_agentmail_domains
Destructive

Retrieve a paginated list of domains or create a new domain with verification and feedback settings.

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

Input Schema

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / allOf
      Removed value: -[
      -  {
      -    "if": {
      -      "anyOf": [
      -        {
      -          "properties": {
      -            "allow_conflicting_provider": {
      -              "not": {
      -                "type": "null"
      -              }
      -            }
      -          },
      -          "required": [
      -            "allow_conflicting_provider"
      -          ]
      -        },
      -        {
      -          "properties": {
      -            "domain": {
      -              "not": {
      -                "type": "null"
      -              }
      -            }
      -          },
      -          "required": [
      -            "domain"
      -          ]
      -        },
      -        {
      -          "properties": {
      -            "feedback_enabled": {
      -              "not": {
      -                "type": "null"
      -              }
      -            }
      -          },
      -          "required": [
      -            "feedback_enabled"
      -          ]
      -        },
      -        {
      -          "properties": {
      -            "inbound_enabled": {
      -              "not": {
      -                "type": "null"
      -              }
      -            }
      -          },
      -          "required": [
      -            "inbound_enabled"
      -          ]
      -        },
      -        {
      -          "properties": {
      -            "subdomains_enabled": {
      -              "not": {
      -                "type": "null"
      -              }
      -            }
      -          },
      -          "required": [
      -            "subdomains_enabled"
      -          ]
      -        },
      -        {
      -          "properties": {
      -            "tracking_enabled": {
      -              "not": {
      -                "type": "null"
      -              }
      -            }
      -          },
      -          "required": [
      -            "tracking_enabled"
      -          ]
      -        }
      -      ]
      -    },
      -    "then": {
      -      "properties": {
      -        "domain": {
      -          "not": {
      -            "type": "null"
      -          }
      -        }
      -      },
      -      "required": [
      -        "domain"
      -      ]
      -    }
      -  }
      -]
    • removedInput schema / properties / allow_conflicting_provider
      Removed value: -{
      -  "description": "Allow registration when the domain already has Google Workspace MX records.\nDefaults to false; registration otherwise returns 422 when a conflicting\nprovider is detected.\nThis flag does not configure DNS or inbound routing. For shared Google\nWorkspace domains, follow the [Google Workspace guide](/google-workspace).\nOnly checked when `inbound_enabled` is true; a send-only domain skips the check.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "allow_conflicting_provider": {
      +      "description": "Allow registration when the domain already has Google Workspace MX records.\nDefaults to false; registration otherwise returns 422 when a conflicting\nprovider is detected.\nThis flag does not configure DNS or inbound routing. For shared Google\nWorkspace domains, follow the [Google Workspace guide](/google-workspace).\nOnly checked when `inbound_enabled` is true; a send-only domain skips the check.",
      +      "type": "boolean"
      +    },
      +    "domain": {
      +      "description": "The name of the domain (e.g., `example.com`).",
      +      "title": "DomainName",
      +      "type": "string"
      +    },
      +    "feedback_enabled": {
      +      "description": "Bounce and complaint notifications are sent to your inboxes.",
      +      "title": "FeedbackEnabled",
      +      "type": "boolean"
      +    },
      +    "inbound_enabled": {
      +      "description": "Receive email for this domain. Defaults to `true`. Set `false` for a send-only\ndomain: the apex MX record is not required and is omitted from `records`, so the\ndomain's existing email provider keeps receiving its mail. Inboxes on a send-only\ndomain can still send.",
      +      "title": "InboundEnabled",
      +      "type": "boolean"
      +    },
      +    "subdomains_enabled": {
      +      "description": "Allow inboxes on any subdomain of this domain. Adds a required wildcard MX\nrecord (`*.<domain>`) to `records`.",
      +      "title": "SubdomainsEnabled",
      +      "type": "boolean"
      +    },
      +    "tracking_enabled": {
      +      "description": "Serve open tracking pixels from this domain. Adds a required `link.<domain>`\nCNAME record to `records`, which must be published and verified before\n`track_opens` can be used on a send.",
      +      "title": "TrackingEnabled",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "domain"
      +  ],
      +  "title": "CreateDomainRequest",
      +  "type": "object"
      +}
    • removedInput schema / properties / domain
      Removed value: -{
      -  "description": "The name of the domain (e.g., `example.com`).",
      -  "title": "DomainName",
      -  "type": "string"
      -}
    • removedInput schema / properties / feedback_enabled
      Removed value: -{
      -  "description": "Bounce and complaint notifications are sent to your inboxes.",
      -  "title": "FeedbackEnabled",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / inbound_enabled
      Removed value: -{
      -  "description": "Receive email for this domain. Defaults to `true`. Set `false` for a send-only\ndomain: the apex MX record is not required and is omitted from `records`, so the\ndomain's existing email provider keeps receiving its mail. Inboxes on a send-only\ndomain can still send.",
      -  "title": "InboundEnabled",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / subdomains_enabled
      Removed value: -{
      -  "description": "Allow inboxes on any subdomain of this domain. Adds a required wildcard MX\nrecord (`*.<domain>`) to `records`.",
      -  "title": "SubdomainsEnabled",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / tracking_enabled
      Removed value: -{
      -  "description": "Serve open tracking pixels from this domain. Adds a required `link.<domain>`\nCNAME record to `records`, which must be published and verified before\n`track_opens` can be used on a send.",
      -  "title": "TrackingEnabled",
      -  "type": "boolean"
      -}
  2. Changed1 schema field changed
    • addedInput schema / allOf
      Added value: +[
      +  {
      +    "if": {
      +      "anyOf": [
      +        {
      +          "properties": {
      +            "allow_conflicting_provider": {
      +              "not": {
      +                "type": "null"
      +              }
      +            }
      +          },
      +          "required": [
      +            "allow_conflicting_provider"
      +          ]
      +        },
      +        {
      +          "properties": {
      +            "domain": {
      +              "not": {
      +                "type": "null"
      +              }
      +            }
      +          },
      +          "required": [
      +            "domain"
      +          ]
      +        },
      +        {
      +          "properties": {
      +            "feedback_enabled": {
      +              "not": {
      +                "type": "null"
      +              }
      +            }
      +          },
      +          "required": [
      +            "feedback_enabled"
      +          ]
      +        },
      +        {
      +          "properties": {
      +            "inbound_enabled": {
      +              "not": {
      +                "type": "null"
      +              }
      +            }
      +          },
      +          "required": [
      +            "inbound_enabled"
      +          ]
      +        },
      +        {
      +          "properties": {
      +            "subdomains_enabled": {
      +              "not": {
      +                "type": "null"
      +              }
      +            }
      +          },
      +          "required": [
      +            "subdomains_enabled"
      +          ]
      +        },
      +        {
      +          "properties": {
      +            "tracking_enabled": {
      +              "not": {
      +                "type": "null"
      +              }
      +            }
      +          },
      +          "required": [
      +            "tracking_enabled"
      +          ]
      +        }
      +      ]
      +    },
      +    "then": {
      +      "properties": {
      +        "domain": {
      +          "not": {
      +            "type": "null"
      +          }
      +        }
      +      },
      +      "required": [
      +        "domain"
      +      ]
      +    }
      +  }
      +]
  3. Added
  4. Removed
  5. Added

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false, openWorldHint=true, so the safety profile is covered. The description adds 'with verification and feedback settings' and a per-request price, but omits essential behavior: creating triggers DNS record publication and verification state, duplicates or conflicting providers error out (422), and the list side is paginated with no page-size or cursor details.

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

Conciseness4/5

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

The core description is a single front-loaded sentence with no filler, and the operation is stated before any caveat. The appended pricing block is boilerplate injected by the platform rather than authored text, so it is not penalized heavily.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. What is missing is the piece unique to this tool: how a caller selects list versus create, and that domain creation is a non-idempotent operation with downstream verification consequences. For a dual-purpose mutation tool this is a material gap.

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?

Reported schema coverage is 0% at the top level, and the single 'body' parameter has no description, so the description carries the burden. Instead it says nothing about how body presence selects create vs list, which is the one parameter semantic an agent most needs. Nested property descriptions exist in the schema, which softens but does not remove the gap.

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

Purpose4/5

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

The description names both specific operations (paginated list of domains, create a new domain) and the resource, so an agent can tell what the tool does. However, it gives no differentiation from siblings such as get_any_agentmail_apis_v1_agentmail_domains_domain_id or the delete/patch domain tools, and the combined 'list OR create' phrasing sits awkwardly against the post_get_ naming.

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?

Nothing states when to use one mode versus the other. Critically, the description never explains the dispatch rule (presumably: omit body to list, supply body to create), nor does it name alternatives for listing or creating domains. The agent must guess which behavior a given call will trigger.

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