MCP server and CLI for reading Google Docs, Sheets, and Slides
14 tools with consistent naming (verb_noun pattern: get_*, list_*) and complete input schemas. All tools have descriptions (avg 95 chars, within 10-1024 range). However, descriptions are generic and lack LLM-optimization guidance (e.g., 'when to use this vs similar tools', dependency hints, prerequisites). Parameters have types and descriptions, but lack constraints (enums, ranges, patterns). No output schemas documented. Error handling not visible in tool definitions. All tools are READ_ONLY, reducing security risk but limiting utility.
Get the full structured content of a Google Doc document including headings, paragraphs, and optionally images/tables. Accepts document ID or full URL.
Get metadata about a Google Doc document including title, word count, and element counts. Accepts document ID or full URL.
Get text from a Google Doc organized by paragraphs. Accepts document ID or full URL.
Get all text content from a Google Doc as a single plain text string. Accepts document ID or full URL.
Get values from multiple ranges in a Google Sheets spreadsheet in a single call.
Get metadata about a Google Slides presentation including title, slide count, locale, and revision ID
No output schemas documented. LLMs cannot plan downstream tool calls or extract structured data without knowing response field names and types.
Descriptions lack LLM-optimization guidance. Missing 'when to use this vs similar tools' (e.g., get_document_text vs get_document_content vs get_document_paragraphs). No dependency hints or prerequisites stated.
Parameters lack constraints. 'value_format' accepts 'formatted|typed|raw' but no enum declared. 'range' parameter in get_sheet_values has no regex pattern or format constraint. LLMs will hallucinate invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
Get all slide content (text and images) in a single call, ideal for AI analysis of the entire presentation
Get all data from a specific sheet in a Google Sheets spreadsheet. Accepts spreadsheet ID or full URL.
Get cell values from a specific range in a Google Sheets spreadsheet. Accepts spreadsheet ID or full URL.
Get the content and elements of a specific slide by index or object ID
Get the speaker notes for a specific slide by index or object ID
Get metadata about a Google Sheets spreadsheet including title, sheet count, locale, and time zone. Accepts spreadsheet ID or full URL.
List all sheets in a Google Sheets spreadsheet with their properties. Accepts spreadsheet ID or full URL.
List all slides in a Google Slides presentation with their titles and element counts
Mutually exclusive parameters not clearly documented. get_sheet_data has sheet_index, sheet_name, sheet_gid marked 'mutually exclusive' in description but no formal constraint. LLMs may pass multiple.
No error handling guidance visible. Tools accept document_id/spreadsheet_id as 'ID or URL' but no error message documented for invalid IDs, malformed URLs, or permission denied scenarios.