Gmail MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gmail_list_accountsA | List all configured Gmail accounts and their authentication status |
| gmail_switch_accountA | Switch the active Gmail account for this session. All subsequent tool calls use this account by default unless overridden. |
| gmail_authenticateB | Authenticate a Gmail account via OAuth. Opens a browser for Google consent. |
| gmail_search_messagesC | Legacy search returning an array of Gmail message metadata using Gmail query syntax. |
| gmail_search_emailsA | Paginated rich Gmail search. Prefer this for triage because it returns messages, nextPageToken, and resultSizeEstimate. |
| gmail_read_messageA | Read a specific Gmail message by ID, including full body content |
| gmail_batch_read_messagesA | Read explicit shortlisted Gmail message IDs. Use after search when snippets are insufficient. |
| gmail_read_threadB | Read a Gmail thread. Pass thread_id for legacy behavior, or id plus id_type=message/thread. max_messages returns the most recent N messages. |
| gmail_list_labelsA | List all Gmail labels for an account |
| gmail_create_labelA | Create a Gmail label, or return the existing label if one already has this name. |
| gmail_create_filterB | Create a Gmail filter. Label names must already exist and are resolved to label IDs. |
| gmail_list_filtersA | List all Gmail filters for an account |
| gmail_delete_filterB | Delete one Gmail filter by its filter ID |
| gmail_apply_labels_to_messagesB | Apply or remove Gmail labels on explicit message IDs. Does not accept queries. |
| gmail_archive_messagesA | Archive explicit Gmail message IDs by removing INBOX. Does not accept queries. |
| gmail_stage_trash_messagesA | Stage explicit messages for Trash. Must be confirmed with gmail_confirm_trash_messages. |
| gmail_confirm_trash_messagesB | Confirm and move previously staged messages to Trash using the confirmation code. |
| gmail_prepare_bulk_label_queryA | Preview and stage a capped query-based bulk label operation. Nothing changes until gmail_confirm_bulk_label_operation. |
| gmail_confirm_bulk_label_operationB | Confirm a staged bulk label operation using the confirmation code. |
| gmail_create_draftA | Create a draft email (does NOT send it) |
| gmail_list_draftsC | List Gmail drafts with summarized metadata. |
| gmail_update_draftA | Update an existing Gmail draft. Omitted fields preserve current values. Drafts with attachments are rejected. |
| gmail_create_forward_draftB | Create draft forwards for source messages. Source attachments are not preserved in v1. |
| gmail_get_profileA | Get Gmail profile info for an account (message/thread counts) |
| gmail_send_draftA | Stage a draft for sending. Returns a preview and confirmation code. The draft is NOT sent until gmail_confirm_send. |
| gmail_confirm_sendA | Confirm and send a previously staged draft. Code expires after 60 seconds. |
| gmail_download_attachmentA | Download an email attachment to a sandboxed quarantine directory. Returns local path, SHA-256 hash, and image flag. |
| drive_search_docsB | Search Google Docs visible to an account by title using Drive metadata only. |
| drive_get_file_metadataA | Get Google Drive file metadata visible to an account. Does not download file content. |
| drive_list_commentsA | List comments on a Google Drive file visible to an account. Uses existing narrow Drive access and does not broaden scopes. |
| drive_list_revisionsB | List coarse Drive revisions for a file visible to an account. For native Docs, this is not the full editor version history. |
| docs_read_documentA | Read text and tables from a Google Doc visible to an account. |
| drive_create_folderA | Create a Google Drive folder visible to an account. Uses the narrow drive.file scope. |
| drive_upload_fileA | Upload an explicit local file to Google Drive for an account. Uses the narrow drive.file scope. |
| drive_create_text_docA | Create a native Google Doc from plain text in Google Drive. Uses the narrow drive.file scope. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arkaigrowth/gmail-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server