MCP server for Gmail integration with OAuth authentication, message search, batch operations, and Google Sheets export
MCP Gmail has 11 tools with basic naming (verb_noun pattern) and short descriptions (10-50 chars), but lacks depth. Tool descriptions are minimal, e.g., 'List email categories' and 'List all Gmail labels' do not explain WHEN to use them or what they return. No visible input schemas in the provided source code; tool definitions are exported from individual files but schemas are not shown. Parameters are not documented in the provided excerpts. Output structures are not documented. Error handling and recovery guidance are absent. The server exports tool factories but actual schema definitions, parameter descriptions, and output documentation are not visible in the provided code sample, making it impossible to verify compliance with pattern:tool-description and pattern:constrained-input.
List email categories
Add a label to emails
Delete a label
List all Gmail labels
Get a specific email message
Mark an email message as read
Move an email message to trash
Send a response to an email message
No input schemas visible in source code. All 11 tools export from individual files but schema definitions are not shown. Cannot verify parameter types, constraints, or descriptions.
Tool descriptions are extremely brief (10-50 chars) and lack context. 'List email categories' does not explain when to call it, what it returns, or how it differs from labels-list. Descriptions must be 50-200 chars and answer WHAT, WHEN, and WHAT IT RETURNS.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Search for email messages using Gmail query syntax
Send an email message
Export email messages to CSV format
No parameter descriptions visible. Tool files export but parameter documentation is not shown in provided code. LLMs cannot infer what 'label_id', 'message_id', or 'query' parameters mean without explicit descriptions.
Destructive tools (message-move-to-trash, message-send, message-respond, label-delete) lack confirmation or dry-run guidance. No error handling or recovery instructions visible. Agents need explicit guidance on irreversible operations.
Output schemas not documented in provided code. No visibility into what fields message-get, message-search, or messages-export-csv return. LLMs cannot plan downstream tool calls without knowing response structure.