# Gmail (verified)

Manage Gmail end-to-end: send, draft, reply, forward, and bulk-modify or delete messages and threads. Organize your inbox with labels, archiving, and trashing, and retrieve messages, attachments, and…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add gmail

# Browse available tools
npx -y @smithery/cli@latest tool list gmail

# Get full schema for a tool
npx -y @smithery/cli@latest tool get gmail GMAIL_ADD_LABEL_TO_EMAIL

# Call a tool
npx -y @smithery/cli@latest tool call gmail GMAIL_ADD_LABEL_TO_EMAIL '{}'
```

## Direct MCP Connection

Endpoint: `https://gmail.run.tools`

## Tools (20)

- `GMAIL_ADD_LABEL_TO_EMAIL` — Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listl…
- `GMAIL_CREATE_EMAIL_DRAFT` — Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachmen…
- `GMAIL_CREATE_LABEL` — Creates a new label with a unique name in the specified user's gmail account.
- `GMAIL_DELETE_DRAFT` — Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions…
- `GMAIL_DELETE_MESSAGE` — Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authentica…
- `GMAIL_FETCH_EMAILS` — Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retr…
- `GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID` — Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `us…
- `GMAIL_FETCH_MESSAGE_BY_THREAD_ID` — Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `use…
- `GMAIL_GET_ATTACHMENT` — Retrieves a specific attachment by id from a message in a user's gmail mailbox, requiring valid message and attachment …
- `GMAIL_GET_CONTACTS` — Fetches contacts (connections) for the authenticated google account, allowing selection of specific data fields and pag…
- `GMAIL_GET_PEOPLE` — Retrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is …
- `GMAIL_GET_PROFILE` — Retrieves key gmail profile information (email address, message/thread totals, history id) for a user.
- `GMAIL_LIST_DRAFTS` — Retrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details incl…
- `GMAIL_LIST_LABELS` — Retrieves a list of all system and user-created labels for the specified gmail account.
- `GMAIL_LIST_THREADS` — Retrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting fil…
- `GMAIL_MODIFY_THREAD_LABELS` — Adds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is v…
- `GMAIL_MOVE_TO_TRASH` — Moves an existing, non-deleted email message to the trash for the specified user.
- `GMAIL_PATCH_LABEL` — Patches the specified label.
- `GMAIL_REMOVE_LABEL` — Permanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.
- `GMAIL_REPLY_TO_THREAD` — Sends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and cor…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get gmail <tool-name>
```
