Open Source Email Infrastructure

email for your AI agents

give your agents their own email address. send transactional email, receive inbound mail into agent inboxes, run campaigns, and manage contacts. self-hosted in one Docker container.

read the docs
send via AWS SESinbound emailcampaigns & sequencesmcp servertypescript & python sdks
terminal
import { Pigeons } from '@pigeons/pigeons-ts'

const pigeons = new Pigeons({ baseUrl: 'http://localhost:3891' })

await pigeons.emails.send({
  to: 'user@example.com',
  subject: 'Hello from Pigeons',
  html: '<p>Your email is working!</p>',
})

Features

Everything you need to send email

A complete email platform in a single binary. Transactional, inbound, campaigns, and AI tooling out of the box.

Transactional Email

Send via SES with queuing, retries, and delivery tracking. Every email is logged with full event history.

Inbound Webhooks

Receive email via SES receipt rules, parsed and delivered to your app as structured webhook payloads.

Campaigns & Sequences

One-time sends and multi-step drip sequences with audience segmentation and per-step analytics.

MCP Server

14 tools for AI agents to send email, manage contacts, and run campaigns through the Model Context Protocol.

TypeScript & Python SDKs

Typed clients for both languages, plus a CLI and curl-friendly REST API. First-class developer experience.

Self-Hosted

Your data, your infrastructure. One Docker container, SQLite or LibSQL. No usage limits, no vendor lock-in.

How It Works

Up and running in three steps

1

Deploy

docker run or deploy to your cloud. One container, one SQLite file, zero dependencies.

2

Connect AWS SES

Run pigeons setup aws to configure SES, DNS records, and event tracking.

3

Send Email

Use the SDK, CLI, REST API, or MCP server. Emails queue, retry, and track automatically.

Start sending in two minutes

Free, open source, self-hosted. No API keys to buy, no usage limits, no vendor lock-in.