MCP server for Google Workspace administration, providing tools for user management, group management, organizational units, Gmail settings, and more via the Model Context Protocol
18 tools with consistent verb_noun naming (list_, get_, create_, update_, delete_, suspend_, unsuspend_, set_). All tools have descriptions (avg ~80 chars, baseline 194). Input schemas present with type definitions and enums for constrained fields (orderBy, roles, type). However, output schemas are NOT documented, responses are inferred from code but not formally declared. Parameter descriptions are present but minimal (10-40 chars typical). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Error handling exists but lacks recovery guidance. Audit logging present but not exposed to LLM. Missing: output schema documentation, parameter format constraints (e.g., email regex), and error recovery hints.
Add a user to a group
Create a new Google Group
Create a new organizational unit
Create a new user in Google Workspace
Delete a Google Group
Delete a user account (moves to trash for 20 days before permanent deletion)
Get detailed information about a specific group
Output schemas not documented. Tool responses are inferred from code (e.g., list_users returns table with Email|Name|Status) but no formal schema is declared. LLMs cannot plan downstream tool calls or extract structured data reliably.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Destructive tools (delete_user, delete_group) lack explicit destructiveHint. LLMs cannot distinguish safe reads from irreversible writes without extra reasoning.
Parameter descriptions lack format constraints. 'userKey' accepts 'email address or unique ID' but no regex or format hint. 'primaryEmail' has no validation pattern. LLMs may pass invalid formats.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 71 | 2026-07-28+ | v2 |
Get detailed information about a specific user
Get a user's vacation/out-of-office auto-reply settings
List all groups in the domain
List all members of a group
List all organizational units in the domain
List all users in the Google Workspace domain. Supports filtering by org unit, search query, and more.
Remove a user from a group
Set a user's vacation/out-of-office auto-reply
Suspend a user account (revokes access but preserves data)
Reactivate a suspended user account
Update an existing user's attributes
Error responses lack recovery guidance. Code returns generic error messages ('Error: <message>') without suggesting next steps. E.g., 'User not found' should suggest 'Try list_users() to find the correct email.'
Pagination not implemented for list tools. list_users defaults to 100, list_groups to 200, but no nextToken/cursor or offset support. Large domains may truncate results silently.