Most Gmail connectors stop at search and send. This one covers labels, filters and batch archiving, which is where the actual work of keeping a mailbox usable lives — and it does it against your own OAuth credentials rather than a third-party relay.
A Gmail connector covering the parts of the mailbox people actually maintain: not just reading and sending, but labels, folders, filters and the archive — the machinery that keeps an inbox from becoming a pile.
- Email — send with your own subject, content and recipients, read messages with full metadata, move to trash with confirmation, mark read or unread, open a message in the browser
- Drafts — create one for later review, list all drafts, edit an existing one
- Labels — list, create, apply and remove, rename, delete, and search by label
- Folders — create them (as Gmail labels), move email between them, list what exists
- Search and filters — Gmail's own advanced query syntax, plus creating, managing and deleting filters by sender, recipient, subject or content
- Archive — archive a message, batch-archive everything matching a search, list what is archived, and restore it to the inbox
Python 3.8+ and a Google Cloud project with the Gmail API enabled. Configure the OAuth consent screen as External, add your own address as a test user, and add the `https://www.googleapis.com/auth/gmail/modify` scope; then create OAuth 2.0 credentials of type Desktop app and download the JSON. Keep it somewhere deliberate — the README's own suggestion is a `~/.gmail-mcp` directory — and pass `--creds-file-path` and `--token-path` in the client config. Tokens refresh automatically once granted. The server asks for confirmation before sensitive actions, and the credential and token files should never reach version control.
One command plus a key — uvx gmail, then supply credentials
