MCP server for Google Workspace integration, providing tools to manage Gmail, Google Calendar, Google Drive, Google Sheets, Google Docs, Google Contacts, Google Tasks, and Google Slides across multiple connected accounts
47 tools with severe definition gaps. Tool names follow verb_noun pattern (good), but descriptions are inconsistent, many lack critical details about parameters, return values, and error handling. Input schemas visible in test file show only 'account' parameter with minimal type info; most tools lack complete parameter documentation. No output schemas documented. Error handling guidance absent. Descriptions range 20-200 chars but many omit prerequisites, side effects, and recovery paths. This server exposes raw API complexity rather than abstracting it for agent reasoning.
Connect a new Google account via OAuth. Opens the browser and returns quickly with a pendingId — call gws.accounts.complete (poll it) to finalize once the user finishes the browser consent. Each account stores its own credentials. For accounts in different organizations, provide that org's clientId/clientSecret from their GCP project.
Finalize a pending OAuth flow started by gws.accounts.add or gws.accounts.reauth. Returns quickly; if the user has not yet completed sign-in, responds with status 'pending' and the caller should call again.
List all connected Google Workspace accounts with their labels and default status
Re-authorize an existing account. Opens the browser and returns quickly with a pendingId — call gws.accounts.complete (poll it) to finalize once the user finishes the browser consent. Does not change account label or settings.
Disconnect a Google account and delete its tokens
Incomplete input schemas: 44 of 47 tools show only 'account' parameter with minimal type info. Missing parameters for search queries, IDs, content, ranges, and other required inputs. Schemas cannot be validated or used for LLM planning.
No output schemas documented. Tools return data but LLMs cannot infer structure, field names, or types. Prevents downstream tool chaining and forces agents to guess at response format.
Descriptions lack critical context: 44 tools have generic 20-50 char descriptions (e.g., 'Search Gmail messages') with no mention of parameters, return format, prerequisites, or error cases. LLMs cannot determine when to use each tool or how to handle failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Set the default account used when no account is specified
Create a Google Calendar event
Delete a Google Calendar event
Check free/busy status on Google Calendar
Get a Google Calendar event
List Google Calendars
List Google Calendar events
Update a Google Calendar event
Search Google Workspace Directory
Search Google Contacts
Create a new Google Doc
Insert text into a Google Doc
Read a Google Doc
Replace text in a Google Doc
List contents of a Google Drive folder
Read a Google Drive file
Search Google Drive files
Create a Gmail draft
Create a Gmail label
Forward a Gmail message
Get a Gmail attachment
Get Gmail profile
List Gmail labels
Modify a Gmail message
Read a Gmail message
Read a Gmail thread
Search Gmail messages
Send a Gmail draft
Append data to a Google Sheet
Clear a range in a Google Sheet
Create a new Google Sheet
List tabs in a Google Sheet
Read a range from a Google Sheet
Write to a range in a Google Sheet
Batch update a Google Slides presentation
Create a new Google Slides presentation
Get a Google Slides presentation
Mark a task as complete in Google Tasks
Create a task in Google Tasks
Delete a task from Google Tasks
List tasks in a Google Tasks list
List Google Tasks task lists
No error handling guidance. Tools declare risk levels (READ_ONLY, WRITE, DESTRUCTIVE) but provide no recovery paths, retry logic, or actionable error messages. Agents cannot self-correct on failures.
Generic parameter names without type suffixes. 'account' parameter accepts label or email but lacks description of format/validation. No guidance on whether to pass '[email protected]' or 'work' label. Ambiguous identifiers force extra lookup calls.