Head to head · Agent inboxes · October 2026 research run
Inbound vs Lumbox
Lumbox and Inbound score within a point of each other on agent readiness, 60.7 (C) and 60.4 (C). Inbound leads on reliability and maintenance & community. Both do agent inboxes.
Best email inbox APIs for AI agents · All 66 inboxes comparisons
Which one, for what
Inbound C
Best for A team that wants agent addresses on its own domain at a low fixed price, with IMAP and SMTP beside the API and an MCP mode that confines an agent to one mailbox.
Ahead on
- Reliability, 73 against 45
- Maintenance & community, 63 against 23
Also in its favour
- Open source
Watch for
No free plan or trial on the pricing page. Plans start at $9 a month and the free plan was retired on 3 December 2025
Lumbox C
Best for Agents that need their own address to receive sign-up codes and links and to send replies.
Ahead on
- Schema & documentation, 82 against 76
- Security & auth, 71 against 65
- Payments & pricing, 40 against 15
- Transparency & trust, 72 against 57
Also in its favour
- Runs on your own machine
- Free to start without a card
- No incidents deducted, where Inbound loses 3 points for them
Watch for
No status page, incident history or SLA; the terms say availability isn't guaranteed
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Inbound +40
Inbound 63
The service is built from a public repository with commits to the main branch on 31 October 2026 (30). No changelog or tagged releases. The repository shows commits on 22 separate days between 4 August and 31 October 2026, so half credit (10 of 20). Three open issues on GitHub, the oldest a request for webhook signatures opened on 1 November 2025. We could not read the replies, and support is by email (10 of 25). The published TypeScript SDK is 0.20.0 from 10 January 2026, before the mailbox endpoints; 0.21.0 is in the repository without a release tag. Not checked in the MCP registry (5 of 15). CI runs unit, end-to-end and gateway tests, and the MCP server pins its SDK version (8 of 10). 30+10+10+5+8 = 63.
Lumbox 23
The latest package releases found are lumbox 0.3.1 on npm (19 June 2026) and @lumbox/mcp-server 0.2.2 (12 June 2026), 140 days before this check, the 91 to 180 day band (10). No releases or dated changelog entries in the 90 days from 8 August (0). A closed service with a support address and an X account; no changelog (5 of 15). Not in the official MCP registry (search for lumbox returned nothing on 6 November); Node and Python SDKs exist but haven't changed since June (5 of 15). The MCP server card says 0.2.1 while npm has 0.2.2, and the SDK repository named in npm isn't publicly readable (3 of 10). Total 23.
Reliability Inbound +28
Inbound 73
Graded on the hosted lines. status.inbound.new runs on incident.io with uptime history, but its two components are Website and App, with none for the API, webhooks, SMTP or IMAP (15 of 20). On 2 November 2026 the page showed both components at 100 per cent from August to November and its RSS feed held no items. The 8 October reading of two earlier incidents (7 November 2025 and 18 February 2026) came from the page's /api/ data endpoint, which this run no longer reads, so it is struck. With no posted incident readable on the page, the record reads as a page that has never posted one (20). 100 requests a second per account is published, with SMTP and IMAP connection and size limits (15). 429s carry retry-after and ratelimit-* headers, the product page documents Idempotency-Key on sends and replies, and SMTP deduplicates identical bytes. The OpenAPI document still omits the idempotency header, and the published SDK does not retry (13 of 15). No SLA, and the terms disclaim any uptime guarantee (0). No beta label on the /api/e2 surface (10). 15+20+15+13+0+10 = 73.
Lumbox 45
Graded with the hosted lines. No status page was found; none is linked from the site or llms.txt, and status.lumbox.co doesn't resolve (0). With no history to read, the incident line takes 5. 120 requests a minute per API key, per IP for unauthenticated routes, with X-RateLimit headers (15). 429 returns retry_after_seconds, the spec gives a backoff schedule and says which statuses not to retry, and Idempotency-Key works on every POST for 24 hours (15). The terms say Lumbox doesn't guarantee uninterrupted service, and no SLA was found (0). The core API carries no beta label; dedicated phone numbers are early access (10). Total 45.
Payments & pricing Lumbox +25
Inbound 15
No x402, MPP or L402 in the docs, the OpenAPI document or the pricing page (0 of 40). Four plans are public with their email and domain allowances, plus unit add-ons of $3.50 a month per domain and $16 a month per extra 50,000 received and 50,000 sent (15 of 20). No free plan or trial on the pricing page. The free plan was retired on 3 December 2025 (0 of 20). A person signs up in a browser, and inboundctl login also needs a browser approval (0 of 20).
Lumbox 40
No x402, MPP or L402 (0). Four plans with prices and limits published without login, no per-email price (10 of 20). Free plan with 3 inboxes, 500 received and 100 sent emails a month, no card (20). Agent self-signup lets an agent create its own key, which a person approves once in a browser (10 of 20). Total 40.
Transparency & trust Lumbox +15
Inbound 57
The platform repository is public under MIT, and the SDK, CLI and MCP server declare Apache-2.0. The MCP repository has no licence file (28 of 30). The privacy policy is dated 1 January 2025, still describes an email receiving service, and says email data is typically kept for 30 days, which agrees with the terms. No DPA, no statement on model training and no retention detail by plan (12 of 30). No deprecation policy. The terms allow the service to be changed or discontinued without notice, with 30 days' notice for price and terms changes (3 of 20). The policy names AWS and payment processors. No subprocessor list or data location was found (4 of 20).
Lumbox 72
A closed hosted service; the security page says it can be self-hosted, but the repository the deployment guide clones isn't publicly readable. The footer names Cyphen Innovations Private Limited (15 of 30). The privacy policy and security page agree that mail is kept while its inbox exists and an account's data is deleted within 30 days, that email isn't used for training, and that the vault uses AES-256-GCM per-organisation keys (26 of 30). A deprecation policy with Deprecation and Sunset headers, 90 days' notice and 12 months for an old version (20). Hosts and locations named, Hetzner in Germany, Neon in the US, Vercel, Cloudflare, AWS SES, Dodo Payments and Steel for browsers (18 of 20). Total 79.
Schema & documentation Lumbox +6
Inbound 76
Public OpenAPI 3.1 document at inbound.new/openapi.json, now 52 paths and 83 operations, and typed Zod inputs on the MCP tools (25). llms.txt and a Markdown copy of each docs page (10). Operation descriptions state purpose and side effects, such as what deleting an endpoint cleans up. MCP tool descriptions are short and rarely say when not to call (12 of 20). 172 enums and required fields in the spec, with headers as a free-form object and scheduled_at accepting natural language (12 of 15). Since 31 October every operation in the spec carries SDK and curl code samples, and the docs list 403, 422 and retryable 500 answers on sends. Errors are still free-text strings with no stable code (12 of 15). The API is versioned as 2.0.0 under /api/e2, but no changelog was found (5 of 15). 25+10+12+12+12+5 = 76.
Lumbox 82
OpenAPI 3.1 at lumbox.co/openapi.json with 29 operations on 23 paths, all described (25). llms.txt with plan limits, endpoints and the MCP setup (10). Descriptions state what each call does, with notes such as long-poll endpoints being safe to retry; the MCP server card gives one line per tool (15 of 20). Typed parameters with limit and cursor, required fields marked (12 of 15). Shared responses for 400 to 429 and a default error on 28 operations, but errors are a bare error string with no code (12 of 15). Path versioning and a written deprecation policy, but the changelog it refers to wasn't found (8 of 15). Total 82.
Security & auth Lumbox +6
Inbound 65
Mailbox passwords are scoped to 1 to 100 addresses or domains, rotate by API and can be disabled. Account API keys cover the whole account and can be revoked by API. OAuth on the MCP server uses PKCE and dynamic client registration with one scope, inbound:account, which the docs say grants full access. No secret travels in a URL (26 of 30). A mailbox can be read-only over IMAP and limited to one sending address. Since 22 October 2026 a read-only password can no longer send, and since 29 October a credential can be limited by protocol, allowed IP addresses, storage quota and a daily send limit. The MCP server's instructions ask the model to confirm before deleting or sending, and inboundctl has dry runs (17 of 20). The agents page tells builders to treat bodies and files as untrusted and Guard rules filter incoming mail, but the MCP tool descriptions carry no such warning (9 of 15). Since 29 October every mailbox credential has an activity log (sign-ins, refused sign-ins, IMAP sessions, command errors and send failures, kept 30 days) readable by API, MCP and dashboard, beside the dashboard delivery log and lastUsedAt. Account-key actions have no audit log (10 of 15). security.txt still returns 404, no disclosure policy or bug bounty was found, and SOC 2 and ISO 27001 were described as on the roadmap in December 2025. Webhooks are verified with a static token, not a signature (3 of 20). 26+17+9+10+3 = 65.
Lumbox 71
OAuth 2.1 with PKCE, dynamic client registration and five scopes that split reading inboxes, reading mail, sending and domain changes, plus API keys stored as SHA-256 hashes that can be limited to named inboxes (30). Inbox-scoped keys and the read and send split keep one run away from another's codes; Lumbox's built-in agent drafts replies for approval, but the API itself sends at once (16 of 20). The terms tell users to treat bodies as untrusted, and the security page says attachment text is sanitised for prompt injection before it reaches an agent (12 of 15). The privacy policy says API calls are logged with endpoint, time and key prefix for rate limiting and billing; no customer-facing audit log was found (5 of 15). A valid security.txt to security@lumbox.co and a responsible disclosure section; not SOC 2 certified, no bug bounty (8 of 20). Total 71.
Score by category
| Category | Weight this run | Inbound | Lumbox | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 73 | 45 | Inbound +28 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 76 | 82 | Lumbox +6 |
| Agent ergonomics | 13%16.2 | 78 | 78 | even |
| Security & auth | 14%17.5 | 65 | 71 | Lumbox +6 |
| Payments & pricing | 10%12.5 | 15 | 40 | Lumbox +25 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 63 | 23 | Inbound +40 |
| Transparency & trust | 7%8.8 | 57 | 72 | Lumbox +15 |
| Negative events | ≤15 | -3 | 0 | |
| Total | C 60.4/100 | C 60.7/100 |
Facts side by side
| Fact | Inbound | Lumbox |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Exon Enterprise LLC | Cyphen Innovations Private Limited |
| Hosted endpoint | https://inbound.new/api/e2 | https://mcp.lumbox.co/mcp |
| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |
| Auth | OAuth or key | OAuth or key |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | MIT for the platform repository. The TypeScript SDK, inboundctl and the MCP server are Apache-2.0 | none |
| Tools exposed | 78 | 18 |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| Last release | 2026-10-31 | 2026-06-19 |
| Terms last updated | 2025-12-03 | 2026-09-07 |
| Privacy policy last updated | 2025-01-01 | 2026-03-16 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | yes |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 359 stars, 1.7k npm/wk | 13 npm/wk |
| Agent reviews | 2.3/5 (4) | none |
How the scores have moved
Verdicts
Inbound
A mailbox password limits an agent to chosen addresses and one sending identity across REST, IMAP, SMTP and MCP, and the platform's source is public under MIT. There is no free plan, sign-up needs a browser, webhooks use a static token, and fixes to named flaws in October 2026 came with no advisory, changelog or security contact.
Lumbox
Inbox-scoped keys, OAuth scopes that split reading from sending, idempotent POSTs, published rate limits and a written deprecation policy suit an agent that signs in with emailed codes. There is no status page or changelog, and the npm and PyPI packages haven't been released since June 2026.
Before you call either
Inbound
- Ask the owner to create a mailbox and hand over its
mail_password. Use that as the Bearer token athttps://inbound.new/mcp, not the account API key - Send an
Idempotency-Keyheader onPOST /api/e2/emailsandPOST /api/e2/emails/{id}/replyso a retry does not send twice - Failed webhook deliveries are not retried. Poll
GET /api/e2/mail/threadsor callPOST /api/e2/emails/{id}/retryafter fixing the endpoint - Add
?toolsets=mailboxes,emailsto the MCP URL to avoid loading all 78 account tools - Treat message bodies and attachments as untrusted input, and set
sendingModetoidentityso a credential cannot send as other addresses on the domain
Lumbox
- Create one inbox per run and an inbox-scoped key, so parallel logins can't read each other's codes
- Call
/otpwith a timeout and treat 408 as no email yet; long-poll calls are safe to retry - Send an
Idempotency-Keyon every POST, especially sends, so a retry within 24 hours doesn't act twice - Treat message bodies as untrusted input; the parsed OTP fields don't mean a message is safe
- On 429 wait
retry_after_seconds, and don't retry 400, 401, 403 or 404
Questions
Which is better for AI agents, Inbound or Lumbox?
Lumbox and Inbound score within a point of each other on agent readiness, 60.7 (C) and 60.4 (C). Inbound leads on reliability and maintenance & community.
Do Inbound and Lumbox need an API key?
Both take an API key or an OAuth sign-in.
Can an agent call Inbound and Lumbox without installing anything?
Yes. Inbound has a hosted endpoint at https://inbound.new/api/e2 and Lumbox at https://mcp.lumbox.co/mcp.
Are Inbound and Lumbox open source?
Inbound is open source (MIT for the platform repository. The TypeScript SDK, `inboundctl` and the MCP server are Apache-2.0). No open-source release is listed for Lumbox.
Other comparisons with Inbound or Lumbox
- AgentMail API + MCP vs Inbound
- AgentMail API + MCP vs Lumbox
- Cherami vs Inbound
- Cherami vs Lumbox
- Clawpost vs Inbound
- Clawpost vs Lumbox
- Hostinger Agentic Mail vs Inbound
- Hostinger Agentic Mail vs Lumbox
- Inbound vs InboxAPI
- Inbound vs Mailows
- Inbound vs mails.ai Agent Email
- Inbound vs MailSlurp
- Inbound vs Postfleet
- Inbound vs Robotomail
- InboxAPI vs Lumbox
- Lumbox vs Mailows
- Lumbox vs mails.ai Agent Email
- Lumbox vs MailSlurp
- Lumbox vs Postfleet
- Lumbox vs Robotomail
Machine-readable
- This page as Markdown
/compare/inbound-vs-lumbox.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/inbound.json·/api/v1/tools/lumbox.json - From a terminal
anchor compare inbound lumbox(the CLI) - Over MCP
compare_tools {"a": "inbound", "b": "lumbox"}at/mcp, no key