> ## Documentation Index
> Fetch the complete documentation index at: https://docs.routemcp.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Chat

> Spaces, messages, members, reactions, attachments, read state, notification settings, sections, and custom emojis via the Google Chat API v1. 44 tools accessible through the MCP runtime endpoint.

<img src="https://lh3.googleusercontent.com/1UaqsHLF2kBmLxOAs_sU4OAB_IEkNpUGztqc2IPY7lxojNbgecO5yE8_V6BjTueHSvR14mc04UfKt8QDeKKy=w80-h80" alt="Google Chat" style={{ width: "48px", height: "48px", marginBottom: "16px" }} />

## Overview

| Property   | Value                         |
| ---------- | ----------------------------- |
| Slug       | `google-chat`                 |
| Category   | Communication                 |
| Auth       | OAuth 2.0 + PKCE              |
| Base URL   | `https://chat.googleapis.com` |
| Tool count | 44                            |
| Rate limit | 5 req/sec, 250 req/min        |

## Supported tools

All 44 slugs surfaced through MCP:

| Area                  | Slugs                                                                                                                                                                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Spaces                | `GOOGLE_CHAT_LIST_SPACES`, `GOOGLE_CHAT_GET_SPACE`, `GOOGLE_CHAT_CREATE_SPACE`, `GOOGLE_CHAT_SET_UP_SPACE`, `GOOGLE_CHAT_UPDATE_SPACE`, `GOOGLE_CHAT_DELETE_SPACE`, `GOOGLE_CHAT_FIND_DIRECT_MESSAGE`, `GOOGLE_CHAT_FIND_GROUP_CHATS`, `GOOGLE_CHAT_SEARCH_SPACES` |
| Members               | `GOOGLE_CHAT_LIST_MEMBERS`, `GOOGLE_CHAT_GET_MEMBER`, `GOOGLE_CHAT_CREATE_MEMBER`, `GOOGLE_CHAT_UPDATE_MEMBER`, `GOOGLE_CHAT_DELETE_MEMBER`                                                                                                                        |
| Messages              | `GOOGLE_CHAT_LIST_MESSAGES`, `GOOGLE_CHAT_GET_MESSAGE`, `GOOGLE_CHAT_CREATE_MESSAGE`, `GOOGLE_CHAT_UPDATE_MESSAGE`, `GOOGLE_CHAT_REPLACE_MESSAGE`, `GOOGLE_CHAT_DELETE_MESSAGE`                                                                                    |
| Reactions             | `GOOGLE_CHAT_CREATE_REACTION`, `GOOGLE_CHAT_LIST_REACTIONS`, `GOOGLE_CHAT_DELETE_REACTION`                                                                                                                                                                         |
| Attachments & media   | `GOOGLE_CHAT_GET_ATTACHMENT`, `GOOGLE_CHAT_DOWNLOAD_MEDIA`, `GOOGLE_CHAT_UPLOAD_MEDIA`                                                                                                                                                                             |
| Space events          | `GOOGLE_CHAT_GET_SPACE_EVENT`, `GOOGLE_CHAT_LIST_SPACE_EVENTS`                                                                                                                                                                                                     |
| Read state            | `GOOGLE_CHAT_GET_SPACE_READ_STATE`, `GOOGLE_CHAT_UPDATE_SPACE_READ_STATE`, `GOOGLE_CHAT_GET_THREAD_READ_STATE`                                                                                                                                                     |
| Notification settings | `GOOGLE_CHAT_GET_SPACE_NOTIFICATION_SETTING`, `GOOGLE_CHAT_UPDATE_SPACE_NOTIFICATION_SETTING`                                                                                                                                                                      |
| Sections              | `GOOGLE_CHAT_LIST_SECTIONS`, `GOOGLE_CHAT_CREATE_SECTION`, `GOOGLE_CHAT_UPDATE_SECTION`, `GOOGLE_CHAT_DELETE_SECTION`, `GOOGLE_CHAT_POSITION_SECTION`, `GOOGLE_CHAT_LIST_SECTION_ITEMS`, `GOOGLE_CHAT_MOVE_SECTION_ITEM`                                           |
| Custom emojis         | `GOOGLE_CHAT_LIST_CUSTOM_EMOJIS`, `GOOGLE_CHAT_GET_CUSTOM_EMOJI`, `GOOGLE_CHAT_CREATE_CUSTOM_EMOJI`, `GOOGLE_CHAT_DELETE_CUSTOM_EMOJI`                                                                                                                             |

