add_delegate
Adds a delegate to the specified account
Work a Gmail mailbox from an agent — messages, threads, drafts and labels, plus the settings pages behind them.
LABSCO SUMMARY
What it takes off you is the handling: find the thread, label it, draft the reply, send it — and the parts nobody opens the settings page for, like a filter, a forwarding address or a vacation responder, are the same kind of call as the rest.
A Gmail server that follows the Gmail API surface closely rather than reducing it: the mailbox, and also the settings most integrations leave out — filters, forwarding, aliases, delegates, S/MIME.
npx on your PATH, and a Google account authorized to it. Every tool checks the OAuth2 credentials before it reaches Gmail, so the authorization is what has to be in place first.
Follow the published steps
USE CASES
Search the mailbox on the same query syntax Gmail takes, open what matches, and label, archive or bin it — one message at a time, or a batch in a single call.
Find the thread, read what was said, and leave a draft in place. Nothing goes out until the draft is sent, so the review step stays where it belongs.
Create the labels you want, check them against what already exists, and apply them across a batch of messages in one call instead of dragging them one by one.
Narrow the mailbox to the message that carried it, open the message, and pull the attachment down by its id rather than scrolling for the thread.
Forwarding, filters and delegates are three separate settings pages and each can send mail somewhere you have forgotten about. Read all of them back in one pass.
Set the vacation responder with its own subject and window, give a colleague delegate access, and confirm which addresses your mail can go out as.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_delegateAdds a delegate to the specified account
batch_delete_messagesDelete multiple messages
batch_modify_messagesModify the labels on multiple messages
create_draftCreate a draft email in Gmail. Note the mechanics of the raw parameter.
create_filterCreates a filter
create_forwarding_addressCreates a forwarding address
create_labelCreate a new label
create_send_asCreates a custom send-as alias
delete_draftDelete a draft
delete_filterDeletes a filter
delete_forwarding_addressDeletes the specified forwarding address
delete_labelDelete a label
delete_messageImmediately and permanently delete a message
delete_send_asDeletes the specified send-as alias
delete_smime_infoDeletes the specified S/MIME config for the specified send-as alias
delete_threadDelete a thread
get_attachmentGet a message attachment
get_auto_forwardingGets auto-forwarding settings
get_delegateGets the specified delegate
get_draftGet a specific draft by ID
get_filterGets a filter
get_forwarding_addressGets the specified forwarding address
get_imapGets IMAP settings
get_labelGet a specific label by ID
get_languageGets language settings
get_messageGet a specific message by ID with format options
get_popGets POP settings
get_profileGet the current user's Gmail profile
get_send_asGets the specified send-as alias
get_smime_infoGets the specified S/MIME config for the specified send-as alias
get_threadGet a specific thread by ID
get_vacationGet vacation responder settings
insert_smime_infoInsert (upload) the given S/MIME config for the specified send-as alias
list_delegatesLists the delegates for the specified account
list_draftsList drafts in the user's mailbox
list_filtersLists the message filters of a Gmail user
list_forwarding_addressesLists the forwarding addresses for the specified account
list_labelsList all labels in the user's mailbox
list_messagesList messages in the user's mailbox with optional filtering
list_send_asLists the send-as aliases for the specified account
list_smime_infoLists S/MIME configs for the specified send-as alias
list_threadsList threads in the user's mailbox
modify_messageModify the labels on a message
modify_threadModify the labels applied to a thread
patch_labelPatch an existing label (partial update)
patch_send_asPatches the specified send-as alias
remove_delegateRemoves the specified delegate
send_draftSend an existing draft
send_messageSend an email message to specified recipients. Note the mechanics of the raw parameter.
set_default_smime_infoSets the default S/MIME config for the specified send-as alias
stop_mail_watchStop receiving push notifications for the given user mailbox
trash_messageMove a message to the trash
trash_threadMove a thread to the trash
untrash_messageRemove a message from the trash
untrash_threadRemove a thread from the trash
update_auto_forwardingUpdates automatic forwarding settings
update_imapUpdates IMAP settings
update_labelUpdate an existing label
update_languageUpdates language settings
update_popUpdates POP settings
update_send_asUpdates a send-as alias
update_vacationUpdate vacation responder settings
verify_send_asSends a verification email to the specified send-as alias
watch_mailboxWatch for changes to the user's mailbox
BEFORE YOU INSTALL
64 tools when we connected. update_draft is documented but cannot be called. Several tools act on a live mailbox: send_message sends mail, delete_message and batch_delete_messages delete permanently, and the settings tools change forwarding, delegates, filters and send-as aliases.
npx on PATH
CONTEXT COST
Rated by the size of the 64 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Go to the Google Cloud Console (https://console.cloud.google.com), create a new project or select an existing one, and enable the Gmail API for it.
Go to Credentials and create an OAuth 2.0 Client ID. Choose "Desktop app" for the client type.
Download and save the OAuth keys JSON as ~/.gmail-mcp/gcp-oauth.keys.json.
Then, once per user, run:
npx @shinzolabs/gmail-mcp authA browser window will open where you may select a profile, review the requested scopes, and approve.
npx -y @smithery/cli install @shinzo-labs/gmail-mcp{
"mcpServers": {
"gmail": {
"command": "npx",
"args": [
"@shinzolabs/gmail-mcp"
]
}
}
}git clone https://github.com/shinzo-labs/gmail-mcp.git
cd gmail-mcp
pnpm i && pnpm buildAdd the following to your MCP client config.json:
{
"mcpServers": {
"gmail": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GMAIL_MCP>/dist/index.js"
]
}
}
}