Google Workspace MCP Server (Brett Adams)
Gmail, Drive, Calendar, and YouTube tools for direct AI actions via self-owned OAuth.
Data last scanned today · Reviewed today
Overview
This MCP server provides 23 tools across five Google Workspace APIs, enabling local execution of write-heavy tasks like sending emails, managing calendar events, or interacting with YouTube data. By utilizing your own Google Cloud OAuth client, the server facilitates direct write access to your personal account, allowing for automated actions such as creating spreadsheets or updating subscriptions.
Our verdict
With a security score of 33/100, this server is considered high-risk. The score is impacted by the fact that the project is community-maintained rather than an official vendor release, and it has not undergone an independent editorial security review. While the author intentionally limits scopes to avoid a paid Google CASA security assessment, users must be comfortable managing their own OAuth credentials and re-authorizing tokens every seven days.
- Uses minimal 3-dependency architecture for reduced supply-chain surface
- Employs constrained scopes to limit potential data exposure
- Maintains an active development cycle with recent commits
- High bus-factor risk with only one contributor
- Requires manual weekly re-authorization due to testing-mode constraints
- Lacks an independent security or editorial audit
Setup
{
"mcpServers": {
"brettadams0-google-workspace-mcp": {
"args": [
"-y",
"google-workspace-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| gmail_send_email | Send a real message — delivered immediately, not a draft | high |
| gmail_create_draft | Compose without sending | medium |
| gmail_list_drafts | List existing drafts | low |
| calendar_list_events | Events in a time range | low |
| calendar_create_event | Create an event, optionally with attendees | medium |
| calendar_update_event | Modify an existing event | medium |
| calendar_delete_event | Remove an event | high |
| drive_create_file | Create a file in Drive | medium |
| sheets_read_range | Read an A1-notation range | low |
| sheets_write_range | Write an A1-notation range | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What are the system requirements for this server?
You must have Node.js version 20 or higher installed.
›Why does the authentication break after about seven days?
Because the Google Cloud project is in Testing mode, Google invalidates refresh tokens after seven days of inactivity. You can run the authorize command again to generate a new token.
›Can this server read all my existing Google Drive files?
No, it uses the drive.file scope, which limits the server to accessing only files it has created itself.
›Does this server read my entire Gmail inbox?
No, it only requests write-specific Gmail scopes like send and compose to avoid triggering a paid third-party security audit.
›Are there any risks when using the provided tools?
Yes, some tools like gmail_send_email and calendar_create_event perform irreversible actions that are immediately visible to others, and the tool descriptions warn you when an action cannot be undone.
›How do I ensure the server maintains my authentication session?
The server automatically listens for refresh token events and persists them to credentials/token.json, allowing it to handle token refreshes across restarts.
Alternatives
Badge
Maintain this server? Add the live badge to your README.