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
- Gmail API, two accounts with aliases
- Stack
- TypeScript, Node.js, Docker
- Source
- Private, walkthrough on request
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
- 01
Sync
Both accounts sync through the Gmail API every ten seconds, paced under Google's quota.
- 02
Read
Mail opens in a sandbox, with remote content held back.
- 03
Reply
The draft is saved in Gmail and sent from the right alias.
- 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.
Part of the Agentas Suite
Agentas Suite
Agentas Suite is the set of ten apps we run Agentas on: one design, one shared app column and Claude beside every app. We build the same for businesses.
Read more →Note
Note is our self-hosted notes app: offline-first sync between PC and phone, the feel of Notepad++, Norwegian dictation and Claude through MCP. Built by Agentas.
Read more →Agentas Timesheet
Agentas Timesheet logs hours in one tap a day, with Norwegian working-time rules in tested code and Claude drafting the day for a person to confirm.
Read more →CloudDrive
CloudDrive is our self-hosted file cloud, an alternative to Google Drive and Nextcloud: one Go binary, no database, with sharing, versions and two-factor login. Built by Agentas.
Read more →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