Gmail MCP server has basic tool definitions with schemas and descriptions, but significant quality gaps limit production readiness. All 6 tools have input schemas and descriptions present, but descriptions are in Chinese (non-standard for LLM optimization), lack actionable context, and are too brief (avg ~30 chars). Parameters lack type constraints (no enums for label operations, no min/max for max_results). Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. Destructive operations (trash_gmail_message) lack confirmation patterns. No tool annotations (readOnlyHint, destructiveHint) despite clear risk stratification. Output schemas are not documented in the tool definitions themselves.
给Gmail邮件添加标签
获取所有Gmail标签
获取单个Gmail邮件的详细内容
获取Gmail邮件列表,支持搜索和分页
从Gmail邮件移除标签
将Gmail邮件移动到垃圾箱
Descriptions are in Chinese and too brief (<30 chars avg). LLMs require English, 50-200 char descriptions explaining WHAT, WHEN, and WHY. Current descriptions ('获取Gmail邮件列表,支持搜索和分页') lack actionable context for tool selection.
Destructive operation (trash_gmail_message) lacks confirmation pattern. No dry-run, no confirmation step. Agents can permanently delete emails without safeguards.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot infer operation safety from tool metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Parameters lack type constraints. max_results has min/max (1-100) in code but not in schema. label_ids in list_gmail_messages is a string requiring manual parsing; should be array. No enums for constrained values.
No error handling guidance. HTTP 500 errors with generic messages ('Invalid or expired token', 'Unable to get Google credentials') provide no recovery path. LLMs cannot self-correct or retry intelligently.