A read-only MCP server for Google Drive that provides tools to list, search, and read files from Google Drive, including support for Google Docs and Google Sheets
Server has 5 well-named tools with complete input schemas and descriptions. All tools follow verb_noun naming (gdrive_list_files, gdrive_search, etc.). Descriptions are present and adequate (100-200 chars), explaining WHAT each tool does and WHEN to use it. Input parameters have types and descriptions. However, output schemas are not documented, responses are formatted as plain text rather than structured JSON, forcing LLMs to parse unstructured output. Error handling is present but generic (no recovery guidance). No pagination metadata (total count, next_cursor) returned despite tools accepting page_size/page_token. Missing parameter constraints (e.g., page_size max 100 stated in description but not enforced in schema). Tool composition is sound, each tool has one responsibility.
Get detailed metadata for a specific Google Drive file by its ID. Returns all available file properties.
List files in Google Drive, optionally filtered by name query and/or folder ID. Returns file names, IDs, types, and modification times.
Read the content of a Google Drive file. Supports Google Docs (text extraction), Google Sheets (first sheet as TSV), and regular text files (direct download). Binary files and unsupported Google Apps types return an error.
Read values from a Google Sheets spreadsheet, optionally specifying an A1 notation range. Returns data formatted as TSV. If no range is specified, reads all data from the first sheet.
Search for files in Google Drive. Searches by filename first; falls back to full-text content search if no name matches are found. Returns matching files with their IDs, types, and modification times.
Output schemas not documented. Tools return plain text (textResult) instead of structured JSON. LLMs must parse unstructured output, wasting tokens and increasing hallucination risk.
Pagination tools (gdrive_list_files, gdrive_search) accept page_size and page_token but do not return total count or next_cursor. LLMs cannot determine if more results exist or how to fetch them efficiently.
Parameter constraints (page_size max 100) documented in descriptions but not enforced in JSON Schema. LLMs cannot read constraint text reliably, use schema maxItems/maximum properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Error messages are generic (e.g., 'invalid folder_id') and do not guide recovery. Missing actionable guidance like 'Try search_files() to find the folder ID first.'
gdrive_read_file returns different content types (text, TSV, JSON) without documenting the output structure. LLMs cannot reliably parse responses or chain to downstream tools.