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

migadu_mcp-3.1.5.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

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

migadu_mcp-3.1.5-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file migadu_mcp-3.1.5.tar.gz.

File metadata

  • Download URL: migadu_mcp-3.1.5.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for migadu_mcp-3.1.5.tar.gz
Algorithm Hash digest
SHA256 e5cdf9230c61ac252539964d05dd2aa0eadb094336d4704ec96d267302b71f66
MD5 84a1128cd88f515dd4c1309ee37826b5
BLAKE2b-256 3c99bf33a18e8ea1a9fc0714f0b4944b7c0fad4c74e484fe66b57dd3b3201b1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for migadu_mcp-3.1.5.tar.gz:

Publisher: main.yml on Michaelzag/migadu-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file migadu_mcp-3.1.5-py3-none-any.whl.

File metadata

  • Download URL: migadu_mcp-3.1.5-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for migadu_mcp-3.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6784a2b4ff8fd321934508b49eba14254625e90cbee92452b3cae652dbf5b4f3
MD5 d0e3117add7f1533345f949ab7670449
BLAKE2b-256 49f6238a8c263fae749e0f3b16ed183382ef20d42657e4a104c5fee00fcb658a

See more details on using hashes here.

Provenance

The following attestation bundles were made for migadu_mcp-3.1.5-py3-none-any.whl:

Publisher: main.yml on Michaelzag/migadu-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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