Google Workspace MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| gws-path | No | Path to the gws binary. | gws |
| services | No | Comma-separated list of services to expose (e.g., drive,sheets,calendar,docs,gmail). Default is all services. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| drive_files_listA | List files in Google Drive. Supports search queries via the 'q' parameter. Shared drive files are included automatically. |
| drive_files_getA | Get a file's metadata by ID. Shared drive files are supported automatically. |
| drive_files_createC | Create a new file in Google Drive. Use with bodyParams for metadata and optionally upload a local file. |
| drive_files_copyB | Copy a file. Useful for converting formats (e.g. markdown to Google Doc). |
| drive_files_updateB | Update a file's metadata or content. |
| drive_files_deleteB | Permanently delete a file. |
| drive_files_exportA | Export a Google Workspace file (Doc, Sheet, Slide) to a specific format. Returns JSON with export metadata. Use drive_files_download for automatic export with content returned inline. |
| drive_permissions_createB | Share a file by creating a permission. |
| sheets_getB | Get spreadsheet metadata. |
| sheets_values_getB | Read values from a spreadsheet range. |
| sheets_values_updateB | Write values to a spreadsheet range. |
| sheets_values_appendC | Append values after the last row of a spreadsheet range. |
| calendar_events_listC | List events from a calendar. |
| calendar_events_getA | Get a single calendar event by ID. |
| calendar_events_insertB | Create a new calendar event. |
| calendar_events_updateB | Update an existing calendar event. |
| calendar_events_deleteB | Delete a calendar event. |
| docs_getB | Get a Google Doc's content and metadata. |
| docs_createB | Create a new empty Google Doc. |
| docs_batchUpdateB | Apply updates to a Google Doc (insert text, formatting, etc). |
| gmail_messages_listC | List Gmail messages matching a query. |
| gmail_messages_getB | Get a single Gmail message by ID. |
| gmail_threads_listB | List Gmail threads matching a query. |
| gmail_threads_getB | Get a full Gmail thread by ID (all messages in the conversation). |
| gmail_threads_modifyA | Modify a Gmail thread: add/remove labels. To archive, remove INBOX. To mark read, remove UNREAD. To star, add STARRED. |
| drive_files_downloadB | Download a file's content from Google Drive. Returns the text content for text files, or a base64-encoded string for binary files. For Google Docs/Sheets/Slides, exports to a readable format (plain text by default). |
| gmail_drafts_createA | Create a Gmail draft. Pass threadId to attach the draft to an existing conversation (it will appear as a reply within that thread). The draft is NOT sent — open Gmail to review and send. |
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
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/conorbronsdon/gws-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server