Skip to main content
Glama

enableMailDomain

Idempotent

enableMailDomain: Enable email hosting on a domain you own. Free; mailboxes are what cost money. If the call fails with a DNS conflict (an existing SPF or MX record), ask the user for explicit consent, then re-call with spfMergeConfirmed=true and/or takeoverConfirmed=true. Requires authentication.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain to enable email hosting on, e.g. 'example.com'.
dnsModeNo'PDNS_AUTO' (default) publishes all mail DNS records automatically; the domain must use our nameservers. 'EXTERNAL_MANUAL' returns the DNS records for you to publish at your DNS provider, and the domain stays PENDING_DNS until verifyMailDns succeeds.
sessionKeyNoSession key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth.
spfMergeConfirmedNoSet true, only with the user's explicit consent, to replace a foreign SPF record.
takeoverConfirmedNoSet true, only with the user's explicit consent, to repoint a foreign MX record; this moves their live email.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / dnsMode / description
      Added value: +"'PDNS_AUTO' (default) publishes all mail DNS records automatically; the domain must use our nameservers. 'EXTERNAL_MANUAL' returns the DNS records for you to publish at your DNS provider, and the domain stays PENDING_DNS until verifyMailDns succeeds."
    • addedInput schema / properties / domain / description
      Added value: +"The domain to enable email hosting on, e.g. 'example.com'."
    • addedInput schema / properties / spfMergeConfirmed / description
      Added value: +"Set true, only with the user's explicit consent, to replace a foreign SPF record."
    • addedInput schema / properties / takeoverConfirmed / description
      Added value: +"Set true, only with the user's explicit consent, to repoint a foreign MX record; this moves their live email."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With annotations already marking this as non-read-only, idempotent, and non-destructive, the description adds meaningful behavioral context: it can hit a DNS conflict, may require user consent before overwriting SPF/MX records, and requires authentication. It explains the failure path and the consent flow better than the annotations alone, though it does not describe what the successful response looks like.

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?

The description is compact and front-loaded with the core purpose. Every sentence earns its place: purpose, cost context, failure handling with consent, and authentication requirement. No redundant or filler content.

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?

For a tool with five parameters, one required, and no output schema, the description covers the key operational concerns: what it does, when it fails, how to recover, and authentication. Minor gaps are the absence of any mention of the success return value and the lack of an explicit pointer to a related verification step for external DNS mode, though the schema partially covers that.

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 description coverage is 100%, so the baseline is 3, but the description adds value by connecting the failure scenario to spfMergeConfirmed and takeoverConfirmed, explaining when to use these flags. It also clarifies the ownership prerequisite for the 'domain' parameter. This is genuine semantic enrichment beyond the rich schema.

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

Purpose5/5

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

The description identifies a specific verb and resource: 'Enable email hosting on a domain you own.' This clearly distinguishes the tool from siblings like createMailbox, listMailDomains, and verifyMailDns, whose roles are different enough that an agent can select this one correctly.

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

Usage Guidelines4/5

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

The description gives clear usage context: use it on a domain you own, it is free, mailboxes cost extra, and authentication is required. It also provides conditional guidance for DNS conflicts, including when to set confirmation flags. It does not explicitly name alternative tools or state when not to use this tool, so it stays just short of a 5.

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.