Skip to main content
Glama
Michaelzag

Migadu MCP Server

by Michaelzag

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MIGADU_EMAILYesYour Migadu account email address.
MIGADU_DOMAINNoOptional default domain to use when not explicitly provided in tool calls.
MIGADU_API_KEYYesYour Migadu API key (obtained from Admin → My Account → API Keys).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_domainsA

List all domains for the authenticated account.

get_domainB

Get full details for a specific domain.

get_domain_recordsA

Get the DNS records (MX, SPF, DKIM, DMARC, verification) required for domain setup.

get_domain_diagnosticsA

Run DNS validation diagnostics on a domain. Use after configuring records externally.

get_domain_usageB

Get message and storage usage metrics for a domain.

create_domainA

Create domain(s). Migadu recommends hosted_dns=False (use external DNS). List of dicts with: name, hosted_dns (optional, default false), create_default_addresses (optional, default true).

update_domainA

Update domain field(s). List of dicts with: name (required), description (optional), tags (optional).

activate_domainA

Activate domain(s) once DNS records are configured. Fails with 422 if DNS validation fails. List of dicts with: name.

list_mailboxesC

List email mailboxes for a domain.

get_mailboxA

Get full mailbox details by email or local part.

create_mailboxA

Create mailbox(es). List of dicts with: target, name, password or password_recovery_email, is_internal (optional), forwarding_to (optional).

update_mailboxA

Update mailbox settings. List of dicts with: target (required) and any of: name, may_send, may_receive, may_access_imap, may_access_pop3, may_access_managesieve, spam_action, spam_aggressiveness, sender_denylist, sender_allowlist, recipient_denylist.

delete_mailboxA

Delete mailbox(es). DESTRUCTIVE. List of dicts with: target.

reset_mailbox_passwordC

Reset mailbox password(s). List of dicts with: target, new_password.

set_autoresponderB

Configure autoresponder(s). List of dicts with: target, active, subject (optional), body (optional), expires_on (optional, YYYY-MM-DD).

list_identitiesB

List identities (send-as addresses) for a mailbox.

get_identityC

Get full details for a specific identity.

create_identityC

Create identit(ies). List of dicts with: target, mailbox, name, password, domain (optional).

update_identityA

Update identity settings. List of dicts with: target, mailbox (required) and any of: domain, name, may_send, may_receive, may_access_imap, may_access_pop3, may_access_managesieve, footer_active, footer_plain_body, footer_html_body.

delete_identityB

Delete identit(ies). DESTRUCTIVE. List of dicts with: target, mailbox, domain (optional).

list_aliasesB

List aliases for a domain.

get_aliasB

Get alias details by local part.

create_aliasA

Create alias(es). List of dicts with: target, destinations (list or CSV), domain (optional), is_internal (optional).

update_aliasB

Update alias destinations. List of dicts with: target, destinations (list or CSV), domain (optional).

delete_aliasA

Delete alias(es). DESTRUCTIVE. List of dicts with: target, domain (optional).

list_rewritesC

List rewrite rules for a domain.

get_rewriteB

Get rewrite rule details by slug/name.

create_rewriteB

Create rewrite rule(s). List of dicts with: name, local_part_rule (pattern), destinations, domain (optional), order_num (optional).

update_rewriteB

Update rewrite rule(s). List of dicts with: name (required), and any of: new_name, local_part_rule, destinations, order_num, domain.

delete_rewriteA

Delete rewrite rule(s). DESTRUCTIVE. List of dicts with: name, domain (optional).

list_forwardingsA

List external forwardings configured on a mailbox.

get_forwardingA

Get details for a specific forwarding (confirmation status, expiry, active state).

create_forwardingB

Create forwarding(s). Forwardings require external-user confirmation. List of dicts with: mailbox, address, domain (optional), expires_on (optional, YYYY-MM-DD), remove_upon_expiry (optional).

update_forwardingA

Update forwarding(s). List of dicts with: mailbox, address (required), and any of: is_active, expires_on, remove_upon_expiry, domain.

delete_forwardingA

Delete forwarding(s). DESTRUCTIVE. List of dicts with: mailbox, address, domain (optional).

Prompts

Interactive templates invoked by user choice

NameDescription
mailbox_creation_wizardGenerate a step-by-step plan for creating mailboxes based on requirements.
bulk_operation_plannerPlan a bulk operation across multiple resources.
domain_onboardingWalk through onboarding a new Migadu domain end-to-end.

Resources

Contextual data attached and managed by the client

NameDescription
All DomainsAll domains for the authenticated account

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Michaelzag/migadu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server