Google Drive MCP Server integrated with a shared database for OAuth token management and file access
This MCP server has severe definition quality gaps. Only 2 tools are exposed, both with critically incomplete schemas and minimal descriptions. Tool definitions appear partially visible in source code but lack complete JSON Schema specifications. Descriptions are present but fall below the 10-character minimum standard for actionable tool guidance. Parameter descriptions exist but are sparse. No output schemas are documented. The codebase shows partial implementation, the main.py file cuts off mid-function, preventing full assessment of tool registration and error handling. Naming is acceptable (verb-noun pattern), but schema completeness is severely deficient.
Read file content + metadata from Google Drive.
Search for files in Google Drive.
Output schemas are completely undocumented. No schema definitions visible for tool return types despite imports of FileContent, FileResult, SearchResult classes. LLMs cannot plan downstream calls without knowing what fields are returned.
Tool descriptions are generic and under-specified. 'Search for files in Google Drive' (47 chars) lacks WHEN to use guidance, what the results contain, or pagination behavior. 'Read file content + metadata from Google Drive' (47 chars) does not specify return format (JSON, binary, text) or size limits.
Input parameter schemas lack complete JSON Schema format definitions. Visible schema shows basic types (string, integer) and descriptions, but no constraints (minLength, maxLength, enum, pattern, minimum, maximum). Parameter 'query' has no length guidance; 'page_size' default is 10 but no min/max bounds stated.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
Error handling is not visible in provided source. No error messages, recovery guidance, or retry strategies documented. The search_files method references a broken method call (.execut, appears truncated), suggesting incomplete implementation. Without error handling, agents have no way to self-correct on API failures.
Tool definitions are partially visible and appear inferred rather than explicitly registered. backend/src/app/mcp/server/main.py file is truncated mid-function, preventing verification of complete tool registration, schema binding, and handler signatures.
No pagination guidance in gdrive_search description despite page_size parameter and SearchResult class import. LLMs cannot determine if 10 results is all available, whether to call again, or how to fetch more. Per pattern:paginated-result, tools returning lists must document paging behavior and return total counts or next_cursor.
Dependency between tools not documented. gdrive_read_file requires a file_id from somewhere, likely gdrive_search, but this dependency is not stated in descriptions.
No idempotence or side-effect documentation. gdrive_read_file is marked READ_ONLY risk, which is correct, but the description does not explicitly state 'This tool does not modify state, it is safe to retry.' Agents need explicit safety guidance.
Authentication mechanism (user_id parameter) is underspecified. Required parameter but no guidance on whether to pass numeric ID, username, email, or some other format.