gsuite-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GSUITE_MCP_HOST | No | Host to bind for HTTP/HTTPS transport. Defaults to 127.0.0.1; use 0.0.0.0 for direct HTTPS across containers. | |
| GSUITE_MCP_PORT | No | Port for HTTP/HTTPS transport. Defaults to 8443 for HTTPS and 8080 for HTTP. | |
| DOCS_ENABLE_WRITE | No | Enables Google Docs document creation, text insertion/replacement, and advanced batch updates. Defaults to disabled. | |
| GMAIL_ENABLE_SEND | No | Enables immediate Gmail message/draft sending. Defaults to disabled. | |
| GMAIL_ENABLE_WRITE | No | Enables Gmail label changes and draft create/update/delete. Defaults to disabled. | |
| SHEETS_ENABLE_WRITE | No | Enables Google Sheets spreadsheet creation, value writes/appends/clears, and advanced formatting or structural updates. Defaults to disabled. | |
| GMAIL_MCP_CONFIG_DIR | No | Overrides the Google configuration/token directory. Defaults to ~/.config/gmail-mcp. | |
| GSUITE_MCP_TRANSPORT | No | Transport mode. Defaults to stdio; set https for direct TLS or http for a loopback proxy backend. | |
| CALENDAR_ENABLE_WRITE | No | Enables Google Calendar event create/update/delete. Defaults to disabled. | |
| GSUITE_MCP_BEARER_TOKEN | No | MCP access key. Alternative to GSUITE_MCP_BEARER_TOKEN_FILE; configure exactly one source. | |
| GSUITE_MCP_TLS_KEY_FILE | No | Required PEM private key for HTTPS transport. | |
| GSUITE_MCP_TLS_CERT_FILE | No | Required PEM certificate/full chain for HTTPS transport. | |
| GSUITE_MCP_ALLOWED_ORIGINS | No | Optional comma-separated exact HTTPS origins. Requests with an Origin header are otherwise rejected. | |
| GSUITE_MCP_BEARER_TOKEN_FILE | No | File containing the MCP access key, at least 32 characters. Alternative to GSUITE_MCP_BEARER_TOKEN; configure exactly one source. | |
| GSUITE_MCP_ALLOW_PRIVATE_HTTP | No | Allows the Docker image to serve plain private-network HTTP; every request still requires the bearer key. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setup_authA | Authorize the first Google account or reauthorize an existing one. Call without |
| setup_add_accountA | Authorize an additional Google account. Call without |
| setup_list_accountsA | List configured Google accounts and their granted OAuth scopes. |
| gmail_searchA | Search Gmail. Returns enriched metadata per match (from/subject/date/snippet/labelIds/hasAttachments) by default. Set format='ids' for the lighter ID-only response (cheaper, useful for piping to bulk ops). |
| gmail_get_messageA | Fetch a single Gmail message by ID with headers and decoded text body. |
| gmail_get_threadB | Fetch an entire Gmail thread by ID with all messages in order. |
| gmail_list_labelsB | List all Gmail labels (system and user). |
| gmail_list_draftsC | List Gmail drafts (most recent first). |
| gmail_get_draftC | Fetch a draft's full content. |
| gmail_download_attachmentsB | Download attachments from messages matching a Gmail search query into a destination directory. Files are named |
| gmail_bulk_exportA | Bulk-export messages matching a Gmail search query to a directory. Per message: <dest_dir>//{message.json, body.txt, body.html, attachments/...}. Also writes <dest_dir>/index.json summarizing all exported messages. |
| calendar_list_calendarsC | List the user's calendars. |
| calendar_list_eventsC | List events on a calendar in a time window. Default calendar_id is 'primary'. |
| calendar_get_eventC | Fetch a single event. |
| docs_get_documentB | Fetch a Google Doc as the full structured Google Docs API document, including all document tabs by default. |
| docs_read_documentB | Read the text of a Google Doc. Returns plain text for each tab (including nested tabs), plus combined text and document metadata. Tables are rendered as tab-separated rows. |
| drive_list_folderA | List the direct children of a Google Drive folder, including folders, files, and shortcuts. Supports My Drive and shared drives. Omit folder_id_or_url to list My Drive's root. |
| drive_search_filesA | Search Google Drive files and folders with Google Drive API query syntax (for example: |
| drive_get_fileB | Get detailed metadata for a Google Drive file, folder, or shortcut. |
| drive_read_fileA | Read a text file from Google Drive. Native Docs, Sheets, and Slides are exported to plain text/CSV by default. Binary files should be saved with drive_download_file instead. |
| drive_download_fileA | Download a Drive file to an exact local path. Native Google Workspace files are exported (Docs as text, Sheets as CSV, Slides as text) unless export_mime_type is specified. |
| drive_list_shared_drivesC | List shared drives that the selected Google account can access. |
| sheets_get_spreadsheetA | Get spreadsheet metadata, tab titles/IDs, dimensions, named ranges, and other properties. Cell grid data is excluded by default; enable it for formatting and restrict ranges for large spreadsheets. Discover spreadsheet IDs with drive_search_files using mimeType = 'application/vnd.google-apps.spreadsheet'. |
| sheets_read_valuesA | Read one or more ranges across spreadsheet tabs in one request. Returns valueRanges in requested order, with trailing empty rows/columns omitted. Choose FORMULA to inspect formulas or UNFORMATTED_VALUE for calculated numbers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Tools are largely distinct, with clear service prefixes and action verbs. Minor overlap exists between docs_get_document and docs_read_document (structured vs plain text) and between gmail_download_attachments and gmail_bulk_export (attachments vs full messages), but descriptions clarify the boundaries.
Names follow a consistent service_verb_noun snake_case convention (e.g., gmail_list_labels, calendar_get_event, drive_download_file). A few names omit the object (gmail_search, setup_auth) or use an adjective (gmail_bulk_export), but the pattern is still predictable.
24 tools span five Google services plus auth, averaging roughly 4 tools per service, which is reasonable for a broad multi-service server. Gmail (8) and Drive (6) are somewhat heavy, but each tool serves a distinct function.
The surface is heavily read-only: Gmail lacks send/draft-create/modify, Calendar lacks create/update/delete events, and Docs/Sheets lack any write operations despite auth requesting write scopes. These are significant gaps for a Google Workspace server.