Self-hosted on Cloudflare

Your inbox, with an AI agent built in

Send and receive email through a modern web client — then let an AI assistant read threads, draft replies, and organize your mail. All running on your own Cloudflare account.

What you get

A full email client and an AI sidekick — no third-party mail servers, no SaaS lock-in.

✉️

Real email client

Send and receive via Cloudflare Email Routing. Rich composer, threading, folders, search, attachments, and snooze.

🤖

Built-in AI agent

A side panel with tools to read, search, draft, and send. New emails can auto-generate draft replies — you always confirm before anything goes out.

🔒

Your infrastructure

Each mailbox lives in its own Durable Object with SQLite. Attachments go to R2. Protected by Cloudflare Access in production.

🔌

MCP support

Connect external AI tools like Claude Code or Cursor through the MCP server. Same inbox, different interface.

🧠

Smart triage

Incoming mail gets classified by priority and category. Semantic search helps you find conversations by meaning, not just keywords.

⚙️

Per-mailbox tuning

Custom agent prompts, tone, signature, and auto-draft rules — each mailbox can behave differently.

Plug in your stack

Works out of the box on Cloudflare. Bring your own keys and branding when you need more control.

📤

Cloudflare Email send

Outbound mail uses the built-in Email Service binding by default — no extra provider signup. Receive via Email Routing, send from the Worker.

🔑

BYOK Resend

Drop in your own Resend API key for deliverability and analytics. Hybrid dispatch: Resend when configured, Cloudflare Email as fallback.

🔔

Webhooks

Fire HTTPS webhooks on new inbound mail — payload includes sender, subject, body, and signed attachment download links. Wire up Slack, n8n, or your own pipeline.

🎨

White-label branding

Rename the app, set your brand color, upload a logo and favicon, toggle default dark mode. Your team sees your product, not a generic template.

🛠️

Developer API

REST API with a configurable bearer token. Send mail, manage mailboxes, and integrate from scripts — pair with a Cloudflare Access service token in production.

🔌

MCP + agent prompts

Connect Claude Code, Cursor, or any MCP client to your inbox. Tune system prompts, categorization, and auto-draft behavior per mailbox.

How it works

Three pieces of Cloudflare infrastructure, one deploy button.

Route your mail

Set up Email Routing on your domain with a catch-all rule pointing to the Worker. Inbound mail lands in your inbox automatically.

Create a mailbox

Open the app, create a mailbox for any address on your domain — hello@yourdomain.com, support@, whatever you need.

Let the agent help

The AI reads new emails, drafts replies in your voice, and waits for your OK. Ask it to search, archive, or summarize anytime.

Under the hood

Workers at the edge, state in Durable Objects, intelligence from Workers AI.

BrowserHono WorkerMailbox DO (SQLite + R2) │ │ │ WebSocket ├─→ EmailAgent DO (9 tools + Workers AI) └────────────────────┘ └─→ EmailMCP (external AI clients)
Cloudflare Workers Durable Objects R2 Email Routing Workers AI Agents SDK React 19 Cloudflare Access Resend BYOK Webhooks

Run your own

Fork it, deploy to your Cloudflare account, point Email Routing at it. Takes about 15 minutes if you've done it before.