# Google Workspace MCP server

> Search, read, and organize Gmail, Calendar, Drive, Docs, Sheets, Slides, and more across multiple Google accounts from an AI assistant.

- Repository: https://github.com/foreverworks/mcps
- Page: https://hostedmcp.org/servers/foreverworks/google
- Transport: stdio
- Stars: 5
- License: MIT
- Latest version: 0.2.0

## Install

### Claude Code

```sh
claude mcp add google -- npx -y @foreverworks/mcp-google
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "google": {
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-google"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "google": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-google"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"google","type":"stdio","command":"npx","args":["-y","@foreverworks/mcp-google"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "google": {
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-google"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add google -- npx -y @foreverworks/mcp-google
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.google]
command = "npx"
args = ["-y", "@foreverworks/mcp-google"]
```

### Gemini CLI

```sh
gemini mcp add -s user google npx -- -y @foreverworks/mcp-google
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "google": {
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-google"
      ]
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `CALENDAR_TIME_ZONE` | no | no | The time zone a time without an offset is read in, e.g. Europe/Paris. |
| `GMAIL_ADDRESSES` | no | no |  |
| `GMAIL_MODIFY_ACCOUNTS` | no | no |  |
| `GOOGLE_OAUTH_CLIENT_FILE` | no | no |  |
| `GOOGLE_TOOLSETS` | no | no | The products whose tools the server loads, separated by commas, e.g. gmail,calendar. Empty loads every product. |

## Tools (63)

- `list_accounts`
- `health`
- `begin_consent`
- `complete_consent`
- `search_threads`
- `get_messages`
- `get_attachment`
- `harvest_attachments`
- `list_history`
- `list_labels`
- `sender_breakdown`
- `list_filters`
- `agenda`
- `list_calendars`
- `get_event`
- `free_busy`
- `find_time`
- `respond_to_invite`
- `read_doc`
- `download_file`
- `upload_file`
- `create_folder`
- `list_comments`
- `list_permissions`
- `list_revisions`
- `download_revision`
- `update_revision`
- `editors_api_reference`
- `read_document`
- `edit_document_section`
- `append_to_document`
- `create_document`
- `get_document`
- `find_in_document`
- `batch_update_document`
- `list_sheets`
- `read_rows`
- `read_sheet_cells`
- `write_range`
- `format_range`
- `link_sheet_cells`
- `add_chart`
- `create_spreadsheet`
- `get_spreadsheet`
- `get_values`
- `append_values`
- `batch_update_spreadsheet`
- `copy_sheet_to`
- `search_developer_metadata`
- `list_layouts`
- `read_deck`
- `get_thumbnails`
- `create_deck_from_outline`
- `fill_placeholders`
- `get_presentation`
- `batch_update_presentation`
- `create_presentation`
- `list_task_lists`
- `list_tasks`
- `move_task`
- `find_people`
- `list_meetings`
- `get_transcript`

## FAQ

### Does the server delete my emails or files?

No, nothing is deleted for good; Gmail and Drive keep items in the trash for 30 days.

### Will my emails be sent automatically?

No, mail stays in draft form until you explicitly tell the assistant to send it.

### How do I set up the server?

You can run the setup command which walks you through creating an OAuth client in a Google Cloud project and approving access.

### Can I use the server in read-only mode?

Yes, you can set the MCP_MAX_ACCESS environment variable to read to make the server read-only.
