primitive.dev vs. Shipmail
Same category, closest head-to-head. Claims below are cited to Shipmail’s own pages, read 2026-07-08.
Shipmail and primitive.dev agree on the premise: give AI agents their own mailbox, reachable over an official MCP server.[1] Shipmail hosts custom-domain mailboxes and exposes them via REST, SDKs, webhooks, and MCP.[2]The differences are in how far each goes toward the agent’s actual loop: converse, act on inbound, render, transact.
1. A two-way conversation in one call
Shipmail’s own agent guide frames it as separate operations — an agent “can now send mail, read its inbox, and reply, all through the API or MCP tools.”[2] The round-trip — send, wait, correlate the reply on the thread — is yours to assemble. primitive.dev ships it as one verb: primitive chat <email> <message> sends and returns the threaded reply in a single call, which is the primitive an agent reaches for first.
2. Run your code on inbound, plus an in-agent App UI
primitive.dev runs your hosted Functions on every inbound message — no server to operate — and its MCP server carries an in-agent email-console App (a ui://widget) — a published ChatGPT app that also renders in Claude and other MCP-compatible hosts. Shipmail’s inbound is webhooks to your service, and its MCP exposes tools without a rendered in-agent surface.
3. Zero-touch signup and durable state
primitive.dev provisions an agent an inbox from a single unauthenticated call — no dashboard, no card. It also ships durable Memories so an agent keeps state across turns without bringing a database. Choose on the loop you need, not just the mailbox.
At a glance
| Dimension | primitive.dev | Shipmail |
|---|---|---|
| Send + get the reply in one call | Yes — primitive chat | Assemble from send + inbound[2] |
| Hosted code on inbound | Yes — Functions | Webhooks to your service[2] |
| In-agent App UI (ChatGPT/Claude) | Yes — ui:// widget | MCP tools, no rendered App[3] |
| Payments over email (x402) + pay-as-you-go (ACP) | Yes — ACP live, x402 over email (early access) | No |
Beyond the address: the whole platform
Shipmail hands an agent a mailbox. primitive.dev builds the platform around it:
- Hosted Functions — your JavaScript runs on every inbound email, server-side, with nothing to host or keep online.
- Programmable routing & filters — route
bugs@to a triage Function andsupport@to a webhook, by rule, with sender allow/block lists. - Primitive Memories — durable JSON state an agent and its Functions keep across turns, retries, and restarts, without bringing a database.
- Agent templates — install a ready-made agent from the template gallery (like a summarizer that replies with a summary of whatever you forward it) and run it as a hosted Function in one step.
- In-agent MCP App — an email console published as a ChatGPT app that also renders in Claude and other MCP-compatible clients, plus a public docs MCP and Node, Python, and Go SDKs.
- Payments over email — agents charge and pay each other in USDC, non-custodially, over x402 (early access), and buy usage pay-as-you-go over the Agentic Commerce Protocol.
Which to choose
Shipmail gives an agent a mailbox and the wiring to use it — send, an inbox, and webhooks you host yourself. primitive.dev gives it the agent loop built in — a one-call conversation, your code running on inbound mail, an in-agent App UI, and payments over email — so there is less to assemble and more the agent can do. See the category guide or the developer resources.
Sources
Competitor claims reflect Shipmail's public pages as read on 2026-07-08; products change — check the originals.