Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MXROUTE_SERVERYesYour MXroute mail server hostname, e.g. eagle.mxroute.com.
MXROUTE_API_KEYYesYour MXroute API key. Send the complete key unchanged, without a 'keyid:' prefix.
MXROUTE_API_BASENoOptional API base URL override.https://api.mxroute.com
MXROUTE_USERNAMEYesYour DirectAdmin username. Resellers can send 'reseller|user' to act as an owned user.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_verification_keyA

Returns the account's domain verification key. To add a new domain: create a TXT record at your registrar named <key>.<yourdomain> with value domain-verified, wait for DNS propagation (typically 5-15 minutes), then call create_domain. The returned record object contains the exact TXT record name, type, and value.

list_domainsA

Lists all domains on the account. Returns an array of domain names, e.g. ["example.com", "mydomain.org"]. Use get_domain for the details of a single domain.

create_domainA

Adds a new domain to the account for email hosting. The domain must be verified first: call get_verification_key, then add a TXT record named <key>.<domain> with the value domain-verified at the registrar, and wait for DNS propagation (typically 5-15 minutes) before calling this tool. Returns the created domain and its ssl_enabled status. A 409 error means the domain already exists on the account.

get_domainA

Returns the details of one domain: mail hosting status, SSL status, and the names of any domain pointers (aliases) attached to it. Use list_domains to discover the domain names on the account.

delete_domainA

Removes the domain from the account. Destructive: mailboxes and forwarders under this domain stop working and mail to the domain is no longer handled. Use set_domain_mail_hosting to pause mail service without deleting the domain.

set_domain_mail_hostingA

Enables or disables mail hosting for a domain. Set enabled=true to have MXroute handle mail for the domain, enabled=false to pause mail hosting. Pure state change: the domain, its mailboxes, and their settings are kept.

list_domain_pointersA

Lists the domain pointers (aliases and redirects) attached to a domain. Each entry has the pointer domain name, its type ("alias" or "redirect"), and the target domain it serves.

create_domain_pointerB

Attaches a pointer domain to an existing domain. With alias=true (the default) the pointer is an alias serving the same mailboxes as the target domain; with alias=false it is a redirect.

delete_domain_pointerA

Removes a domain pointer (alias or redirect) from a domain. The pointer domain stops serving the target domain's mailboxes; the target domain itself is unchanged.

list_email_accountsA

Lists the mailboxes under a domain. Each entry includes the local part, full email address, quota in MB (0 = unlimited), current usage in MB, daily send limit, messages sent today, and suspended status.

create_email_accountB

Creates a mailbox under a domain. username is the local part before the @; password is 8-72 characters (the mail server additionally enforces its own character and strength rules server-side). quota is the storage limit in MB; limit is the daily send limit. Omitted quota and limit use the API defaults.

get_email_accountA

Returns the details of one mailbox: username, full email address, quota in MB (0 = unlimited), current usage in MB, daily send limit, messages sent today, and suspended status. user is the mailbox local part (the part before the @).

update_email_accountA

Updates a mailbox's password, storage quota, or daily send limit. Only provided fields change; omitted fields keep their current values. The mailbox is looked up case-insensitively by local part. Password rejections (outside 8-72 characters or failing server-side strength rules) return field-specific errors naming the password field.

delete_email_accountA

Permanently deletes a mailbox and its stored mail. Destructive and irreversible: the address immediately stops accepting mail. user is the mailbox local part (the part before the @). Read the exact username casing back from list_email_accounts or get_email_account before deleting: updates resolve the local part case-insensitively and reject an ambiguous match, but deletes should use the exact stored casing.

list_forwardersA

Lists all email forwarders on a domain. Each entry carries the alias (local part), the full forwarder email address, and the destination addresses it forwards to.

create_forwarderA

Creates an email forwarder for an alias on a domain. Special destinations: :blackhole: silently discards mail and :fail: rejects it. Forwarding to Gmail, Yahoo, AOL and similar providers automatically enables Expert Spam Filtering for the domain to protect its sending reputation.

delete_forwarderA

Deletes an email forwarder by its alias. Mail sent to the alias is no longer forwarded after deletion. Read the alias's exact stored casing back from list_forwarders before deleting, and pass it unchanged.

get_spam_settingsA

Returns the spam settings for a domain. high_score is the SpamAssassin-style score threshold (1-50) at which incoming mail is automatically deleted.

update_spam_settingsA

Sets the spam auto-deletion threshold (high_score, integer 1-50) for a domain. Lower values delete more aggressively; higher values keep more mail. Writes are serialized account-wide: if a save fails (for example 503), re-read the settings before retrying.

get_spam_whitelistA

Lists the spam whitelist entries for a domain. Whitelisted senders bypass spam filtering. Entries support wildcards (for example *@trusted.com) and match case-insensitively. Sender lists are shared across all domains on the account.

add_spam_whitelist_entryA

Adds an entry to the spam whitelist; whitelisted senders bypass spam filtering. Supports wildcards (for example *@trusted.com). A 409 error means the entry already exists (entries match case-insensitively). Sender lists are shared across all domains on the account.

remove_spam_whitelist_entryA

Removes an entry from the spam whitelist. Entries match case-insensitively, so the stored casing may differ. Sender lists are shared across all domains on the account, so this affects every domain on the account.

