Google Chat MCP Server

Spaces, DMs, message history, and posting for Workspace chat.

The Chat service gives an assistant a real presence in your team’s conversation history: list_spaces enumerates spaces and DMs, get_messages pulls a space’s history for context, and search_messages finds the thread where a decision actually happened.

On the write side, send_message posts into spaces and create_reaction handles the lightweight acknowledgments that keep an agent from feeling like a bulldozer in a human channel.

What you can ask

  • “Post the deploy summary to the releases space”
  • “Search engineering chat for the decision about the API rename last month”
  • “Pull the attachments from yesterday’s incident thread”

All 6 Google Chat MCP tools

Expand any tool for its full parameter list. Tiers control how many tools the server registers: start lean with --tool-tier core and step up to extended or complete when a workflow needs more.

get_messages Core Retrieve messages in a space. 3
ParameterDescription
space_id requiredThe ID of the space to retrieve messages from.
page_size Maximum number of messages to return.
order_by How to order the messages.
send_message Core Send messages to spaces, or edit a message already sent. 5
ParameterDescription
space_id requiredThe ID of the space to send the message to.
message_text requiredThe text content of the message.
thread_key Reply in a thread by app-defined key (creates thread if not found).
thread_name Reply in an existing thread by its resource name (e.g. spaces/X/threads/Y).
message_name Edit this message in place instead of sending a new one, given as `spaces/X/messages/Y`. The message must belong to `space_id`, and this cannot be combined with `thread_key` or `thread_name`.
search_messages Core Search chat history. 3
ParameterDescription
query Text to search for. If omitted, only `time_filter` is applied.
space_id Optional space ID to limit search to.
page_size Maximum number of results to return.
create_reaction Core Add emoji reactions to messages. 2
ParameterDescription
message_id requiredThe message resource name (e.g. spaces/X/messages/Y).
emoji_unicode requiredThe emoji character to react with (e.g. 👍).
list_spaces Extended List spaces and DMs. 2
ParameterDescription
page_size Maximum number of spaces to return.
space_type Filter by space type.
download_chat_attachment Extended Download chat attachments. 2
ParameterDescription
message_id requiredThe message resource name (e.g. spaces/X/messages/Y).
attachment_index Zero-based index of the attachment to download (default 0).

Every service in one reference: full API documentation →

OAuth scopes

The server requests only the scopes for the services you enable. In read-only mode it requests just the readonly variants and skips registering write tools entirely.

  • chat.messages.readonly read and search messages
  • chat.messages send messages and reactions
  • chat.spaces.readonly list spaces and DMs

Google Chat MCP questions

Does Google Chat work with a personal @gmail.com account?
No — this is a Google API limitation, not a server one. The Chat API is only available to Google Workspace accounts, so the Chat service requires a Workspace domain even though the other eleven services work fine on consumer accounts.
Can the assistant find old conversations, or only read recent ones?
search_messages queries chat history by keyword across spaces, and get_messages retrieves a specific space’s message log — between them, "find where we decided X" is a tool call, not an archaeology project.
What happens to files people shared in chat?
download_chat_attachment retrieves them, so an agent summarizing an incident thread can also collect the screenshots and logs that were posted into it.