Email for AI assistants
Connect any email inbox to your AI assistant
Read-only by default. Sending is opt-in per mailbox, and your assistant asks you before every email.
- Any IMAP provider
- Read-only by default
- No email stored
How it works
Three steps, about two minutes.
Create an account
Sign up with an email and password. No credit card.
Add your mailboxes
Pick a preset or enter any IMAP server. OpenMail tests the connection before saving, then encrypts the password.
Connect your assistant
Add the OpenMail URL and sign in to approve access (read-only unless you allow sending), or use an API key for Grok Bot.
Connect your assistant
First sign up and add a mailbox. Then pick the option your assistant supports.
Option 1: Sign in with OpenMail (Claude, ChatGPT and other MCP clients with sign-in)
- In your assistant, add a custom or remote MCP connector with just this URL. No key or header needed.
https://mcp.openmail.tools/mcp- Your assistant opens OpenMail. Log in, check the list of mailboxes, and click Allow. Access is read-only unless the app asks to send and you tick the box that also allows sending.
- Disconnect it any time under Connected apps on your dashboard.
Option 2: API key (Grok Bot and clients that send a header)
- Create an API key on your dashboard. Copy it: it is shown only once.
- In Grok Bot, add a custom MCP connector (streamable HTTP) with:
https://mcp.openmail.tools/mcpAuthorization: Bearer <your key>- Ask something about your email. Revoke the key any time from your dashboard.
What you can ask
Ask your assistant in plain language. It picks the right tools.
- “Find invoices from last month”
- “Summarize unread emails from today”
- “Show the thread with Acme about the contract”
Tools
Five read tools, plus send when you turn it on.
list_accountsLists the mailboxes you added: name, address, provider and host. Never passwords.
list_foldersFolders with total and unread counts.
search_messagesSearch by sender, recipient, subject, text, date, unread or attachments. Newest first, paged.
read_messageHeaders, plain-text body and attachment names and sizes. Does not mark the message as read.
read_threadThe whole conversation, oldest first.
send_messageSends one email after you have seen it and said to send it. Off unless you turn sending on for that mailbox.
Security & privacy
Built to be safe to connect to an inbox.
Read-only by default
Agents can list, search and read. Sending is off until you turn it on for a mailbox and allow it for that connection. They cannot delete, move or flag mail.
Never marks mail as read
Messages are opened read-only and fetched with BODY.PEEK, so unread stays unread.
No email stored
Messages are fetched from your provider on request and passed straight to your assistant.
Encrypted passwords
Mailbox passwords are encrypted with AES-256-GCM using a key unique to your account.
Hashed, revocable access
API keys and sign-in tokens are stored only as SHA-256 hashes. Revoke a key or disconnect an app and it stops working at once.
TLS always verified
Connections to mail servers use TLS with certificate checks that cannot be switched off.
Email is untrusted content
Tool results tell the assistant that email text is data, never instructions to follow.
MIT licensed
OpenMail is MIT-licensed software. The source code is on GitHub.
Works with
- Migadu
- Fastmail
- Zoho Mail
- iCloud Mail
- Any IMAP server
FAQ
Is my mail stored?
No. OpenMail fetches messages from your provider when your assistant asks and does not keep them. It stores only your account details, encrypted mailbox passwords, and hashed API keys and sign-in tokens. See the privacy policy.
Can it send or delete email?
It can send only from a mailbox where you turned sending on, and only after your assistant shows you the email and you confirm it. It cannot delete, move or flag mail, and reading never marks a message as read.
Which providers work?
Any mailbox with IMAP and SMTP. Migadu, Fastmail, Zoho, iCloud and Gmail have presets; for anything else, enter the servers yourself. Use an app-specific password where your provider offers one. Gmail needs an App Password.
Which assistants can I use?
Any assistant that supports remote MCP servers. Clients that support MCP sign-in (OAuth), such as Claude custom connectors, Claude Code, ChatGPT and MCP Inspector, only need the URL: you log in to OpenMail and approve access, which is read-only unless you also allow sending. Grok Bot and clients that send a fixed header use an API key from your dashboard.
How do I revoke access?
Open your dashboard and disconnect the app under Connected apps, revoke the API key, or remove the mailbox. Each takes effect immediately.
Is it free?
Yes, OpenMail is free while in beta.
Can I self-host?
Yes, OpenMail runs as a single Docker Compose stack. See the deploy guide on GitHub.