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.5.1.tar.gz (54.4 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.5.1-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: migadu_mcp-3.5.1.tar.gz
  • Upload date:
  • Size: 54.4 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.5.1.tar.gz
Algorithm Hash digest
SHA256 210805770c375c2bd3ee907bf71454b863706f6bd98838b1a8fd36ca643f4a66
MD5 76baa5290f03298109f736bf8392308b
BLAKE2b-256 4f6447dd95d3d345f3144c22221fe595ee96a9684a9c2fa41011702ed491fbac

See more details on using hashes here.

Provenance

The following attestation bundles were made for migadu_mcp-3.5.1.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.5.1-py3-none-any.whl.

File metadata

  • Download URL: migadu_mcp-3.5.1-py3-none-any.whl
  • Upload date:
  • Size: 35.4 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.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3c3814e32b392a64f91ac9904746a8121b831abb33c7343796639ca9959f8a5
MD5 73809fa1a573b6cc884286d281151e58
BLAKE2b-256 fd16122182188695b83867997540e2d779a868abd5a247acc34862e7b5f64c80

See more details on using hashes here.

Provenance

The following attestation bundles were made for migadu_mcp-3.5.1-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