Migadu MCP Server

Migadu MCP Server

Enables AI assistants to manage Migadu email hosting services through natural language, including creating mailboxes, setting up aliases, configuring autoresponders, and handling bulk operations efficiently.

Category
Visit Server

Tools

list_mailboxes

List email mailboxes for domain. Returns summary with statistics and samples. Args: domain: Domain name. Uses MIGADU_DOMAIN if not provided. Returns: JSON object with mailbox summary and statistics

create_mailbox

Create email mailboxes. List of dicts with: target (email/local), name (display), password (optional), recovery_email (optional), is_internal (optional), forwarding_to (optional).

update_mailbox

Update mailbox settings. List of dicts with: target (required), name (optional), may_send (optional), may_receive (optional), may_access_imap (optional), may_access_pop3 (optional), spam_action (optional), spam_aggressiveness (optional).

delete_mailbox

Delete mailboxes. DESTRUCTIVE: Cannot be undone. List of dicts with: target (email/local).

reset_mailbox_password

Reset mailbox passwords. List of dicts with: target (email/local), new_password (required).

set_autoresponder

Configure mailbox autoresponders. List of dicts with: target (email/local), active (required), subject (optional), body (optional), expires_on (optional).

list_identities

List email identities for mailbox. Returns summary with statistics and samples.

create_identity

Create email identities. List of dicts with: target, mailbox, name, password (required), domain (optional).

update_identity

Update identity settings. List of dicts with: target, mailbox (required), domain, name, may_send, may_receive (optional).

delete_identity

Delete identities. DESTRUCTIVE: Cannot be undone. List of dicts with: target, mailbox (required), domain (optional).

list_aliases

List email aliases for domain. Returns summary with statistics and samples. Args: domain: Domain name. Uses MIGADU_DOMAIN if not provided. Returns: JSON object with alias summary and statistics

get_mailbox

Get detailed mailbox information with smart domain resolution. Args: target: Email address or local part if MIGADU_DOMAIN set Returns: JSON object with complete mailbox configuration

get_alias

Get detailed alias information. Args: target: Local part of alias domain: Domain name. Uses MIGADU_DOMAIN if not provided. Returns: JSON object with complete alias configuration

create_alias

Create email aliases with forwarding. List of dicts with: target (local part), destinations (email list), domain (optional), is_internal (optional).

update_alias

Update alias destinations. List of dicts with: target (local part), destinations (email list), domain (optional).

delete_alias

Delete aliases. DESTRUCTIVE: Cannot be undone. List of dicts with: target (local part), domain (optional).

list_rewrites

List pattern-based rewrite rules for domain. Returns summary with statistics and samples.

get_rewrite

Get detailed rewrite rule configuration. Requires rule name/slug.

create_rewrite

Create pattern-based rewrite rules. List of dicts with: name, local_part_rule, destinations (required), domain (optional).

update_rewrite

Update rewrite rule configuration. List of dicts with: name (required), domain, new_name, local_part_rule, destinations (optional).

delete_rewrite

Delete rewrite rules. DESTRUCTIVE: Cannot be undone. List of dicts with: name (required), domain (optional).

README

Migadu MCP Server

PyPI version Python 3.13+ License: MIT CI/CD Pipeline

Control your Migadu email hosting through AI assistants using the Model Context Protocol (MCP).

What is Migadu?

Migadu is a Swiss email hosting service that offers unlimited email addresses with pricing based on actual usage rather than mailbox count. They focus on standard email protocols (SMTP/IMAP/POP3) without vendor lock-in, making them popular with developers and privacy-conscious users.

What This Does

This MCP server lets AI assistants manage your Migadu email accounts. Instead of clicking through web interfaces, you can ask your AI to:

  • Create and delete mailboxes
  • Set up email aliases and forwarding rules
  • Configure autoresponders
  • Manage multiple email identities
  • Handle bulk operations efficiently

Setup

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "migadu": {
      "command": "uvx",
      "args": ["migadu-mcp"],
      "env": {
        "MIGADU_EMAIL": "admin@yourdomain.com",
        "MIGADU_API_KEY": "your-api-key",
        "MIGADU_DOMAIN": "yourdomain.com"
      }
    }
  }
}

Get your API key from Migadu Admin > My Account > API Keys.

Example Usage

Once configured, you can ask your AI assistant things like:

  • "Create a new mailbox for john@mydomain.com with the name John Smith"
  • "List all mailboxes on my domain"
  • "Set up an email alias support@mydomain.com that forwards to team@mydomain.com"
  • "Delete the mailboxes for employees who left: alice@mydomain.com, bob@mydomain.com"
  • "Create an autoresponder for vacation@mydomain.com"

Available Tools

Mailbox Management

  • list_mailboxes / list_my_mailboxes - View all mailboxes
  • get_mailbox / get_my_mailbox - Get mailbox details
  • create_mailbox / create_my_mailbox - Create new mailboxes
  • update_mailbox - Change mailbox settings
  • delete_mailbox - Remove mailboxes
  • bulk_delete_mailboxes - Delete multiple mailboxes at once
  • reset_mailbox_password - Change passwords
  • set_autoresponder - Configure out-of-office messages

Email Routing

  • list_aliases / list_my_aliases - View email aliases
  • create_alias - Set up email forwarding without creating a mailbox
  • update_alias - Change alias destinations
  • delete_alias - Remove aliases

Identity Management

  • list_identities - View send-as addresses
  • create_identity - Add additional sending addresses
  • update_identity - Modify identity permissions
  • delete_identity - Remove identities

Advanced Routing

  • list_rewrites - View pattern-based routing rules
  • create_rewrite - Set up wildcard email routing
  • update_rewrite - Modify routing patterns
  • delete_rewrite - Remove routing rules

External Forwarding

  • list_forwardings - View external forwarding rules
  • create_forwarding - Forward emails to external addresses
  • update_forwarding - Change forwarding settings
  • delete_forwarding - Remove forwarding rules

MCP Resources

Access structured data through these resource URIs:

  • mailboxes://domain.com - All mailboxes for a domain
  • mailbox://domain.com/username - Specific mailbox details
  • aliases://domain.com - All aliases for a domain
  • identities://domain.com/mailbox - Identities for a mailbox
  • forwardings://domain.com/mailbox - Forwarding rules for a mailbox
  • rewrites://domain.com - Rewrite rules for a domain

Technical Notes

  • The server handles Migadu's API quirks automatically (like 500 status codes on successful deletions)
  • All operations include proper error handling and progress reporting
  • Built with FastMCP for reliable MCP integration
  • Supports bulk operations with intelligent batching

Development

# Clone the repository
git clone https://github.com/Michaelzag/migadu-mcp.git
cd migadu-mcp

# Install dependencies
uv sync --group dev

# Run tests
uv run pytest

# Run quality checks
uv run ruff format --check .
uv run ruff check .
uv run mypy migadu_mcp/

License

MIT License - see LICENSE file for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured