Cloudflare-native inbox infra for OpenClaw and local agents
Catch-all inbox for AI agents.
MailClaw receives every email sent to your domain, stores it in D1, and gives agents a clean way to search, filter, triage, and operate inbox workflows in natural language through a REST API, Rust CLI, and local skill.
Inbox
Query
mailclaw list --q invoice --json
{
"success": true,
"data": {
"emails": [
{
"from_address": "billing@service.io",
"subject": "Invoice for March infrastructure usage",
"to_address": "billing@yourdomain.com"
}
]
}
}
01
Catch everything
Route *@yourdomain.com into one Worker instead of managing inbox sprawl.
02
Query like data
Search by sender, recipient, date, and keyword. Export full content only when you need it.
03
Fits OpenClaw
Made for local agents, markdown skills, and CLI-driven workflows without extra glue code.
Features
Built for real email operations, not just passive storage.
Future
When sending lands, MailClaw becomes AgentMail.
Once outbound email is connected, the inbox stops being read-only. You will be able to use natural language to read, draft, reply, send, triage, and organize email through one agent-native layer.
Reply to the latest invoice and ask for a corrected receipt.
Draft follow-ups for unread partnership emails and send them after approval.
Use natural language to manage your email instead of jumping between inbox views and filters.
How it works
One straight path from email to agent.
Catch-all mail lands on the Worker.
Parse the message and persist it in D1.
Read via API, CLI, or local skill.
Access
Small surface area. Multiple entry points.
Predictable HTTP for apps and scripts.
Bearer token auth with simple JSON responses for search, export, read, and delete.
Local binary access with no raw curl.
The Rust CLI stores credentials locally and mirrors the same inbox operations as the API.
Natural fit for local AI workflows.
Install the built-in skill, then let your agent use the local CLI for inbox access instead of hand-written curl commands.
curl -H "Authorization: Bearer $TOKEN" \
"https://mailclaw.example.com/api/emails?q=invoice&limit=20"
{
"success": true,
"data": {
"emails": [
{
"subject": "Invoice for March infrastructure usage",
"from_address": "billing@service.io"
}
]
}
}
mailclaw config set \
--host "https://mailclaw.example.com" \
--api-token "your-api-token"
mailclaw list --q invoice --json
mailclaw get clx123abc --json
npx skills add missuo/mailclaw
First use:
Configure MailClaw Host and API Token
Then ask:
"Check recent invoices in MailClaw"
"Read the latest partnership email"