ProgrammableInbox
A secondary inbox built for developers.
Spin up a programmable email address in seconds. ProgrammableInbox receives, categorizes, and extracts every message — grab a one-time code over the API, route mail with an automation, or read it in the dashboard.
It's open source and self-hostable, so your mail never has to leave your own infrastructure. It's also reachable from an MCP client like Claude Code or Cursor, so an agent can read the same inbox you can.
What it's for
- Testing and QA — dedicated inboxes for signup flows, magic links, and one-time codes, without a shared team mailbox.
- Agent workflows — give an LLM agent a real, addressable inbox it can read via MCP or the SDKs, instead of screen-scraping a mail client.
- Programmatic mail handling — receive, thread, search, and act on incoming mail through a REST API, with automations for routing.
Features
- Instant inboxes on domains you control, with impersonation and length guards on creation.
- Real-time ingestion via Resend webhooks, with an optional async (Redis/BullMQ) path for high-volume mail.
- Threading & full-text search — subject/body search, tag and category filters, thread grouping.
- Automations that run against incoming mail.
- Agent access via MCP — list, search, and read inboxes and messages (including one-time codes) from an MCP-compatible client using an API key you already have.
- A published REST API (
/api/v1) secured by scoped API keys. - Multi-tenant by design — organizations, memberships, and a read/write scope split.
Where to start
- New to the project? Read Core Concepts, then run it locally with Docker.
- Deploying it yourself? Go to Self-Hosting.
- Calling the API? Start at Authentication & Scopes or jump straight to an SDK.
- Wiring up an agent? See MCP.
Open source under AGPL-3.0, with an optional commercial layer.