← All work

Mail: two Gmail accounts, one inbox

A web mail client on the Gmail API that shows a personal account and a company account, aliases included, in one inbox. A reply goes out from the address the mail was sent to, hostile mail is kept in a sandbox, and Claude can search, read and draft through MCP but can never send. Built and run by Agentas for our own use.

Status
In daily use since October 2026
Mail
Gmail API, two accounts with aliases
Stack
TypeScript, Node.js, Docker
Source
Private, walkthrough on request
Mail inbox with two accounts in one list
Two accounts in one inbox, unread first, with a column for the account and for the address each mail was sent to. Demo data.

What it does

Two accounts, one inbox

Both accounts and all their aliases land in one list, with a column for the account and one for the address the mail was sent to, unread mail first, nested labels and one search across both accounts. Every column has a menu to filter, sort or hide it, and the view is kept in the address.

The right sender, every time

A reply goes out from the alias the mail came to. It is saved as a Gmail draft first and then sent in the same thread, and the closing of the signature follows the language of the mail.

Hostile mail stays in a box

Mail HTML is cleaned and shown in a sandboxed frame where no script can run. Remote images and tracking pixels load only when you ask for them, including the ones hidden in styles and SVG.

Claude drafts, a person sends

An MCP server gives Claude Code seven tools to search, read, draft, label and archive. No tool can send, and a test fails if that guard is ever removed. Mail text reaches Claude marked as data, not as instructions.

Notifications that know where you are

Web Push reaches the phone and the PC, the phone stays quiet while the PC is in use, and a notification disappears everywhere once the mail is read.

Signed in with a passkey

Sign-in is passkey only. Making an access token for Claude or changing a passkey asks for the passkey again, and the tokens from Google are sealed with AES-256-GCM.

Relevant if you're looking for…

Mail is a private tool we use every day, and we build tools like it for businesses. It covers these needs.

  • Two Gmail accounts in one inbox: a personal account and a company account, aliases included, in one list with a column for each account and address.
  • A self-hosted email client on top of Gmail: the mail stays in Gmail, and the client runs on your own server.
  • An AI email assistant that never sends on its own: Claude searches, reads and drafts through MCP, and a person presses send.
  • Email that holds back tracking pixels: remote images load only when you ask, and every mail is shown in a sandbox where no script runs.

We build this for clients: AI and LLM integration into your systems · Custom software and internal tools

How it works

  1. 01

    Sync

    Both accounts sync through the Gmail API every ten seconds, paced under Google's quota.

  2. 02

    Read

    Mail opens in a sandbox, with remote content held back.

  3. 03

    Reply

    The draft is saved in Gmail and sent from the right alias.

  4. 04

    Delegate

    Claude searches and drafts through MCP, and you press send.

How it's built

Mail is about 9,000 lines of TypeScript on Node.js, with about 150 automated tests, 40 of them in headless Chrome. It runs as a read-only container with its capabilities dropped and a daily backup that keeps seven copies, and in one measured sample a mail opened in about 0.9 seconds.

It went from the first sketch to daily use in about eight days. On day three, six parallel AI reviews went through the code, and every finding was fixed in batches, each fix with a failing test written first.

Engineering highlights

  • Two Gmail accounts and all their aliases in one inbox
  • Remote images and tracking pixels held back until you ask
  • Seven MCP tools for Claude, none of them able to send
  • Passkey-only sign-in
  • About 150 automated tests, 40 of them in a real browser

Questions

Can I use Mail for my own accounts?

No. Mail is a private tool for our own two accounts and is not offered to others. We build tools like it for businesses.

Can Claude send email from Mail?

No. Claude can search, read, draft, label and archive, but none of its tools can send, and a test fails if that guard is ever removed. A person always presses send.

Does Mail work with Outlook?

Not today. Mail is built on the Gmail API, so it reads Gmail and Google Workspace accounts.

Want something like this?

Mail shows how we put AI into a tool that matters: it helps with the reading and the drafting, and a person stays the one who sends.

Get in touch

← All work · Software & AI for businesses