MCP server for Google Drive — search, read, create, upload, download, share
17 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions are present and actionable (avg ~120 chars), exceeding the 10-char minimum. All parameters have type definitions and descriptions. However, output schemas are not documented, LLMs cannot predict response structure for chaining. No error handling guidance, no enum constraints on role/permission values, and no pagination details for list operations. Security-sensitive operations (share, remove_permission) lack confirmation or dry-run patterns. Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint) that would clarify intent to agents.
Get account info: user name, email, and storage quota (total, used, in trash).
Create a copy of a file. Optionally rename and/or place in a specific folder.
Create a new Google Doc. Optionally provide initial text content.
Create a new folder in Google Drive.
Create a new empty Google Sheet.
Download a file from Google Drive to a local path. Google Docs/Sheets/Slides are exported as docx/xlsx/pptx.
No output schemas documented. LLMs cannot predict response structure (fields, types, nesting) for downstream tool chaining. E.g., gdrive_search returns file IDs but response format is undocumented.
gdrive_share_file 'role' parameter accepts free-form string instead of enum. Should constrain to: reader, commenter, writer, organizer. LLMs will hallucinate invalid roles.
No error handling guidance. Tools lack recovery hints (e.g., 'File not found. Try gdrive_search() to locate it.'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Get metadata for a file or folder: name, type, size, dates, sharing status, web link.
List files and subfolders in a Google Drive folder by folder ID. Use 'root' for the top-level My Drive.
List all permissions (who has access) for a file or folder.
Move a file or folder to a different parent folder.
Read the text content of a file. Google Docs are exported as plain text, Sheets as CSV, Slides as plain text. Binary files (PDF, images, etc.) return a message to use gdrive_download_file instead.
Remove a permission from a file. Use gdrive_list_permissions to find the permission ID.
Rename a file or folder.
Search files in Google Drive using Drive query syntax (e.g., "name contains 'budget'", "mimeType = 'application/vnd.google-apps.folder'", "modifiedTime > '2026-01-01'"). Use "trashed = false" to exclude trash.
Share a file or folder with a user by email. Roles: 'reader', 'commenter', 'writer', 'organizer' (folders only).
Move a file or folder to the trash. Can be recovered from trash within 30 days.
Upload a local file to Google Drive. The MIME type is auto-detected from the file extension.
Destructive operations (gdrive_trash_file, gdrive_remove_permission) lack confirmation or dry-run patterns. Agents can permanently delete without safeguards.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from irreversible writes without parsing descriptions.