Skip to main content
Glama
aaronsb

Google Workspace MCP Server

by aaronsb

manage_drive

Search, upload, download, share, comment, and manage files, folders, and permissions in Google Drive. Handles file operations and collaboration tasks.

Instructions

Search, upload, download, share, comment on, or manage files in Google Drive.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoFile name in Drive. On `upload`, defaults to the local file's name. On `copy`, the name for the copy — without it Drive names it 'Copy of <original>'. On `update`, the new name (a rename). On `createFolder`, the folder name.
roleNoPermission level. On `share`, the level to grant — defaults to `reader`. On `setRole`, the new level, and it is REQUIRED there: with no default to fall back on, an omitted role would silently demote the collaborator, and setRole sends no notification.
typeNoPermission type (default: 'user'). Use 'group' for Google Groups, 'domain' to share with an entire G Suite domain, 'anyone' for public links.
emailYesAccount email address
queryNoDrive search query (e.g. "name contains 'budget'" or "mimeType='application/pdf'")
domainNoDomain name (required when type is 'domain').
fileIdNoFile ID
contentNoComment text. On `replyToComment`, the reply text.
filePathNoLocal file path to upload
folderIdNoFolder ID (pass the id returned by createFolder or search)
maxDepthNoHow many folder levels to descend (default 10). The tree is labelled partial when this limit stops the walk.
mimeTypeNoTarget format (e.g. application/pdf, text/csv, text/plain, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
resolvedNotrue to resolve, false to reopen
commentIdNoComment ID
operationYessearch: find files by query | get: get file metadata | upload: upload a local file to Drive | viewImage: view an image file inline without saving to workspace (png, jpg, gif, webp). Use for quick preview — use download to save. | download: download file content to local path | copy: create a copy of a file (set name to rename the copy; parentFolderId to place it in a folder) | update: rename a file (set name) and/or move it between folders (addParents / removeParents — to move, set both) | delete: permanently delete a file (cannot be undone) | trash: move a file or folder to trash (recoverable for 30 days — use instead of delete when you only need to remove it) | export: export a Google Workspace document (Docs, Sheets, Slides) to a file format | createFolder: create a new folder (optionally nested under a parent folder) | listFolder: list the files and subfolders directly inside a folder | tree: print a recursive folder tree and count the files (subfolders excluded from the count) | listPermissions: list sharing permissions on a file | share: share a file with a user, group, domain, or anyone | unshare: remove sharing permission from a file | setRole: change an existing collaborator's role (no notification email is sent) | listComments: list comments on a file | getComment: get a specific comment by ID | addComment: add a comment to a file (optionally anchored to quoted text) | resolveComment: resolve or reopen a comment | replyToComment: reply to an existing comment
addParentsNoComma-separated folder ID(s) to add as parents (move into a folder)
maxResultsNoMax results (default: 10, max: 50)
outputPathNoLocal path to save the file
quotedTextNoText to anchor the comment to (optional — if provided, comment is anchored to first occurrence)
shareEmailNoEmail address of the collaborator. On `share`, required when type is 'user' or 'group'; omit for 'domain' (use the `domain` param) or 'anyone'. On `setRole`, the existing collaborator whose role to change.
permissionIdNoPermission ID to remove (from listPermissions)
removeParentsNoComma-separated folder ID(s) to remove as parents (move out of a folder)
includeDeletedNoInclude deleted comments (default: false)
parentFolderIdNoDestination folder ID. On `upload`, places the file in this folder. On `copy`, defaults to the source file's folder. On `createFolder`, nests the new folder under this parent.
Install Server

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description alone does not disclose side effects such as permanent deletes, 30-day trash recovery, missing setRole notifications, or partial tree results. Those traits are documented in the schema's operation enum, which mitigates the transparency gap, but the description field itself carries little behavioral weight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with a clear verb series and no significant waste. The final 'or manage files' is somewhat redundant and vague, but overall the length is appropriate given that the schema carries the detailed operational semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 24-parameter tool with no output schema and no annotations, a high-level verb list is not fully complete on its own; the agent must rely on the schema's extensive operation enum to understand per-operation behavior and outputs. The schema is rich enough to make the definition usable, but the description leaves the tool's full behavioral surface to be discovered elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all 24 parameters, including operation-specific meanings, defaults, and required conditions. The description adds no parameter-level meaning, so the baseline of 3 applies even though it does not compensate for anything.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description lists specific actions (search, upload, download, share, comment) and names Google Drive as the resource, so an agent can tell this is a Drive file-management tool. It lacks explicit differentiation from siblings like manage_docs or manage_sheets, and the trailing 'or manage files' is generic, so it is a clear but not exceptional purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The Google Drive scope and operation list imply when this tool is useful, but the description gives no explicit when-to-use or when-not-to-use guidance and never names alternatives. The useful operational tips (viewImage vs download, trash vs delete, setRole no-notification) live in the schema's operation enum rather than in the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

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/aaronsb/google-workspace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server