gchat-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_spacesA | List every space, group chat and direct message in the Google Chat sidebar as { id, name }. Ids look like "space/AAAAbCdEfGh" or "dm/aBcDeFgAAAE" and are what the other tools take. |
| read_messagesA | Read the most recent top-level messages of a space or DM, oldest first. Each message has space, thread and id, author ("You" for the user), time (local, "YYYY-MM-DD HH:MM:SS") and text. Messages that start a thread also have replies (e.g. "3 replies, Last Reply 9:09 AM"); read those with read_thread. Larger limits scroll back through history and take longer. |
| read_threadA | Read every message in one thread, starting with the message that opened it. Each message has space, thread and id, author ("You" for the user), time (local, "YYYY-MM-DD HH:MM:SS") and text. |
| searchA | Search messages in all of the user's spaces and DMs, like the "Search chat" box. Returns the top ~20 matches in the order Chat shows them. Each message has space, thread and id, author ("You" for the user), time (local, "YYYY-MM-DD HH:MM:SS") and text. Each result also has space_name. Use read_thread for a result's full thread. Returns [] when nothing matches. |
| send_messageA | Send a message as the user, either as a new message in a space or DM or as a reply in a thread. It is posted immediately and other people see it, so confirm the text and conversation with the user first. |
| sign_inA | Open a visible Chrome window where the user signs in to their Google account. Call it when another tool reports that the user is not signed in. Waits up to 5 minutes and returns once Google Chat has loaded. |
| sign_outA | Delete the Google session stored on this computer (the server's Chrome profile). Nothing on this computer can act as the user until sign_in is called again. To also end the session on Google's side, the user can remove it in their Google Account's security settings. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
The tools map to clearly different operations: listing spaces, reading recent messages, reading a thread, global search, sending, and auth. The only potential confusion is between read_messages and search, since both return message objects, but the descriptions make the scope difference (one space vs. all spaces, recency vs. keyword) explicit.
Six of seven tools follow a clean verb_noun snake_case pattern (list_spaces, read_messages, read_thread, send_message, sign_in, sign_out). The lone outlier is the bare verb 'search', which is still unambiguous but breaks the pattern.
Seven tools is a tight, well-scoped surface for a chat client: read paths, one write path, and two auth helpers. Every tool earns its place with no filler.
The core loop (list spaces, read messages/threads, search, send) plus session management is covered, so agents can complete typical tasks. Gaps exist around write lifecycle: no edit or delete message, no reaction support, and no way to create/manage spaces.