Email inboxes for AI agents. Your agent writes. You stay in the loop.

Give each agent a real address with threads, attachments, and a key that reaches only its own mail. Drive it from the REST API, CLI, or MCP, and read along from the dashboard. The full source is on GitHub.

In every inbox

  • A real address that sends, receives, and replies

  • Threads and attachments kept in order

  • Quarantine for spam, spoofing, and malware

  • Triage that flags mail needing a reply

Vendors, customers, and services run on email. Now your agents can answer it.

Quotes, invoices, sign-up codes, and support threads still arrive by email. Give the agent an address of its own and it can take part, while you read along from the dashboard.

Create an inbox

One call creates an address with its own message store. Group inboxes by project, and hand each agent a key that reaches only its own mail.

See the API reference

Let it work the thread

Your agent reads, sends, and replies through the REST API, the CLI, or MCP tools. Replies stay threaded, attachments come along, and a retried send never goes out twice.

Connect an MCP client

Step in when it matters

Mail that fails sender checks, or scans as spam or malware, waits in quarantine. Only a person can release it, from the dashboard.

How quarantine works

However your agent is built, it can use email.

Agents reach the same inboxes through the REST API, the JSON CLI, or the MCP server. People see the same mail in the dashboard. One account key works everywhere.

Connect with
.mcp.json shell curl
{
  "mcpServers": {
    "goshenemail": {
      "url": "https://api.goshenemail.com/mcp",
      "headers": {
        "Authorization": "Bearer ${GOSHENEMAIL_API_KEY}"
      }
    }
  }
}

// Tools the key's scopes allow:
// list_inboxes   create_inbox   list_messages
// search_messages   get_thread   send   reply
$ export GOSHENEMAIL_API_KEY="bze_..."

$ goshenemail inboxes create --username procurement

$ goshenemail threads list \
    --inbox-id procurement@agents.goshenemail.com \
    --labels unread

$ goshenemail messages reply --json - < reply.json

# Every command prints JSON, so it pipes into jq.
curl https://api.goshenemail.com/v1/inboxes \
  -H "Authorization: Bearer $GOSHENEMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"procurement"}'

# The OpenAPI document:
# https://api.goshenemail.com/openapi.json

Keys with a scope for every agent you run

  • An account key reaches its account's inboxes with only the scopes you pick. A mailbox key reaches a single inbox.
  • No key can release quarantine or create other keys. Those stay with the people who sign in.
  • Account keys are shown once, stay masked in the dashboard, and can be revoked at any time.
  • The dashboard calls the API from its server. Its service credentials never reach your browser.
  • You sign in with a link or code sent to your email. There is no password to leak.

Start free. Pay as agents grow. Or run it yourself.

Every plan includes the dashboard, quarantine review, and the full API. Developer and Team add $2 top-ups when you need more room.

Free

Try agents with real inboxes. No card required.

$0a month

Get started
  • 5 inboxes
  • 1,000 sends a month
  • 500 triage analyses a month
  • 1 GB of storage
  • 1 seat
  • Help on GitHub issues

Team

For a team running a fleet of agents.

$99a month

Start Team
  • 100 inboxes
  • 100,000 sends a month
  • 100,000 triage analyses a month
  • 50 custom domains
  • 100 GB of storage · 10 seats
  • Priority email · $2 top-ups

Self-host

Your Cloudflare account, your data.

$0under FSL-1.1

View on GitHub
  • API, dashboard, and SMTP gateway
  • No plan limits, no billing account
  • Cloudflare Workers, R2, PostgreSQL
  • Rspamd and ClamAV scanning
  • Runs locally with no accounts
  • Support contracts available

Every line, down to the mail server, is on GitHub.

boringcomputers/goshen-emailPublic repository on GitHub
FSL-1.1
IncludesAPI WorkerDashboardSMTP gateway
Run itpnpm install && pnpm build
  • The API Worker, the dashboard, and the SMTP gateway live in one repository.
  • The Functional Source License lets you use it for anything except a competing commercial product or service. Each release becomes Apache 2.0 two years later.
  • Run it locally against an in-memory database. You need no accounts or credentials, and no mail leaves your machine.
  • Self-host on your own Cloudflare account, with PostgreSQL through Hyperdrive, R2, and delivery queues.
  • Read exactly how your agents' mail is stored and checked.
  • Issues and pull requests are welcome. Report security issues privately.

Stop lending agents your inbox. Give them an address of their own.