The server provides 4 tools with basic schemas and descriptions, but multiple critical gaps prevent a higher score. All tools have names following verb_noun pattern (gdrive_search, gdrive_read_file, gsheets_update_cell, gsheets_read), which is positive. However, descriptions are minimal (12-94 characters), parameter descriptions are sparse or missing entirely, input schemas lack proper type declarations in several cases, and output schemas are completely undocumented. The schema definitions are inferred from the specification document rather than visible in complete detail in the source code provided. Error handling is present but minimal. No tool annotations (readOnlyHint, destructiveHint) despite clear risk differences between read and write operations.
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
Output schemas completely undocumented. The code provides input schemas but returns no structured documentation of what fields tools return. LLMs cannot plan downstream tool calls or extract required data without knowing response structure.
Tool descriptions too minimal (12-94 chars, below rubric baseline of 194 chars). Descriptions lack WHEN to use the tool, dependencies on other tools, and expected results. Example: 'Read contents of a file from Google Drive' omits what formats are supported, size limits, or whether rich text is converted.
Parameter descriptions sparse or missing. gdrive_search 'query' param lacks format guidance (free-form string? Google Drive query syntax?). gsheets_read 'ranges' and 'sheetId' descriptions are present but minimal. gsheets_update_cell 'range' description lacks examples of valid A1 notation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 13 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 54 | - | v1 |
No tool annotations for destructive vs read-only operations. gsheets_update_cell is WRITE and should have destructiveHint=true; gdrive_search, gdrive_read_file, and gsheets_read should have readOnlyHint=true. Without annotations, agents cannot reason about operation safety or plan retry strategies.
Missing pagination guidance and result limits. gdrive_search accepts pageToken and pageSize but tool description does not state max result limits, default page size, or expected response structure (e.g., does it return total count? nextCursor?). gsheets_read has no limit guidance for reading ranges.
No error handling guidance in tool descriptions. Descriptions do not state what the LLM should do if a file is not found, if a spreadsheet is not accessible, or if the range syntax is invalid. Error responses exist in code but are not documented in tool definitions.
Parameter format constraints not documented. gsheets_update_cell 'range' should specify valid A1 notation (e.g., 'Sheet1!A1', 'A1:B10'). gdrive_search 'query' should document whether it accepts Google Drive query operators. gdrive_search 'pageSize' lacks stated min/max (rubric requires explicit bounds).
gsheets_read has optional parameters with no clear relationship to output. If 'ranges' is omitted, the description says 'reads entire sheet' but does not explain what 'sheetId' does in that case, or whether both 'ranges' and 'sheetId' can be specified simultaneously. Undocumented parameter dependencies invite misuse.