A Model Context Protocol server for Google Docs that enables searching, creating, appending to, and updating Google Documents through the Google Drive and Google Docs APIs
Four tools with complete schemas and basic descriptions, but significant gaps in parameter documentation and output schema clarity. All tools expose accessToken as a required parameter, a critical security violation. Descriptions are minimal (10-30 chars) and lack context on when to use each tool or what they return. No output schemas documented. Parameter descriptions are generic ('Google API access token', 'Document ID to update'). No error handling guidance. Naming is clear (verb_noun pattern), but the security flaw and missing output documentation severely limit production readiness.
Append content to an existing Google Doc
Create a new Google Doc
Search for Google Docs in Drive
Update content in an existing Google Doc
accessToken exposed as tool parameter on all 4 tools. Credentials must never appear in tool parameters, they are logged in traces and prompt history. Use server-side secret injection via environment variables or vault.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. Document return types with field names, types, and descriptions.
Tool descriptions are 10 - 30 characters, below the 50-character minimum for LLM selection. Descriptions lack context on WHEN to use each tool, WHAT it returns, and any prerequisites. E.g., 'Search for Google Docs in Drive' does not explain what fields are returned or how results are paginated.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Parameter descriptions are generic and lack constraints. 'Google API access token' does not explain format or scope. 'Document ID to update' does not clarify if it's a Google Docs ID or a Drive file ID. Add format hints, valid ranges, and examples (without literal values).
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., if search_docs returns 0 results, should the LLM retry with a different query or suggest alternatives?