关于 MailFlat
MailFlat SDK 为 AI Agent 和自动化测试套件提供由代码管理的邮箱。地址可长期使用,邮件保留期限可配置,并可通过一次调用获取 OTP,适用于需要邮件验证的流程。
主要功能
- 01创建长期邮箱
- 02通过等待操作获取 OTP
- 03选择邮件保留期限
- 04提供 Python、JavaScript、Java 及 Agent 框架 SDK
适用场景
- 01在 Selenium 测试中读取注册验证码
- 02在 pytest 或 Playwright 中自动完成邮件验证
- 03为 AI Agent 提供收发邮件的邮箱
MCP 相关
`mailflat-mcp` 软件包通过 MCP 为 Claude、Cursor 等 AI 助手提供 MailFlat 接入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
12收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| label | string | 否 | |
| prefix | string | 否 | |
| retention_hours | integer | 否 |
详细介绍
MailFlat SDK
适用于 MailFlat 的官方客户端库:由你的代码掌控的电子邮箱收件箱,支持单行代码获取 OTP。专为测试套件(Selenium、pytest、Playwright)和 AI Agent 打造。
邮箱地址是永久的,因此测试套件无需每次运行都申请新地址。只有邮件会在你选择的保留期限后过期。
本仓库仅包含开源 SDK。MailFlat 服务本身为闭源。
软件包
| 软件包 | 适用对象 | 安装 |
|---|---|---|
mailflat | Python | pip install mailflat |
@mailflat/sdk | JavaScript / TypeScript | npm i @mailflat/sdk |
mailflat-mcp | AI 助手(Claude、Cursor)— MCP | uvx mailflat-mcp |
@mailflat/ai-sdk | Vercel AI SDK Agent | npm i @mailflat/ai-sdk |
mailflat.langchain | LangChain Agent | pip install "mailflat[langchain]" |
mailflat-sdk(Java) | Java / Selenium | 通过 JitPack — 见下文 |
每个客户端都是基于相同 /api/v1 Agent API 的轻量级强类型封装,因此行为一致。
使用控制面板中的账户密钥(mf_live_…)进行身份验证(Agents → API keys)。
Java / Selenium(JitPack)
JitPack 根据 GitHub 所有者生成
groupId。本仓库于 2026 年 8 月迁移至官方MailFlat账户,因此从v0.4.4起发布的版本坐标为com.github.MailFlat:mailflat-sdks。更早的版本仍使用旧坐标com.github.onderyentar21:mailflat-sdks;旧仓库会继续保留,以支持这些版本。 客户端接下来将迁移至 Maven Central(net.mailflat),届时不再受所有者名称限制。
<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);
快速示例
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 });
许可证
MIT。完整文本位于仓库根目录的 LICENSE 文件中;每个软件包目录均附有相同副本。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。