Local MCP server for Google Drive with full permission management — read, write, share files with your Google account.
Solid foundation with clear verb-noun naming and comprehensive parameter schemas. All 8 tools have descriptions (avg 156 chars) and input schemas with typed properties. However, parameter descriptions are sparse or missing for several tools (e.g., get_file, read_file lack descriptions for file_id; create_file lacks descriptions for text_content/base64_content). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles. Composition is sound: each tool has one responsibility, and naming distinguishes tools well (list_files vs get_file vs read_file).
Upload a file. Pass content as `text_content` (UTF-8 string) OR `base64_content` (for binary). If parent_id omitted, file lands in My Drive root.
Create a folder. If parent_id omitted, folder lands in My Drive root.
Get full metadata for a file/folder by id.
List/search files. Use Drive query syntax in `query` (e.g. "name contains 'invoice' and mimeType='application/pdf'"). Optional folder_id restricts to that folder's direct children.
List all permissions on a file/folder (who has access and with what role).
Download file content. For text files returns UTF-8 text; for binary files returns base64. Google-native docs are exported (Docs→text, Sheets→CSV, Slides→text).
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Forces agents to guess what data is returned and how to chain tools.
Parameter descriptions missing or incomplete. get_file.file_id, read_file.file_id, create_file.text_content/base64_content, list_permissions.file_id, remove_permission.file_id/permission_id lack descriptions. LLMs cannot infer parameter semantics from names alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools have clear risk profiles (READ_ONLY, WRITE, REVERSIBLE) but do not declare them in schema. Agents cannot distinguish safe from destructive operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Revoke a specific permission by permission_id (get ids from list_permissions).
Share a file or folder with someone. Missing in the official connector. Roles: reader (view), commenter, writer (edit), fileOrganizer, organizer, owner. send_notification=false by default (no email sent to recipient).
No error handling guidance in visible code. Agents receive raw API errors with no recovery hints. E.g., 'File not found' should suggest 'Try list_files() to find the correct file_id.'
create_file accepts both text_content and base64_content but lacks validation. No description clarifies mutual exclusivity or what happens if both are provided. LLMs may pass both, causing ambiguous behavior.