Google Workspace (GWS) 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_createB | 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_updateC | Update a file's metadata or content. |
| drive_files_deleteA | 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_updateC | Write values to a spreadsheet range. |
| sheets_values_appendB | Append values after the last row of a spreadsheet range. |
| calendar_events_listB | List events from a calendar. |
| calendar_events_getA | Get a single calendar event by ID. |
| calendar_events_insertC | Create a new calendar event. |
| calendar_events_updateA | Update an existing calendar event with patch semantics (only supplied fields change). |
| calendar_events_deleteA | Delete a calendar event. |
| docs_getB | Get a Google Doc's content and metadata. |
| docs_createB | Create a new empty Google Doc. |
| docs_batchUpdateC | Apply updates to a Google Doc (insert text, formatting, etc). |
| gmail_messages_listB | 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_getA | 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. |
| tasks_tasklists_listA | List the authenticated user's task lists. |
| tasks_tasklists_getA | Get a task list by ID. |
| tasks_tasklists_insertB | Create a new task list. |
| tasks_tasklists_updateA | Update a task list (only supplied fields change). |
| tasks_tasklists_deleteA | Delete a task list. If it contains assigned tasks, the originals (in Docs/Chat Spaces) are also removed. |
| tasks_tasks_listA | List tasks in a task list. Excludes hidden and assigned tasks by default; set showHidden/showAssigned to include them. |
| tasks_tasks_getA | Get a task by ID. |
| tasks_tasks_insertA | Create a new task. Use parent to nest as a subtask, previous to position after a sibling. |
| tasks_tasks_updateA | Update a task (only supplied fields change). Common use: complete a task by setting status to "completed". |
| tasks_tasks_moveA | Move a task within its list or to another list. Use parent/previous to set position; destinationTasklist to change list. |
| tasks_tasks_deleteA | Delete a task. If assigned from Docs/Chat Spaces, the original is also removed. |
| tasks_tasks_clearA | Hide all completed tasks in a list. Cleared tasks are not deleted but stop appearing in default list responses. |
| drive_files_downloadA | 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
- 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/conorbronsdon/gws-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server