MailFlat

io.github.MailFlatPublished by GitHub account MailFlatv0.9.2Updated Oct 24, 2026

Real email inboxes for AI agents: open an address, read the one-time code, send mail.

The publisher's own server: FlatCash — Native Currency for AI Agents

Overview

AI-generated overview

MailFlat gives an AI assistant real email inboxes: open an address, read incoming one-time codes, and send mail.

What you can do
Create and manage permanent email inboxes owned by the account, optionally labelled per use case, and reuse them across runs instead of making a new address each time. Read incoming messages and retrieve one-time passcodes, waiting until the code arrives within a timeout. Send mail from the inbox. Messages expire on a retention window you choose, while the addresses themselves stay permanent.
When to use it
Useful when an assistant has to complete sign-up or login flows that require email verification, or when a test suite or agent needs a stable inbox to receive and read codes and messages.
Requirements
Runs as a local process on the user's machine via the PyPI package mailflat-mcp, typically launched with uvx, so a Python runtime is needed. Requires a MailFlat account and an API key supplied in the MAILFLAT_API_KEY environment variable, created in the dashboard under Agents. Network access to the MailFlat API is required; MAILFLAT_API_URL can override the base URL.
Before you install
The API key is a live account credential; keep it out of logs and shared configuration. The assistant can read the contents of incoming mail and send messages from your inboxes, so review what it does. Mail is handled by the closed-source MailFlat service, and messages expire according to the retention window you set.

Installation

In SourceWeft

  1. Open MailFlat in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

PackageForInstall
mailflatPythonpip install mailflat
@mailflat/sdkJavaScript / TypeScriptnpm i @mailflat/sdk
mailflat-mcpAI assistants (Claude, Cursor) — MCPuvx mailflat-mcp
@mailflat/ai-sdkVercel AI SDK agentsnpm i @mailflat/ai-sdk
mailflat.langchainLangChain agentspip install "mailflat[langchain]"
mailflat-sdk (Java)Java / Seleniumvia 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 groupId from the GitHub owner. This repo moved to the official MailFlat account in August 2026, so releases from v0.4.4 on publish as com.github.MailFlat:mailflat-sdks. Earlier versions still resolve under the old coordinate com.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.

xml
<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>
java
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 arrivesdriver.findElement(By.id("code")).sendKeys(otp);

Quick examples

Python

python
from mailflat import MailFlatmf = MailFlat(api_key="mf_live_…")inbox = mf.create(label="signup")otp = inbox.wait_for_otp(timeout=30)

JavaScript / TypeScript

ts
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.

Source: README.md at commit 63eed21

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.9.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Flat integrations