## Connect setup

Google Chat uses Google's OAuth 2.0 with PKCE. You need a Google Cloud project with the **Google Chat API** enabled, a **Google Chat app configuration** added, and OAuth credentials configured for a Web application. If you already use another Google integration, you can reuse the same Google Cloud OAuth client — just enable the Chat API, add the Chat app configuration, and add the chat scopes.

<Steps>
  <Step title="Create a Google Cloud OAuth client">
    Go to [Google Cloud Console → APIs & Services → Credentials](https://console.cloud.google.com/apis/credentials), choose **Create credentials → OAuth client ID → Web application**, then copy the **Client ID** and **Client Secret**.
  </Step>

  <Step title="Add the redirect URI">
    Under **Authorized redirect URIs**, add:

    ```
    https://api.routemcp.io/api/v1/connect/oauth/callback
    ```
  </Step>

  <Step title="Enable the Google Chat API and add a Chat app configuration">
    In **APIs & Services → Library**, search for **Google Chat API** and click **Enable**. Then open the Chat API **Configuration** tab and complete the **Google Chat app** configuration — user-auth API calls return 403 without it.
  </Step>

  <Step title="Configure required scopes">
    Add these scopes on the OAuth consent screen:

    * `https://www.googleapis.com/auth/chat.spaces` — read / write spaces
    * `https://www.googleapis.com/auth/chat.messages` — read / write messages
    * `https://www.googleapis.com/auth/chat.messages.reactions` — manage reactions
    * `https://www.googleapis.com/auth/chat.memberships` — manage members
    * `https://www.googleapis.com/auth/chat.users.readstate` — read / update read state
    * `https://www.googleapis.com/auth/chat.users.spacesettings` — notification settings
    * `https://www.googleapis.com/auth/chat.customemojis` — manage custom emojis
    * `https://www.googleapis.com/auth/chat.users.sections` — manage sidebar sections
    * `https://www.googleapis.com/auth/chat.delete` — delete spaces
    * `https://www.googleapis.com/auth/chat.admin.spaces` + `.readonly` — org-wide admin space management (requires a Google Workspace admin)
    * `https://www.googleapis.com/auth/chat.admin.delete` — admin deletion of org spaces
    * `https://www.googleapis.com/auth/chat.admin.memberships` + `.readonly` — org-wide admin member management

    Several Chat scopes are **sensitive / restricted** and require app verification for production use (or set the OAuth app to **Internal** for a Workspace domain); add dev accounts as test users while verifying. `chat.admin.*` only functions for Workspace admins. Note: `chat.import` is **not** requested and import-mode operations are **not** supported — they require app/service-account auth, which this user-auth integration doesn't use.
  </Step>

  <Step title="Connect via the widget">
    The end user opens the Connect widget, picks Google Chat, and is sent through Google's consent screen.
  </Step>
</Steps>

## Usage

### Through the chat endpoint (recommended)

```bash theme={null}
# Send a message to a space
curl -N -X POST "https://api.routemcp.io/api/v1/mcp/<workspace_id>/chat" \
  -H "x-api-key: sk_live_your_key" \
  -H "x-session-id: user-42" \
  -H "content-type: application/json" \
  -d '{"message": "Send \"Deploy is green ✅\" to my Engineering space."}'

# List spaces
curl -N -X POST "https://api.routemcp.io/api/v1/mcp/<workspace_id>/chat" \
  -H "x-api-key: sk_live_your_key" \
  -H "x-session-id: user-42" \
  -H "content-type: application/json" \
  -d '{"message": "What Google Chat spaces am I in?"}'
```

The agent loop picks `GOOGLE_CHAT_LIST_SPACES` / `GOOGLE_CHAT_CREATE_MESSAGE` and streams results back as SSE.

### Direct MCP JSON-RPC (Claude Desktop / Cursor / custom MCP clients)

```json theme={null}
{
  "mcpServers": {
    "routemcp": {
      "url": "https://api.routemcp.io/api/v1/mcp/<workspace_id>",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>",
        "x-session-id": "<SESSION_ID>"
      }
    }
  }
}
```

Once connected, MCP clients can invoke any of the 44 tools by slug via the standard `tools/call` JSON-RPC method.
