CZL Mail
A native JMAP desktop client built for Stalwart
Mail, calendar, contacts, files and Markdown notes in one app. Mail is cached locally so it opens instantly, a single push connection keeps everything in sync, and new mail still reaches you after you close the window. A built-in MCP server lets AI agents like Claude and Codex work with your mail.
Windows 10 / 11 and macOS 10.15+. Your server only needs Stalwart, no separate webmail to deploy
Preview
Mail, calendar, notes and the AI assistant share one layout, in light and dark themes. Drawn below from the real interface.
Your Whole Mail Server, One App
Speaks JMAP directly. No IMAP / CalDAV / CardDAV juggling, no browser tab to keep open.
Local Cache, Instant Open
Mail is cached in local SQLite. Switching folders, paging and search read from disk, and full-text search handles CJK text. Unified views show the inbox, unread, sent and junk of your personal and shared mailboxes in one list.
Real-Time Push Sync
One JMAP EventSource connection drives every update. Deletes, reads and moves made elsewhere show up right away, no polling.
Notifications & Tray
New mail and event reminders use system notifications. Closing the window keeps it in the tray or menu bar with an unread count.
Complete Compose
HTML signatures, templates, read receipts, scheduled and separate sending. Recipients autocomplete from contacts, directory and recent mail.
Calendar & Contacts
Events, tasks, reminders, recurrence and invitation replies; contacts and groups. Import .ics, webcal and vCard.
Files & Server Settings
Stalwart file storage, identities, vacation replies and Sieve filters, interoperable with Bulwark webmail.
Secure by Default
Message bodies render in three layers of isolation and remote images are blocked. Credentials live in the system keychain; updates are SHA-256 verified.
Open & Independent
AGPL-3.0 and not tied to any deployment. Sign in with app passwords or OAuth / SSO. Your data stays on your server and your computer.
Notes & Journal
Markdown notes stored in your own Stalwart drive. Write like in Obsidian, pick up on any computer.
Live Markdown
Live preview shows source only for the paragraph you are editing and renders the rest. Tables, code blocks, task lists and footnotes, with source and reading modes a click away.
One-click journal
Today's journal opens today's entry or creates it from your template. Folder and file name use date patterns like YYYY-MM-DD-dddd, the same as Obsidian daily notes.
Templates
Any note can be a template, with {{date}}, {{time}} and {{title}}. Journal settings sync with your account, so a new device needs no setup.
Local first, synced in the background
Every keystroke is saved on your computer first, offline included, then synced to the Notes folder on your drive. Edits from two devices are compared side by side, never overwritten.
Attachments and images
Paste screenshots or drop files: they are stored under assets with a link inserted. Images and PDFs preview right in the note.
Ready for AI
Notes are available over MCP so agents can search, read and organize them. Write access is off until you turn it on.
Let AI Work With Your Mailbox
A built-in local MCP server, plus any model that speaks the OpenAI Responses API.
MCP for Claude, Codex and Other Agents
Once enabled, agents can list and search mail, read messages, view and create events, look up contacts and browse files.
- Listens on 127.0.0.1 only and requires a token
- Requests with an Origin header are rejected, so web pages cannot call it
- The send tool is off by default and enabled separately, guarding against prompt injection in incoming mail
claude mcp add --scope user czlmail -- "C:\Users\<user>\AppData\Local\CZL\CZL Mail\czlmail.exe" mcpAI Assistant: Translate, Polish, Draft
Enter an endpoint, API key and model in settings. Until you do, no AI buttons appear anywhere.
- Translate a message in place with layout and styles intact; translations are cached
- Polish or translate your draft while composing
- Describe what you want to say and let AI draft the reply
Four Steps to Get Started
Install the app, prepare an app password, and the first sync takes a few minutes.
Install
Windows installs per user with no admin rights. On macOS, drag it into Applications and allow it once in Privacy & Security.
Get a Password
Create an app password in Stalwart, or sign in through your browser if the server uses single sign-on.
Sign In & Sync
Enter server, email and password. The latest 500 messages load first, then push sync keeps everything current.
Turn On Extras
Enable launch at login, default mail app or the AI assistant in settings, or turn on MCP on the AI Assistant page.
FAQ
A few questions you might have before getting started.
Does it only work with Stalwart?
Do I need to deploy a webmail as well?
Where is my mail stored? Does it pass through third parties?
Which password do I sign in with?
Do notes work with Obsidian?
Could MCP let an AI send mail on its own?
Which systems are supported? How does it update?
Where can I report issues?
Free to Download, Open to Read
Windows installer and universal macOS build, with built-in online updates.
- Free and open source under AGPL-3.0
- Per-user install on Windows, no admin rights
- Universal macOS build for Intel and Apple silicon
- Online updates with SHA-256 verification
Open source by CZL
About CZL →CZL focuses on AI, technology and internet services. CZL Mail is the desktop client we built for our own Stalwart mail server and released as open source.