MCP server for interacting with Google Drive and Sheets
Server has 4 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, below ideal 50-200 char range) and input schemas with type definitions. However, parameter descriptions are minimal or missing context. gdrive_search lacks pageSize/pageToken descriptions explaining constraints. gsheets_read has optional parameters (ranges, sheetId) but no guidance on behavior when omitted. No output schemas documented. Error handling is absent, tools return generic failures without recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Naming is clear (verb_noun pattern) but descriptions are too terse to guide LLM selection effectively.
Read contents of a file from Google Drive
Search for files in Google Drive
Read data from a Google Spreadsheet with flexible options for ranges and formatting
Update a cell value in a Google Spreadsheet
Descriptions are too brief (10-50 chars vs. baseline 50-200). LLMs cannot determine when to select each tool or distinguish gdrive_read_file from gdrive_search.
Parameter descriptions lack constraints and context. pageSize in gdrive_search says 'Number of results per page (max 100)' but does not specify minimum or default. gsheets_read does not explain what happens when ranges/sheetId are omitted.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., fileId from gdrive_search to pass to gdrive_read_file).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No error handling guidance. Tools return generic errors without recovery hints. E.g., 'File not found' should suggest 'Try gdrive_search() to locate the file.'
No tool annotations (readOnlyHint, destructiveHint). gsheets_update_cell is destructive but unmarked; gdrive_search and gdrive_read_file are read-only but not annotated.