# Google Workspace (adelaidasofia)

Source: https://glimind.com/server/pulsemcp%2Fgoogle-workspace-adelaidasofia-
Registry id: `pulsemcp/google-workspace-adelaidasofia-`
Status: unknown

## Install

```json
{
  "mcpServers": {
    "google-workspace-adelaidasofia": {
      "command": "uvx",
      "args": [
        "google-workspace-mcp"
      ]
    }
  }
}
```

Claude Code:

```sh
claude mcp add google-workspace-adelaidasofia -- uvx google-workspace-mcp
```

## Tools (63)

- `cal_create_event`
- `cal_delete_event`: Delete an event.
- `cal_freebusy`: Check busy windows for one or more calendars (for scheduling). Args: emails: List of calendar IDs / emails. Defaults to ['primary']. time_zone: IANA name. Times
- `cal_list_calendars`: List all calendars visible to this account.
- `cal_list_events`: List events on a calendar. Args: time_min: ISO 8601 or 'now'/'today'/'tomorrow'. A time with no UTC offset, and 'today'/'tomorrow', mean local time in time_zone
- `cal_respond`: Respond to an event invite. Args: response: 'accepted' | 'declined' | 'tentative'.
- `cal_update_event`
- `docs_append`: Append text to the end of a Doc body.
- `docs_create`: Create a new Google Doc. Optional initial body text.
- `docs_export`: Export a Doc to a formatted output file. Default is markdown (headers, bold, lists preserved). Preferred over docs_read when you need formatted content rather t
- `docs_insert_at`: Insert text at a specific character index within the Doc body. Index 1 = start of body. Use docs_append instead when adding to the end — it calculates the index
- `docs_read`: Read a Google Doc as flat plain text (formatting stripped) or as the full Docs API structural tree (paragraphs, text runs, tables) with structured=True. For for
- `docs_replace_text`: Find-and-replace text across the entire Doc. Returns count replaced.
- `docs_suggestions_accept_all`: Accept ALL pending suggestions by rewriting the Doc. DESTRUCTIVE — rewrites the entire document body; formatting metadata is lost. No per-suggestion accept via 
- `docs_suggestions_list`: List pending suggestions (tracked changes) in a Doc. Per-suggestion accept/reject isn't supported by Docs API; use docs_suggestions_accept_all or docs_suggestio
- `docs_suggestions_reject_all`: Reject ALL pending suggestions by rewriting the Doc. DESTRUCTIVE — rewrites the entire document body; suggestions are permanently discarded. No per-suggestion r
- `drive_comment_add`: Add a sidebar comment (annotation) to a Drive file — not text to the document body. Works on Docs, Sheets, Slides, PDFs, etc. To add text to a Doc's body, use d
- `drive_comment_reply`: Reply to an existing comment.
- `drive_comment_resolve`: Mark a comment as resolved.
- `drive_comments_list`: List comments on any Drive file (Doc/Sheet/Slide/uploaded).
- `drive_create_folder`: Create a new folder. If parent_id is None, creates at My Drive root.
- `drive_list_folder`: List direct children of a folder. Use 'root' for My Drive root.
- `drive_move`: Move a file to a different folder.
- `drive_permission_delete`: Revoke a permission on a file. DESTRUCTIVE — removes someone's access immediately. Get permission_id from drive_permission_list first.
- `drive_permission_list`: List all permissions (who has access) on a file.
- `drive_permission_update`: Change the access role of someone who already has a permission on this file. Requires a permission_id — get it first from drive_permission_list. To grant access
- `drive_read_file`: Read a Drive file. Metadata by default; content is opt-in. Args: include_content: If True, fetch content. Google-native files export to text/csv/plain by defaul
- `drive_rename`: Rename a file or folder.
- `drive_search`: Search Drive files. Returns compact metadata (no content). Args: query: Free text (wrapped as name/fullText contains) OR raw Drive q-syntax if it contains '=' o
- `drive_share`: Grant access to a file for someone who does not yet have a permission entry. Creates a new permission. Requires their email address. To change the role of someo
- `drive_shared_drives_list`: List shared drives this account can access.
- `drive_trash`: Move a file to Trash (soft delete, recoverable for 30 days). DESTRUCTIVE. Args: dry_run: If True, show what would be trashed without actually trashing it.
- `drive_untrash`: Restore a file from Trash.
- `drive_upload`: Upload a local file to Drive. Args: convert_to_google: If True, .docx/.csv/.xlsx/.pptx etc. convert to Google-native formats (Docs/Sheets/Slides) on upload.
- `gmail_archive`: Archive messages: removes INBOX label but keeps them in All Mail, permanently searchable. No deletion. Use this to declutter without destroying. Use gmail_trash
- `gmail_attachment_save`: Download one attachment to a local file and return its path, so the caller can read it directly (PDF, image, docx, ...). Call gmail_attachments_list first for a
- `gmail_attachments_list`: List a message's attachments: filename, mime type, size, and the attachment_id gmail_attachment_save needs. Metadata only, no download.
- `gmail_draft`: Create a draft. Does not send. Args: body: Plain text or HTML. A body that opens with an HTML tag (e.g. "<p>") becomes an HTML email with a plain-text fallback;
- `gmail_label_apply`: Add or remove labels on messages. Batch up to 1000 per call.
- `gmail_labels_list`: List all labels on the account.
- `gmail_read`: Read a single message or full thread. Strips HTML to text by default. Args: message_id: Gmail message id from gmail_search. keep_html: If True, return raw HTML 
- `gmail_reply`: Reply to a message. DESTRUCTIVE — sends immediately, same blast radius as gmail_send. Preserves thread + headers. Args: body: Plain text or HTML. A body that op
- `gmail_search`: Search Gmail messages. Returns compact shape (no body) — call gmail_read for body. Args: query: Gmail search operators, e.g. 'from:someone@example.com after:202
- `gmail_send`
- `gmail_sendas_list`: List Send-As identities for this account (the aliases it can send as).
- `gmail_trash`: Move messages to Trash. Soft delete: auto-purged after 30 days, not easily searchable. Use gmail_archive to remove from inbox without any deletion risk.
- `gws_account_add`: Authorize a new Google account via browser OAuth. Stores the refresh token in the OS keyring (service: google-workspace-mcp) -- Keychain on macOS, Credential Ma
- `gws_account_list`: List all authorized Google accounts and which one is the default.
- `gws_account_remove`: Revoke local storage for an account. (Does not revoke Google-side; do that at https://myaccount.google.com/permissions.)
- `sheets_add_sheet`: Add a new tab (sheet) to an existing workbook.
- `sheets_append`: Append rows below the existing data in a range or sheet. Args: range_a1: Table range or sheet name (e.g. 'Sheet1!A:D' or 'Sheet1'). insert_data: 'INSERT_ROWS' (
- `sheets_batch_read`: Read multiple ranges in one API call. Cheaper than N sheets_read_range.
- `sheets_batch_write`: Write multiple ranges in one API call. Args: updates: List of {range: 'Sheet1!A1:B2', values: [[...], [...]]}.
- `sheets_clear_range`: Clear cell values in a range. Leaves formatting intact.
- `sheets_conditional_format_add`: Add a conditional formatting rule. Args: condition_type: 'NUMBER_GREATER' | 'NUMBER_LESS' | 'TEXT_CONTAINS' | 'TEXT_EQ' | 'DATE_AFTER' | 'CUSTOM_FORMULA' | 'BLA
- `sheets_create`: Create a new Google Sheets workbook.
- `sheets_data_validation_add`: Set data validation on a range. Args: condition_type: 'ONE_OF_LIST' (dropdown) | 'NUMBER_GREATER' | 'NUMBER_BETWEEN' | 'DATE_IS_VALID' | 'TEXT_IS_EMAIL' | 'TEXT
- `sheets_list_sheets`: List all tabs in a workbook with their dimensions.
- `sheets_named_range_add`: Create a named range (zero-based indices, end-exclusive). Get sheet_id from sheets_list_sheets.
- `sheets_named_range_delete`: Delete a named range by id.
- `sheets_named_ranges_list`: List all named ranges in a workbook.
- `sheets_read_range`: Read a range of cells. Returns 2D array of values. Args: range_a1: A1 notation — 'Sheet1!A1:D100' or 'Sheet1' for full tab. value_render: 'FORMATTED_VALUE' | 'U
- `sheets_write_range`: Write a 2D array of values to a range. Overwrites existing cells. Args: value_input: 'USER_ENTERED' (parses formulas + dates) | 'RAW' (literal).

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