get_spam_blacklistA

Lists the spam blacklist entries for a domain. Blacklisted senders are always treated as spam. Entries support wildcards (for example *@example.com) and match case-insensitively. Sender lists are shared across all domains on the account. An empty 200 response is treated as an empty list.

add_spam_blacklist_entryA

Adds an entry to the spam blacklist; blacklisted senders are always treated as spam. Supports wildcards (for example *@example.com). A 409 error means the entry already exists (entries match case-insensitively). Sender lists are shared across all domains on the account.

remove_spam_blacklist_entryA

Removes an entry from the spam blacklist. Entries match case-insensitively, so the stored casing may differ. Sender lists are shared across all domains on the account, so this affects every domain on the account.

get_dns_recordsA

Returns the DNS records to configure at the domain's registrar for MXroute mail delivery: MX records plus the SPF, DKIM, and verification TXT records. dkim and verification are null when the record does not apply to this domain.

get_catch_allA

Returns the domain's catch-all setting: how mail addressed to nonexistent local parts is handled. type is fail (reject), blackhole (silently discard), or address (forward); address holds the forwarding destination when type is address, otherwise null.

set_catch_allA

Sets how the domain handles mail addressed to nonexistent local parts: fail rejects the mail, blackhole silently discards it, address forwards it to a chosen mailbox or forwarder. The address input is required when type is address and must be omitted otherwise.

get_disk_quotaA

Returns account disk usage: total bytes used and quota limit (0 = unlimited), percent used, a category breakdown (email, web, databases, backups, other — in bytes), and the grace period when the account is over quota. Data is refreshed hourly.

get_email_usageA

Returns per-mailbox disk usage for the account, largest mailbox first (email address, size in bytes, last update time). Useful for finding which mailboxes to trim when the account nears its quota. Data is refreshed hourly.

list_reseller_usersA

Lists the usernames of all users under the reseller account. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 403 means the credential lacks reseller privileges or is impersonating.

create_reseller_userA

Creates a user under the reseller account with the given username, contact email, password, and package. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. The package must already exist (see list_packages); 422 means it does not.

get_reseller_userA

Returns one reseller user's details: username, email, domain, package, suspended flag, and quota (limit in MB, null when unlimited). Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the user does not exist.

update_reseller_userA

Updates a reseller user's disk quota and/or password. Only provided fields are sent; the rest keep their current values. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the user does not exist.

delete_reseller_userA

Destructive: deletes the user and everything under it, irreversibly. Per DirectAdmin behavior the deletion may fail or cascade, so double-check the username first. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the user does not exist.

suspend_reseller_userA

Suspends a reseller user, blocking their access without deleting data. Repeating the call is harmless. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the user does not exist.

unsuspend_reseller_userA

Reverses the suspension of a reseller user, restoring their access. Repeating the call is harmless. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the user does not exist.

set_reseller_user_packageA

Moves a reseller user to a different package and returns the updated user. Changing the package can change the quota and limits of every domain under the user. A 422 means the package does not exist (see list_packages). Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user.

list_packagesA

Lists the names of all packages defined under the reseller account. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 403 means the credential lacks reseller privileges or is impersonating.

create_packageA

Creates a package that reseller users can be assigned to. Unset limits take the API defaults: quota 1 GB, 1 domain, 100 email accounts, 100 email forwarders, 10 domain pointers. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user.

get_packageA

Returns one package's settings: quota_gb (null when unlimited), domains, email_accounts, email_forwarders, and domain_pointers limits (null = unlimited; email_accounts excludes the system mailbox). Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the package does not exist.

update_packageA

Updates a package's limits; only provided fields are sent, the rest keep their current values. Quota is in GB here (the reseller user quota endpoint uses MB). Changes affect every user on the package. Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the package does not exist.

delete_packageA

Deletes a package. Fails with 422 while any user is still on the package; move affected users to another package first (set_reseller_user_package). Reseller-level operation: call while authenticated as the reseller (plain reseller username), not while impersonating a user. A 404 means the package does not exist.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 43 tools

Disambiguation4/5

Tools are organized into clear resource families (domains, pointors, mailboxes, forwarders, spam, DNS, reseller users, packages) with distinct verbs per resource. A few pairs need the descriptions to disambiguate (get_disk_quota vs get_email_usage, get_verification_key vs get_dns_records, domain pointers vs forwarders), but none are truly interchangeable.

Naming Consistency4/5

Nearly all tools follow a clean snake_case verb_noun pattern (list_domains, create_email_account, update_reseller_user, delete_package). Minor deviation: the spam lists use add_/remove_ while other resources use create_/delete_, and set_/update_ are used slightly inconsistently, but the convention is overwhelmingly predictable.

Tool Count3/5

43 tools is heavy and spans two distinct functional areas (domain/mailbox administration and reseller account/package management) that could reasonably be split. That said, the tools are genuinely distinct and each covers a real operation rather than being redundant, so it is feature-rich rather than bloated.

Completeness4/5

Coverage is broad and mostly full-lifecycle: domains, mailboxes, spam settings/whitelist/blacklist, catch-all, DNS, quotas, and reseller users/packages all have create/get/list/update/delete where meaningful. Minor gaps exist (no update for forwarders or domain pointers, no mailbox rename), but core workflows are fully supported.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues