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.0.tar.gz (55.9 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.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: migadu_mcp-3.5.0.tar.gz
  • Upload date:
  • Size: 55.9 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.0.tar.gz
Algorithm Hash digest
SHA256 0011058062f64e9c73fb6e6ab871a444d36e5faacc5074bb7fc95e38407771f3
MD5 6a5ac8c9fbcff1a8c72a283c56fc7e32
BLAKE2b-256 22866f2ae625b99a2b5fa562c4978667049dcce4b410538908e23ffeb63a3bd7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: migadu_mcp-3.5.0-py3-none-any.whl
  • Upload date:
  • Size: 37.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee394f60e5a13e5b6ac4e5d7d1f0551e20478b8711a0519aae616aff23086c6c
MD5 f6df4b29eb36834e254c26ad12848928
BLAKE2b-256 577c370366762207524c8a61832adfa7a8ceddfc304aea08aa345cc5cf6d3a29

See more details on using hashes here.

Provenance

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