A fully-featured MCP server for Google Sheets with 28 tools covering reading, writing, batch operations, sheet management, row/column manipulation, data cleaning, and formatting.
Server has 10 tools with basic descriptions and parameter schemas, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization), and input schemas are present but minimal. Parameter descriptions are sparse or missing context about constraints, formats, and dependencies. No output schemas documented. Error handling is absent, tools return raw API responses or generic success messages without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (DESTRUCTIVE, WRITE). Naming is verb-first and clear (read_sheet, write_sheet, delete_rows), but descriptions lack WHEN/WHY context and actionable guidance for LLM selection.
Add a new sheet tab to an existing Google Spreadsheet.
Append rows to a Google Sheet.
Clear all values in a range of a Google Sheet.
Create a new Google Spreadsheet.
Delete rows from a Google Sheet by index (0-based).
Find and replace text across a Google Spreadsheet or a specific sheet.
Get metadata about a Google Spreadsheet (title, sheets, row/column counts).
No output schemas documented. Tools return JSON strings or plain text without specifying field names, types, or structure. LLMs cannot plan downstream calls or extract required IDs (e.g., spreadsheet_id from create_spreadsheet response).
Descriptions are 10 - 50 characters, well below the 50 - 200 char baseline for LLM optimization. They lack WHEN/WHY context, prerequisites, and guidance on tool selection. E.g., 'Read data from a Google Sheet' does not explain when to use read_sheet vs get_spreadsheet_info.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List all sheet tabs inside a Google Spreadsheet.
Read data from a Google Sheet.
Write or update cell values in a Google Sheet.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk levels. clear_range and delete_rows are DESTRUCTIVE but lack destructiveHint. write_sheet and append_rows are WRITE but lack idempotentHint guidance. Agents cannot reason about retry safety.
Parameter descriptions lack constraint details. 'range' parameter accepts A1 notation but does not specify format, length limits, or valid patterns. 'values' parameter is a 2D list but does not document max dimensions, data types, or null handling.
No error handling or recovery guidance. Tools return raw API responses (e.g., 'No data found') or generic success messages ('Successfully updated X cells'). No guidance on retryability, user-fixable errors, or next steps on failure.