MCP Server for interacting with Google Workspace APIs including Gmail, Drive, Calendar, Docs, Sheets, and Slides
Server has 21 tools with consistent naming (verb_noun pattern) and basic schemas. However, descriptions are generic and lack LLM-optimization guidance. Parameter descriptions exist but are minimal (avg ~40 chars, below 72-char baseline). Output schemas are not documented. Error handling is absent, no recovery guidance, no categorization. Security concern: OAuth tokens stored in environment without explicit secret-injection pattern documentation. Resource definitions present but tool composition could be tighter (e.g., gmail_send_message and gmail_modify_message are separate when they could be unified with optional parameters).
Create a new event in Google Calendar
List events from Google Calendar
Append text to a Google Doc
Create a new Google Doc
Get the content of a Google Doc
Create a new folder in Google Drive
List files in Google Drive
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and risk broken tool chains.
Parameter descriptions are minimal (avg ~40 chars vs 72-char baseline). E.g., 'Maximum number of messages to return' lacks context on when to use pagination or what happens if omitted. Descriptions should explain WHAT, WHEN, and WHY.
No error handling or recovery guidance. Tools return errors but do not tell LLMs what to do next (retry, ask user, try alternative tool). E.g., 'Invalid message ID' should suggest 'Try gmail_list_messages() to find valid IDs.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Upload a file to Google Drive (note: actual file upload not possible in this MCP implementation)
Exchange an authorization code for OAuth2 tokens
Generate an OAuth2 authorization URL for Google Workspace APIs
Get a specific Gmail message by ID
List all Gmail labels
List Gmail messages with optional filters
Modify a message's labels
Send a new email message
Create a new Google Sheet
Get values from a Google Sheet
Update values in a Google Sheet
Create a new Google Slides presentation
Create a new slide in a presentation
Get information about a Google Slides presentation
drive_upload_file description states 'actual file upload not possible in this MCP implementation', this is a non-functional tool that misleads LLMs into attempting impossible operations. Either implement it or remove it.
No pagination support documented. Tools like gmail_list_messages and drive_list_files accept maxResults but do not return next_cursor or total_count, making it impossible for LLMs to iterate through large result sets safely.