Repository navigation
Home
Programmable email inboxes on Cloudflare's edge. Generate inboxes, receive emails, and automate through REST APIs, SDKs, webhooks, and MCP. No SMTP, no Docker, no VPS.
git clone https://github.com/andriansandi/inbix.git
cd inbix
pnpm installThen follow the Deployment Guide to create your Cloudflare resources and deploy.
For local development, see the Development Guide.
-
Node.js 24+ (
.nvmrc) - pnpm 11+ (package.json)
- A Cloudflare account with a domain managed by Cloudflare DNS
Inbix is an open-source, Cloudflare-native email infrastructure platform. It gives you disposable, programmable inboxes that can be created and consumed through a REST API, TypeScript SDK, webhooks, and an official MCP server — making it ideal for developers, test automation, CI/CD, and AI agents.
Everything runs in a single Cloudflare Worker: incoming emails hit the Worker's email handler, and the same Worker serves the Hono REST API, SSE/WebSocket realtime endpoints, and the React dashboard as static assets.
- Generate random disposable inboxes
- Receive emails via Cloudflare Email Workers
- Inbox list and management with auto-expiration
- Read HTML emails (sanitized, rendered in a sandboxed iframe)
- Read plain text emails
- Attachment support (up to 10MB, stored in R2)
- Real-time updates via SSE and WebSocket
- REST API + TypeScript SDK (
@inbix/sdk) - Rate limiting and security headers
- Clerk authentication (email, password, magic link, Google, GitHub, passkeys)
- API key authentication with per-key rate limiting
- WebSocket realtime rooms (Durable Objects)
- API keys management and inbox quotas
- Webhook support for inbox events
- Request/response logging (opt-in)
- Interactive OpenAPI/Swagger docs at
/api/docs/ui
- Message webhooks (done)
- Dark/light mode toggle (done)
- Durable Objects for realtime (done)
- Full-text search, spam protection, custom TTL (upcoming)
- Web Push notifications (VAPID, service worker, multi-device)
- In-app toast notifications
- Notification preferences and quiet hours
- Click notifications to open the inbox
- Official MCP Server (
@inbix/mcp-server) - Tools for AI agents: create inbox, wait for email/OTP, extract verification links, download attachments
See the full Roadmap for milestones through v1.0.
Inbix ships with an official Model Context Protocol server. AI agents and MCP clients can create inboxes, read messages, wait for OTPs, extract verification links, and more.
npm install -g @inbix/mcp-serverClaude Desktop config:
{
"mcpServers": {
"inbix": {
"command": "npx",
"args": ["-y", "@inbix/mcp-server"],
"env": {
"INBIX_API_KEY": "inbix_your_api_key_here"
}
}
}
}See the MCP Server guide for full setup.
┌──────────────────────┐
│ Incoming Email │
│ (Cloudflare Email │
│ Routing) │
└──────────┬───────────┘
│
┌──────────▼───────────┐
│ Email Worker │
│ (parse MIME, │
│ extract content) │
└──────────┬───────────┘
│
┌─────────────┼─────────────┐
│ │ │
┌─────────▼──┐ ┌───────▼──────┐ ┌──▼─────────┐
│ D1 │ │ R2 │ │ KV │
│ (metadata)│ │ (attachments)│ │ (cache) │
└─────────┬──┘ └───────┬──────┘ └──┬─────────┘
│ │ │
└─────────────┼──────────────┘
│
┌──────────▼───────────┐
│ Hono API │
│ (REST + SSE + WS) │
└──────────┬───────────┘
│
┌──────────▼───────────┐
│ React Dashboard │
│ (static assets) │
└──────────────────────┘
inbix/
├── apps/
│ ├── web/ # Cloudflare Worker (API + Email + static assets)
│ └── dashboard/ # React SPA (Vite + TailwindCSS + shadcn/ui)
├── packages/
│ ├── database/ # Drizzle ORM schemas + queries + migrations
│ ├── parser/ # Email parsing (postal-mime) + HTML sanitization
│ ├── sdk/ # TypeScript SDK for the REST API
│ ├── shared/ # Shared types, constants, Zod schemas, utils
│ └── ui/ # Shared shadcn/ui components
├── docs/ # Documentation
└── .github/ # Issue templates, PR template, workflows
| Layer | Technology |
|---|---|
| Runtime | Cloudflare Workers |
| Backend | Hono |
| Language | TypeScript |
| Database | Cloudflare D1 (SQLite) |
| Object Storage | Cloudflare R2 |
| Cache | Cloudflare KV |
| Cloudflare Email Workers | |
| ORM | Drizzle ORM |
| Validation | Zod |
| Realtime | Server-Sent Events (SSE) + WebSocket (Durable Objects) |
| Frontend | React 19 + Vite |
| Styling | TailwindCSS + shadcn/ui |
| Auth | Clerk |
| Notifications | Web Push (VAPID + RFC 8291) |
| Deployment | Wrangler |
| CI/CD | GitHub Actions |
| Package Manager | pnpm |
All detailed documentation lives in the GitHub Wiki. The Wiki is kept in sync with this repository via .github/workflows/wiki-sync.yml. To enable auto-sync, create a one-time repository secret named WIKI_PAT in Settings → Secrets and variables → Actions (use a Personal Access Token with repo scope).
Wiki pages:
- Quick Start
- Deployment Guide
- Development Guide
-
API Reference — source of truth:
docs/API.md - Architecture
- MCP Server
- FAQ
- Roadmap
- Contributing
- Security
Contributions are welcome! Please read CONTRIBUTING.md and the Contributing Wiki to get started.
All changes must go through a Pull Request. Branch protection rules enforce this for everyone, including the repo owner.
For security concerns, please read SECURITY.md and report vulnerabilities privately to security@inbix.xyz.
MIT © 2025 Andrian Sandi