Local MCP server for Google Workspace (Gmail, Drive, Calendar, Sheets, Docs, Contacts, Tasks, Meet, Search Console, +Forms/Chat/Admin) across multiple accounts — OAuth-only, encrypted token storage, deny-by-default writes.
The server provides 3 tools with partial schema coverage and descriptions of varying quality. All tools have descriptions that meet the 20-character minimum, and all expose input schemas (though some params lack full context). The naming follows verb_noun patterns (list, get) which is solid. However, the generated tools lack error handling guidance, output schemas are not documented, and parameter descriptions are minimal. The 'account' parameter is repeated across all tools but not well-contextualized. The server is deployed via HTTP transport with OAuth security, which is good. The main gaps: output schemas are undocumented, error recovery paths are unclear, and generated tools (appsmarket_*) have truncated descriptions. This is solidly above F but below B-grade work.
List the configured Google accounts: alias, email, admin flag, token health (ok / expired_refreshable / needs_reauth / missing / decrypt_error), and granted vs configured scopes. Use this to see which account aliases are available and healthy.
Gets the customer's licensing status to determine if they have access to a given app. For more information, see [Getting app installation and licensing details]
Gets the user's licensing status to determine if they have permission to use a given app. For more information, see [Getting app installation and licensing deta
Truncated descriptions on generated tools: 'appsmarket_user_license_get' description cuts off mid-sentence ('Getting app installation and licensing deta'). This breaks the ability for LLMs to understand the tool purpose.
No documented output schemas. The server exposes 3 tools but does not describe what each returns. LLMs cannot plan downstream calls (e.g., what fields does account_list return to use in other tools?) or extract the right data. This violates the PATTERN:tool requirement.
No error handling guidance. Tools lack descriptions of failure modes or recovery actions. If a tool fails, the LLM has no instruction on what to do next (retry? check account status? call account_list first?). This violates PATTERN:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Parameter descriptions lack detail. The 'account' param is described as 'Google account alias (from account_list)', this is context-dependent and assumes the LLM has already called account_list. No guidance on format, how to discover valid aliases, or what happens if an invalid alias is passed.
Optional 'fields' parameter on appsmarket tools lacks guidance. The description says 'Response field mask' but does not explain what a field mask is, what valid values are, what the default is, or when to use it. An LLM cannot correctly invoke this without more context.