Docs

Read-only access

A read-only connection lets an AI read and search your mail and nothing else. This page lists what it can do, what it cannot, and how each limit is enforced.

What a read-only connection can do

  • It holds the read:email permission, and optionally search:email, which adds nothing on top.
  • It can list, read and search messages, download attachments, and list inboxes and folders.
  • It cannot send, reply, draft, move, flag, mark as read, delete, schedule or create automations.

How to choose it

  • When you connect an AI client, the consent screen offers access levels. Pick Read-only ("Read and search your mail. Can't send, change, or delete anything.") or open Customize permissions and grant read only. You can also limit the connection to some of your inboxes.
  • ChatGPT opens this screen on Full access, because it cannot come back and ask for more access later. Select Read-only before you click Allow access.
  • API keys created in the dashboard can be limited to the same permissions.

How the limits are enforced

  • Every tool call is checked against the connection's permissions before we contact your mail server. A call outside the grant is refused with insufficient_scope.
  • On IMAP mailboxes, a read-only connection opens each folder with EXAMINE, the read-only form of SELECT. Your mail provider then refuses any flag change, move or delete in that session, whatever our code does.
  • Messages are fetched with BODY.PEEK, so reading a message never marks it as read. This holds for every connection, not only read-only ones.
  • The reading tool never changes your mailbox. Its old mark_as_read option was removed; marking as read is a separate action that needs the manage:folders permission.
  • AI clients that sign in with OAuth see the full tool list, so they can ask you for more access. Those calls still fail until you grant it.

What happens when you connect

  • We open a TLS connection, verify the server's certificate, sign in once to check your password or app password, and sign out.
  • Nothing is downloaded, copied or indexed. Messages are fetched from your provider only when a tool asks for them.
  • Background work runs only for automations and scheduled sends, and both need write permissions a read-only connection does not have.
  • If you never want to send from the address, choose Advanced settings → Connection type → Receive only (IMAP) when you connect it. No SMTP server is configured or contacted.

Check it yourself

mcpemails is open source. These files implement and test what this page describes:

Connect a mailbox read-only

One inbox is free, forever.