Privacy policy
Last updated: 31 August 2026
The short version: email-mcp runs on your own machine and has no server of its own. It is an MCP (Model Context Protocol) server you install and run locally, alongside an AI assistant like Claude. When it reads, sends or organizes email, it calls Gmail's, Microsoft's, Apple's or your IMAP provider's API directly, from your machine, using your own OAuth token or password. Nothing about your email passes through a server we operate, because no such server exists in this flow.
What email-mcp stores, and where
- Account credentials. OAuth tokens (Gmail, Outlook) or
passwords (iCloud, generic IMAP) are stored in an encrypted file on your own
machine (
~/.email-mcp/credentials.enc), AES-256-GCM encrypted with a key derived from your machine's own hardware identifier, or from theEMAIL_MCP_KEYenvironment variable if you set one. This file never leaves your machine and is not sent to us. - Downloaded attachments saved via the
email_save_attachmenttool are written to a local directory (~/.email-mcp/downloadsby default, configurable withEMAIL_MCP_DOWNLOADS_DIR) and go nowhere else. - Email content itself is never stored by email-mcp. Messages are fetched from your provider on demand, at the request of whichever AI assistant is using the tool, and returned directly to that assistant. What that assistant's own provider (e.g. Anthropic, for Claude) does with the content it receives is governed by that provider's own privacy policy, not this one.
What email-mcp sends over the network, and to whom
Exactly two kinds of outbound request exist, both initiated by your own machine:
- To your email provider (Gmail's API, Microsoft Graph, or an IMAP/SMTP server) — to authenticate, and to carry out whatever tool call you or your assistant triggered (search, send, organize, and so on).
- To Google's or Microsoft's OAuth endpoints — the standard
authorization-code exchange during setup, and silent token refresh afterward. This
uses the shared OAuth Client ID this project ships with by default, or your own if
you set
EMAIL_MCP_GMAIL_CLIENT_ID/EMAIL_MCP_OUTLOOK_CLIENT_ID. A shared Client ID identifies the application to Google/Microsoft; it does not give us visibility into your account, your tokens, or your mail.
There is no third request. No analytics, no crash reporting, no telemetry, no update-check phone-home. You can verify this yourself: the source is on GitHub.
Gmail API scopes, specifically
The setup wizard lets you choose between two Gmail permission levels. Full
(the default) requests https://mail.google.com/, gmail.modify and
gmail.settings.basic, which includes the ability to permanently delete
messages. Restricted drops the permanent-delete permission and keeps
only gmail.modify and gmail.settings.basic, which covers every
other tool this server exposes (read, send, label, archive, move to trash, manage
filters). Use of this data is limited to providing the email features you request
through your AI assistant, in accordance with the
Google API
Services User Data Policy, including its Limited Use requirements.
What we collect
Nothing. There is no account with this project, no signup, and no server-side logging of your usage, your email content, or your credentials.
Third-party providers
Your use of Gmail, Outlook/Microsoft 365, iCloud, or any IMAP provider through email-mcp remains subject to that provider's own terms and privacy policy. email-mcp is an independent client and is not affiliated with or endorsed by Google, Microsoft or Apple.
Data removal
Uninstalling the package and deleting ~/.email-mcp removes everything
email-mcp ever stored, because everything it stored lives on your machine. To revoke
its access to your Google or Microsoft account at the source, remove it from your
provider's own connected-apps settings (Google Account → Security → Third-party
access; Microsoft Account → Apps and services).
Changes
If this policy changes, the change will be visible on this page. The core commitment, that email-mcp runs locally and reports nothing back to us, will not change.
Contact
marlinjaipohl@gmail.com, or open an issue on GitHub.