Professional FastMCP server for comprehensive Migadu email management with Context logging, tool annotations, and testing infrastructure
Project description
Migadu MCP Server
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 mailboxesget_mailbox/get_my_mailbox- Get mailbox detailscreate_mailbox/create_my_mailbox- Create new mailboxesupdate_mailbox- Change mailbox settingsdelete_mailbox- Remove mailboxesbulk_delete_mailboxes- Delete multiple mailboxes at oncereset_mailbox_password- Change passwordsset_autoresponder- Configure out-of-office messages
Email Routing
list_aliases/list_my_aliases- View email aliasescreate_alias- Set up email forwarding without creating a mailboxupdate_alias- Change alias destinationsdelete_alias- Remove aliases
Identity Management
list_identities- View send-as addressescreate_identity- Add additional sending addressesupdate_identity- Modify identity permissionsdelete_identity- Remove identities
Advanced Routing
list_rewrites- View pattern-based routing rulescreate_rewrite- Set up wildcard email routingupdate_rewrite- Modify routing patternsdelete_rewrite- Remove routing rules
External Forwarding
list_forwardings- View external forwarding rulescreate_forwarding- Forward emails to external addressesupdate_forwarding- Change forwarding settingsdelete_forwarding- Remove forwarding rules
MCP Resources
Access structured data through these resource URIs:
mailboxes://domain.com- All mailboxes for a domainmailbox://domain.com/username- Specific mailbox detailsaliases://domain.com- All aliases for a domainidentities://domain.com/mailbox- Identities for a mailboxforwardings://domain.com/mailbox- Forwarding rules for a mailboxrewrites://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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file migadu_mcp-3.4.0.tar.gz.
File metadata
- Download URL: migadu_mcp-3.4.0.tar.gz
- Upload date:
- Size: 31.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36506183ce792e59d9d04d724556151a3b72b57bcc6ed03bceeb388105043511
|
|
| MD5 |
b7441bdac7f7ed9e529630eef9036abe
|
|
| BLAKE2b-256 |
9b73895c3bff01acdb23109f00d6d4790b307e415958475ffc5b98d0604b01bb
|
Provenance
The following attestation bundles were made for migadu_mcp-3.4.0.tar.gz:
Publisher:
main.yml on Michaelzag/migadu-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
migadu_mcp-3.4.0.tar.gz -
Subject digest:
36506183ce792e59d9d04d724556151a3b72b57bcc6ed03bceeb388105043511 - Sigstore transparency entry: 242464288
- Sigstore integration time:
-
Permalink:
Michaelzag/migadu-mcp@7431fbe379bc9b10b3ce3084801532bb6cc0d2a7 -
Branch / Tag:
refs/tags/v3.4.0 - Owner: https://github.com/Michaelzag
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@7431fbe379bc9b10b3ce3084801532bb6cc0d2a7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file migadu_mcp-3.4.0-py3-none-any.whl.
File metadata
- Download URL: migadu_mcp-3.4.0-py3-none-any.whl
- Upload date:
- Size: 38.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb78bb13f9ea4ea6bab49064181e3a879754f4ab4337f53312ffc4cb5ed34a6b
|
|
| MD5 |
7b3f7cd2cab3c61de1260962b28db438
|
|
| BLAKE2b-256 |
e55d0221623c5f8e28e150f0fb8eba2921114b09efa548e5d7d133e67e137869
|
Provenance
The following attestation bundles were made for migadu_mcp-3.4.0-py3-none-any.whl:
Publisher:
main.yml on Michaelzag/migadu-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
migadu_mcp-3.4.0-py3-none-any.whl -
Subject digest:
eb78bb13f9ea4ea6bab49064181e3a879754f4ab4337f53312ffc4cb5ed34a6b - Sigstore transparency entry: 242464296
- Sigstore integration time:
-
Permalink:
Michaelzag/migadu-mcp@7431fbe379bc9b10b3ce3084801532bb6cc0d2a7 -
Branch / Tag:
refs/tags/v3.4.0 - Owner: https://github.com/Michaelzag
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@7431fbe379bc9b10b3ce3084801532bb6cc0d2a7 -
Trigger Event:
release
-
Statement type: