MCP stdio server exposing Google Workspace write tools (Drive moves, trash, Calendar create/update with Meet and attendee notification)
Server has 8 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (drive_mv, drive_trash, calendar_create, etc.). Descriptions are present and contextual (avg ~150 chars), exceeding the 10-char minimum. However, parameter descriptions lack constraint details (enums, ranges, formats). Output schemas are undocumented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Security: credentials hardcoded in source (GOG path, ACCOUNT email), violating secret-injection pattern. No tool annotations (readOnlyHint, destructiveHint). Composition is sound, each tool has one responsibility. Baseline: 549 production tools average 18-char names (this server: 10-15 chars, good); 194-char descriptions (this server: ~150 chars, acceptable); 100% of A+ tools document output (this server: 0%).
Create a new Google Calendar event. Can include a Meet link and send invites to attendees immediately.
Update an existing Google Calendar event. Can attach a Google Meet link, add attendees, and send invite notifications in a single call — the core "add Meet to this meeting" workflow.
Move a Google Drive file to a different parent folder. Does not copy — changes parent only. Use for workflow triage. Career-ops folder IDs: to-evaluate → 1QEtGexC99kO9nE9ebQQWKA4RydWjLkCA to-apply → 18bmgZpGJJDCXL2cX_KVueIjTKC7DMpki applied → 1Z7BRx8pCLhugVCZ8auDsKXyKX_P5-CgT not-pursuing → 1fH8cWE_YYFuh-KskkxxtOBJVYf0Jdw5G anthropic → 1aqh2THbXZFO1b3G5_neoIT0ewRYAOiPf
List sharing permissions on a Drive file or folder — who has access and at what role (owner, editor, commenter, viewer).
Read the full text content of a Google Doc by ID. Returns plain text.
Output schemas completely undocumented. LLMs cannot predict response structure, forcing them to guess at field names and types for downstream tool chaining.
Credentials hardcoded in source: GOG binary path (/opt/homebrew/bin/gog) and account email ([email protected]) are static. Violates secret-injection pattern, credentials should be environment variables or vault-injected.
Parameter constraints missing. 'send_updates' accepts 'all | externalOnly | none' but no enum declared; 'mode' in drive_write accepts 'replace' or 'append' but no enum. Free-form strings invite hallucinated values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Rename a Drive file or folder without moving it. Preserves file ID and all downstream references.
Move a Google Drive file to trash. Recoverable from Drive trash. Does not permanently delete.
Write content to a Google Doc. Supports Markdown conversion, append vs replace, and typography options. Content is passed via stdin — safe for large documents and special characters.
No error handling guidance. Errors from gog subprocess are returned raw (stderr) without recovery hints. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
No tool annotations. Destructive tools (drive_mv, drive_trash, calendar_update, drive_write) lack destructiveHint. Read-only tools (drive_permissions, drive_read) lack readOnlyHint. Agents cannot distinguish safe from risky operations.