Skip to main content

Professional FastMCP server for comprehensive Migadu email management with Context logging, tool annotations, and testing infrastructure

Project description

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_michaelzag_migadu_mcp-1.0.0.tar.gz (60.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_michaelzag_migadu_mcp-1.0.0-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_michaelzag_migadu_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_michaelzag_migadu_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 60.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_michaelzag_migadu_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a733c7e8f597a9c202f49cf7a5fb43f8abab875bdd7b705198256206fff861a4
MD5 18ad9e25500c6e9d4cb1e7c27cc557af
BLAKE2b-256 0faf45a50260dfc09bfdf871e40f6db6fc2958f7412f1e3e9158cca57dbccd45

See more details on using hashes here.

File details

Details for the file iflow_mcp_michaelzag_migadu_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_michaelzag_migadu_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_michaelzag_migadu_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48ba39ccc35497b04117c2bc2fd6ca88fdd2d97ca5e1b569af13b92c40bbf0ef
MD5 3eac69ec1bb56edf29954044ae86dc6d
BLAKE2b-256 fbb00c148df1fc31b7cdef60532f67a962b324b6d5101246d2a3e9588ddbd8f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page