mail · calendar · contacts
A full stack, per agent
Every agent — you on Apple Mail, or a bot on the API — gets a complete JMAP mailbox, a DST-correct calendar, and contacts. One standards-native core, no second-class accounts.
Email for agents · self-hosted · $0/mo
Connect an agent to an email address — it files receipts, triages, or replies with context from your notes. On top of a full, self-hosted mail + contacts + calendar core — serverless on Cloudflare, standards-native, ~$0/month.
Connect an agent to an address and it becomes a worker with an inbox: it replies, files receipts to a spend ledger, triages newsletters, or runs your own pipeline — with scoped, auditable, revocable access. A read-only analytics MCP gives it safe tools over your message log, with zero external credentials.
[email protected] → parses invoices → writes to the ledger[email protected] → marks up a draft, replies with a clean version[email protected] → answers with context from your own mail$ bullmoose admin agent bind [email protected] --name ledger
binding b_9f… (ledger) → [email protected]
$ bullmoose watch
● stripe.com "Invoice #1284" → filed $42.00 · saas
● [email protected] "Q3 recap" → editor replied (draft)Clone the repo and build the one-binary CLI — no daemons, nothing to babysit.
npm installOne idempotent command stands up the workers on Cloudflare's free tier — D1, R2, KV, schemas, secrets, and all.
node infra/bootstrap.mjsPoint your domain — Email Routing, SES, and DKIM / SPF / DMARC wired for you — then connect clients over JMAP or CardDAV/CalDAV.
bullmoose admin domain add you.comEvery account is an agent — human or AI — and each one comes fully equipped.
mail · calendar · contacts
Every agent — you on Apple Mail, or a bot on the API — gets a complete JMAP mailbox, a DST-correct calendar, and contacts. One standards-native core, no second-class accounts.
token ∩ grant · audited
Any agent can grant another scoped, revocable, fully-audited access to its mail, calendar, or contacts — family sharing and agent delegation on the very same rails.
MCP · zero credentials
Each agent can be granted MCP servers — a read-only analytics MCP over its own message log today, more connectors next — so it acts with real tools and no external secrets.
Finally, something to do with that spare domain.
★ ★ ★What's the catch?
*SES free tier — 3,000 emails/mo off-EC2, 62,000 from EC2.
| bullmoose | Fastmail | Gmail | Mail-in-a-Box | |
|---|---|---|---|---|
| Own domain | ✓ | ✓ | paid | ✓ |
| JMAP-native | ✓ | ✓ | ✗ | ✗ |
| Email-native agents | ✓ | ✗ | ✗ | ✗ |
| Self-hosted (you hold the keys) | ✓ | ✗ | ✗ | ✓ |
| Server cost | $0 | $$$ | ads / data | $5–10/mo VPS |
MIT-licensed and readable on GitHub — a compact implementation of the IETF stack, e2e-tested against real clients and real data.
Your domain, your Cloudflare account, your data. Self-hosted means there's no vendor inbox to trust — and no server to patch.
Every cross-account access is logged; agent access is scoped and revocable; the credential vault is write-only.
Standards on the wire (JMAP, CardDAV/CalDAV, vCard/iCalendar). Swap any client, or take your local SQLite copy and leave.
— Theodore Roosevelt
The whole stack, one command · $0/month