Comprehensive, highly performant Google Workspace Streamable HTTP & SSE MCP Server for Calendar, Gmail, Docs, Sheets, Slides & Drive
workspace-mcp provides 11 Google Workspace integration tools with complete input schemas and descriptions. All tools follow clear verb_noun naming conventions (list_, get_, send_, search_). Descriptions are present and contextual (avg ~120 chars). However, there are significant gaps: (1) No output/response schemas documented anywhere in the provided code, LLMs cannot predict what fields to expect from tool responses. (2) No error handling guidance, tools do not indicate retryable vs fatal errors, recovery paths, or actionable error messages. (3) Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint), agents cannot distinguish safe reads from destructive writes at parse time. (4) Parameter descriptions are adequate but lack constraints (enums, min/max, patterns) for several tools. (5) No pagination guidance in descriptions despite page_size parameters. The server demonstrates solid fundamentals (naming, basic descriptions, input schemas) but lacks production-grade error handling, output documentation, and semantic hints needed for robust agent interaction.
Retrieves content of a Google Doc or a Drive file. Supports native Google Docs and Office files (.docx, etc.), extracting text from both
Retrieves the content of a specific Google Drive file by ID, supporting files in shared drives. Handles native Google Docs/Sheets/Slides exports and Office files
Gets a download URL for a Google Drive file. Exports Google native files (Docs→PDF/DOCX, Sheets→XLSX/CSV, Slides→PDF/PPTX) to specified format
Retrieves messages from a Google Chat space
Lists all calendars accessible to the user
Lists all Google Docs within a specific folder
No output/response schemas documented for any tool. LLMs cannot predict returned fields, hampering downstream tool chaining and multi-step planning.
No error handling guidance or recovery paths documented. Tools do not indicate whether failures are retryable, what conditions cause them, or how LLMs should respond.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 48 | - | v1 |
Lists Google Chat spaces (rooms and direct messages) accessible to the user
Searches for Google Docs by name using Drive API with mimeType filter
Searches for files and folders within a user's Google Drive, including shared drives
Searches for messages in Google Chat spaces by text content
Sends a message to a Google Chat space
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe read operations from destructive writes (send_message, get_drive_file_download_url) at parse time.
Pagination parameters (page_size) present but descriptions lack guidance on max values, default behavior, total count returns, or cursor-based continuation.
Parameter 'space_type' in list_spaces and 'corpora' in search_drive_files lack enum constraints; descriptions use freeform text ('all', 'room', 'dm') and ('user', 'domain', 'drive', 'allDrives') respectively. LLMs may hallucinate invalid values.
Parameter 'export_format' in get_drive_file_download_url is described as 'Optional' and mentions formats (pdf, docx, xlsx, csv, pptx) but lacks explicit enum constraint or validation guidance.
Parameter order_by in get_messages references 'createTime desc' as default but lacks documentation of valid sort fields or whether ascending/descending modifiers are supported.
No confirmation step documented for destructive or irreversible operations (send_message). Agents may accidentally send duplicate messages on retry.