MailFlat — MCP server
Native Model Context Protocol server for
MailFlat. Gives Claude Desktop, Cursor, or any MCP client
disposable inbox tooling — create inboxes, wait for OTP codes, send DKIM-signed mail,
and clean up. Built on the mailflat Python SDK.
Run
# zero-install, isolated (recommended)
MAILFLAT_API_KEY=mf_live_… uvx mailflat-mcp
# or install it
pipx install mailflat-mcp
MAILFLAT_API_KEY=mf_live_… mailflat-mcp
Claude Desktop / Cursor config
Add to claude_desktop_config.json (or your client's MCP config):
{
"mcpServers": {
"mailflat": {
"command": "uvx",
"args": ["mailflat-mcp"],
"env": { "MAILFLAT_API_KEY": "mf_live_..." }
}
}
}
Get your API key from the MailFlat dashboard → Agents.
Tools (11)
| Tool | What it does |
|---|---|
create_inbox(prefix?, label?, retention_hours?) |
Open a disposable inbox; retention_hours capped by your plan |
list_inboxes() |
All inboxes this key can see |
read_messages(address, direction="in") |
Read messages; received mail by default (out / all for the rest) |
wait_for_otp(address, timeout=30) |
Poll until an OTP arrives, then return it |
wait_for_message(address, timeout=30) |
Poll until a new message arrives; ignores mail you sent |
send_email(address, to, subject?, body?, html?) |
Send a DKIM-signed mail from the inbox |
reply(address, message_id, body?, html?) |
Answer a message in the same conversation (threading headers filled in) |
mark_read(address, message_id) |
Mark one message read so later polls skip it |
burn_inbox(address) |
Delete every message but KEEP the address |
delete_inbox(address) |
Delete the inbox and its messages |
delete_message(address, message_id) |
Delete one message; the inbox itself stays |
Reads return received mail by default. Without that, sending to a peer and then waiting for the reply would immediately match your own outgoing message.
Configuration
MAILFLAT_API_KEY— your account API key (required).MAILFLAT_API_URL— override the API base (defaulthttps://mailflat.net; for self-hosted / BYOD).
License
MIT
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 mailflat_mcp-0.6.0.tar.gz.
File metadata
- Download URL: mailflat_mcp-0.6.0.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
985564fe6a49ebd14df72cf7270cbf557f9bded6d6b6b7135a2739d5bc65e20a
|
|
| MD5 |
71110c60848a09f43a0cf6b3d0f0d464
|
|
| BLAKE2b-256 |
33a24e9fe335a30e3a93bef5ae7f247973ee733b40f6b2a6d2b6a1eb004a761a
|
File details
Details for the file mailflat_mcp-0.6.0-py3-none-any.whl.
File metadata
- Download URL: mailflat_mcp-0.6.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
666c309ae8c94e48a47f3c6b1f3bb380a61ff9acdbb2acd376b9a5d31a3e7729
|
|
| MD5 |
34d921e10d9576dc4c893a2b1bc7f087
|
|
| BLAKE2b-256 |
258665b8044a22a2f077e7a4aff630d78734d03150a6f32fad20f22e25c45498
|