Migadu MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MIGADU_EMAIL | Yes | Your Migadu account email address. | |
| MIGADU_DOMAIN | No | Optional default domain to use when not explicitly provided in tool calls. | |
| MIGADU_API_KEY | Yes | Your Migadu API key (obtained from Admin → My Account → API Keys). |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| mailbox_creation_wizard | Generate a step-by-step plan for creating mailboxes based on requirements. |
| bulk_operation_planner | Plan a bulk operation across multiple resources. |
| domain_onboarding | Walk through onboarding a new Migadu domain end-to-end. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| All Domains | All domains for the authenticated account |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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