MailFlat
Real email inboxes for AI agents: open an address, read the one-time code, send mail.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
mailflat-mcpclaude mcp add mailflat -e 'MAILFLAT_API_KEY=<your mailflat_api_key>' -e 'MAILFLAT_API_URL=<MAILFLAT_API_URL>' -- uvx mailflat-mcp==0.9.2
{
"mcpServers": {
"mailflat": {
"command": "uvx",
"args": [
"mailflat-mcp==0.9.2"
],
"env": {
"MAILFLAT_API_KEY": "<your mailflat_api_key>",
"MAILFLAT_API_URL": "<MAILFLAT_API_URL>"
}
}
}
}
Variables d'environnement
MAILFLAT_API_KEYobligatoire secret MailFlat API key. Create one in the dashboard under Agents.MAILFLAT_API_URLOverride the API base URL. Defaults to https://mailflat.net.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
MailFlat SDKs
Official client libraries for MailFlat: email inboxes your code owns, with one-line OTP retrieval. Built for test suites (Selenium, pytest, Playwright) and AI agents.
Addresses are permanent, so a suite does not need a fresh one per run. Only the messages expire, on a retention window you choose.
This repo holds only the open-source SDKs. The MailFlat service itself is closed-source.
Packages
| Package | For | Install |
|---|---|---|
mailflat | Python | pip install mailflat |
@mailflat/sdk | JavaScript / TypeScript | npm i @mailflat/sdk |
mailflat-mcp | AI assistants (Claude, Cursor) — MCP | uvx mailflat-mcp |
@mailflat/ai-sdk | Vercel AI SDK agents | npm i @mailflat/ai-sdk |
mailflat.langchain | LangChain agents | pip install "mailflat[langchain]" |
mailflat-sdk (Java) | Java / Selenium | via JitPack — see below |
Each client is a thin, typed wrapper over the same /api/v1 Agent API, so they behave identically.
Authenticate with your account key (mf_live_…) from the dashboard (Agents → API keys).
Java / Selenium (JitPack)
JitPack derives the
groupIdfrom the GitHub owner. This repo moved to the officialMailFlataccount in August 2026, so releases fromv0.4.4on publish ascom.github.MailFlat:mailflat-sdks. Earlier versions still resolve under the old coordinatecom.github.onderyentar21:mailflat-sdks; the old repo stays up for them. The client is moving to Maven Central (net.mailflat) next, which ends the owner coupling.
<repositories>
<repository><id>jitpack.io</id><url>https://jitpack.io</url></repository>
</repositories>
<dependency>
<groupId>com.github.MailFlat</groupId>
<artifactId>mailflat-sdks</artifactId>
<version>v0.8.1</version>
</dependency>
MailFlat mf = new MailFlat("mf_live_…");
Inbox inbox = mf.create("signup");
driver.findElement(By.id("email")).sendKeys(inbox.address());
String otp = inbox.waitForOtp(30); // polls until the code arrives
driver.findElement(By.id("code")).sendKeys(otp);
Quick examples
Python
from mailflat import MailFlat
mf = MailFlat(api_key="mf_live_…")
inbox = mf.create(label="signup")
otp = inbox.wait_for_otp(timeout=30)
JavaScript / TypeScript
import { MailFlat } from "@mailflat/sdk";
const mf = new MailFlat({ apiKey: process.env.MAILFLAT_API_KEY });
const inbox = await mf.create({ label: "signup" });
const otp = await inbox.waitForOtp({ timeout: 30000 });
License
MIT. The full text is in LICENSE at the repository root; each package directory carries an identical copy.
Questions fréquentes
Qu'est-ce que MailFlat ?
Real email inboxes for AI agents: open an address, read the one-time code, send mail.
Comment installer MailFlat ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mailflat -e 'MAILFLAT_API_KEY=<your mailflat_api_key>' -e 'MAILFLAT_API_URL=<MAILFLAT_API_URL>' -- uvx mailflat-mcp==0.9.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour MailFlat ?
Oui. Il attend MAILFLAT_API_KEY, à renseigner dans sa configuration.
MailFlat est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient MailFlat ?
Il est publié par MailFlat. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.