A Cloudflare Worker-based MCP (Model Context Protocol) server providing secure remote access to Google Workspace APIs including Gmail, Calendar, Drive, and Contacts.
28 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions are present but generic, most are 40-80 chars, below the 194-char baseline for A+ tools. Parameter descriptions are minimal (10-30 chars), lacking actionable constraints, format hints, and dependency documentation. Output schemas are not documented. Error handling is absent from tool definitions. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Security-critical tools (send_message, delete_file, share_file) lack confirmation or dry-run patterns. Composition is sound, tools are single-responsibility and chainable via IDs.
Create a new calendar event
Delete a calendar event
Get details of a specific calendar event
List calendar events within a time range
Create an event using natural language
Update an existing calendar event
Create a new contact
Output schemas not documented. LLMs cannot infer what fields are returned or plan downstream tool calls. E.g., gmail_search_messages returns message IDs but no schema specifies the structure.
Parameter descriptions are generic and lack actionable constraints. E.g., 'query' in gmail_search_messages says 'Gmail search query' but does not explain valid syntax, operators, or examples. Descriptions average 20-30 chars vs. 72-char baseline.
Destructive tools (gmail_trash_message, calendar_delete_event, drive_delete_file, contacts_delete_contact) lack confirmation or dry-run patterns. Agents can delete data without safeguards.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Delete a contact
Get details for a specific contact
List contacts from Google Contacts
Search for contacts by name, email, or phone
Update an existing contact
Create a new folder
Move a file to trash or permanently delete it
Download file content
Get metadata for a specific file
List files and folders in Google Drive
Update sharing permissions for a file
Update file content or metadata
Upload a file to Google Drive
Create a draft email
Get a specific email message by ID
List all labels in the mailbox
Add or remove labels from a message
Search for email messages in Gmail
Send an email message
Move a message to trash
Remove a message from trash
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints.
Error handling not visible in tool definitions. No recovery guidance, retryability classification, or actionable error messages documented.