The data layer
Your mailbox and calendars live on Langmail’s own mail server (Stalwart) atmail.langmail.me — not in a hyperscaler’s cloud. The server speaks:
- JMAP for mail — the modern, JSON-based successor to IMAP
- CalDAV for calendars and scheduling
- IMAP and SMTP for compatibility with every existing mail client
The action layer
The MCP server atmcp.langmail.me is a thin, stateless translation layer: it authenticates the agent, then executes tools against the data layer over JMAP (email tools) and CalDAV (calendar tools) on the caller’s behalf. It holds no copy of your mail.
Its design goals, visible in the tool surface:
- Token-frugal. Search and thread results are compact plain text without message bodies; the agent fetches a body only when it needs one.
- Structured over scraping. Category, sender, date-range, and mailbox filters answer most questions in one call.
- Deliberately scoped. Email tools are read-only; calendar tools are read-write. Expanding the mutation surface is a deliberate decision, not a default.
One identity for humans and agents
A single identity service (auth.langmail.me) signs you into the app, webmail, and every agent grant:
| Consumer | How it authenticates |
|---|---|
| Web app and webmail | Google sign-in, shared browser session |
| MCP clients (agents) | OAuth 2.1 grant you approve per client — see How authorization works |
| IMAP/SMTP mail clients | Per-device app passwords |
you@langmail.me mailbox. An agent’s token is scoped to the user who granted it — it can never reach another mailbox.
Humans and agents, same mailbox
There is no “agent copy” of your data. When classification flags a message as a to-do or tags itreceipt, the result is a standard mailbox keyword — you see it as a label in webmail, and a connected agent can filter by it a second later. The mailbox is the single source of truth, and every surface — human or agent — reads the same one.