google-workspace-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CREDENTIALS_PATH | No | Path to the Google OAuth credentials JSON file. If not set, defaults to ./credentials.json or ~/.google-workspace-mcp/credentials.json |
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 |
|---|---|
| auth_clearA | Clears authentication credentials, forcing re-login on next request. |
| auth_refreshTokenB | Manually triggers the token refresh process. |
| time_getCurrentDateA | Gets the current date in UTC and local time, along with the timezone. |
| time_getCurrentTimeA | Gets the current time in UTC and local time, along with the timezone. |
| time_getTimeZoneA | Gets the local timezone and UTC offset. |
| drive_searchA | Searches for files and folders in Google Drive. Query can be a simple term, a URL, or a full Drive query string. |
| drive_findFolderC | Finds a folder by name in Google Drive. |
| drive_createFolderB | Creates a new folder in Google Drive. |
| drive_downloadFileB | Downloads a file from Google Drive to a local path. |
| drive_moveFileB | Moves a file or folder to a different folder in Google Drive. |
| drive_trashFileA | Moves a file or folder to the trash (reversible). |
| drive_renameFileB | Renames a file or folder in Google Drive. |
| drive_getCommentsB | Retrieves comments from a Google Drive file. |
| docs_createB | Creates a new Google Doc, optionally with initial text content. |
| docs_getTextA | Retrieves the text content of a Google Doc. |
| docs_writeTextC | Writes text to a Google Doc at a specified position. |
| docs_replaceTextA | Replaces all occurrences of text with new text in a Google Doc. |
| docs_formatTextB | Applies formatting (bold, italic, headings, etc.) to text ranges in a Google Doc. |
| docs_getSuggestionsB | Retrieves suggested edits from a Google Doc. |
| sheets_getTextB | Retrieves the content of a Google Sheets spreadsheet. |
| sheets_getRangeB | Gets values from a specific range in a spreadsheet. |
| sheets_findA | Finds Google Sheets spreadsheets by name. |
| sheets_getMetadataA | Gets metadata about a spreadsheet (sheets, dimensions, etc.). |
| slides_getTextA | Retrieves the text content of a Google Slides presentation. |
| slides_findA | Finds Google Slides presentations by name. |
| slides_getMetadataA | Gets metadata about a presentation (slides, dimensions, etc.). |
| slides_getImagesB | Downloads all images from a presentation to a local directory. |
| slides_getSlideThumbnailB | Downloads a thumbnail image of a specific slide. |
| calendar_listA | Lists all of the user's calendars. |
| calendar_createEventB | Creates a new calendar event. Supports Google Meet and Drive attachments. |
| calendar_listEventsA | Lists events from a calendar. Defaults to upcoming events. |
| calendar_getEventA | Gets details of a specific calendar event. |
| calendar_findFreeTimeA | Finds a free time slot for multiple people to meet. |
| calendar_updateEventB | Updates an existing calendar event. Supports Meet and Drive attachments. |
| calendar_respondToEventA | Responds to a meeting invitation (accept, decline, or tentative). |
| calendar_deleteEventB | Deletes an event from a calendar. |
| chat_listSpacesA | Lists the Google Chat spaces you are a member of. |
| chat_findSpaceByNameA | Finds a Google Chat space by display name. |
| chat_sendMessageB | Sends a message to a Google Chat space. |
| chat_getMessagesB | Gets messages from a Google Chat space. |
| chat_sendDmC | Sends a direct message to a user by email. |
| chat_findDmByEmailA | Finds a Google Chat DM space by a user's email address. |
| chat_listThreadsB | Lists threads from a Google Chat space. |
| chat_setUpSpaceA | Creates a new Google Chat space with members. |
| gmail_searchC | Search for emails in Gmail using query parameters. |
| gmail_getA | Get the full content of a specific email message. |
| gmail_downloadAttachmentB | Downloads an email attachment to a local file. |
| gmail_modifyB | Modify a Gmail message's labels. System labels: INBOX, SPAM, TRASH, UNREAD, STARRED, IMPORTANT. |
| gmail_batchModifyA | Bulk modify up to 1,000 Gmail messages at once with the same label changes. |
| gmail_modifyThreadA | Modify labels on all messages in a Gmail thread at once. |
| gmail_sendC | Send an email message. |
| gmail_createDraftB | Create a draft email message. |
| gmail_sendDraftA | Send a previously created draft email. |
| gmail_listLabelsA | List all Gmail labels in the user's mailbox. |
| gmail_createLabelB | Create a new Gmail label. |
| people_getUserProfileB | Gets a user's profile information by ID, email, or name. |
| people_getMeA | Gets the profile information of the authenticated user. |
| people_getUserRelationsA | Gets a user's relations (manager, spouse, assistant, etc.). Defaults to authenticated user. |
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 58 tools
Tools are clearly organized by service with distinct actions. While some pairs like sheets_getText vs sheets_getRange or drive_search vs sheets_find could be confusing, their descriptions adequately clarify the intended use.
Most tools follow a service_verbNoun pattern, but casing is inconsistent: some use all lowercase (e.g., drive_search, calendar_list) while others use camelCase (e.g., drive_findFolder, calendar_listEvents). This inconsistency reduces predictability.
With 58 tools, the server is significantly over the typical 3-15 range. While the broad Google Workspace scope justifies many tools, the count is still excessive and could be streamlined, such as merging the three separate time_* tools into one.
Core workflows for Gmail, Calendar, and Chat are well covered, but Docs, Sheets, and Slides lack lifecycle operations (e.g., no create/update/delete for Sheets or Slides), and Drive lacks file upload. These gaps hinder comprehensive document and file management.