A tool to enable access to gmail tools in MCP clients
Gmail plugin has basic tool definitions but significant quality gaps. All 5 tools have names and descriptions, but descriptions are generic (avg 80 chars, below 194-char baseline). Input schemas present but minimal, most parameters lack type info beyond 'string'. No output schemas documented. Error handling is absent; tools return raw API errors without recovery guidance. No parameter validation, enums, or constraints. Missing idempotency hints for destructive operations (send-email, trash-email). Prompts defined but generic. No tool annotations (readOnlyHint, destructiveHint). Composition is reasonable (5 focused tools), but parameter naming lacks specificity (e.g., 'recipient_id' should clarify it's an email address, not a user ID).
Retrieves unread messages from mailbox. Returns a list of messages with their details.
Opens email in browser given ID.
Retrieves email contents including to, from, subject, and contents.
Creates and sends an email message
Moves an email to trash.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., email_id for chaining). Violates pattern:tool and mxe:include-chaining-ids.
Descriptions are generic and under 50 chars for most tools (e.g., 'Opens email in browser given ID'). Lack WHEN to use, prerequisites, or state-change warnings. Below 194-char baseline for A+ tools.
No error handling or recovery guidance. Raw HttpError exceptions returned without actionable next steps. Violates pattern:recovery-guide and pattern:error-classification.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
Destructive operations (send-email, trash-email) lack confirmation or dry-run support. No idempotentHint or destructiveHint annotations. Agents can accidentally send duplicate emails or trash wrong messages.
Parameter 'recipient_id' is ambiguous, description says 'Email address' but name suggests an ID. Violates mxe:natural-identifiers. Should clarify format or accept both email and user lookup.